ToCode
Kanalga Telegramโda oโtish
ืืืคืื ืงืฆืจืื ืืืชืื ืชืื ืืืช ืื ืื ืคืจืง
Ko'proq ko'rsatish1 418
Obunachilar
Ma'lumot yo'q24 soatlar
-17 kunlar
-430 kunlar
Postlar arxiv
1 417
ืืจืืจ ืื ื ืจืืื ืืช ืืืื
ืืืคืืฉ ืืื ืขื AI ืืื ืืืืื ืืขื ืืื ืช. ืื ืืฉื ื ืื ืื ื ืขืืฉื ื AI ืชืืื "ืจืืื ืืช ืืืื" ืืชืืื ืืฉ ืื ืจืขืืื ืืช ืืืคืืืื ืืื ืืคืชืืจ ืืช ืืืื ืืืืืชื ืื ืืืืืืืื ืฉืืื ืจืื. ืืื ื ืจืื ืืืืคืืฉ (ืืืกืืฃ ืืชืืงืื) ืฉืขืฉืื ื ืืืื:
ื ืืกืืื ืจืืฉืื - ืืฆื ืฉืืื
ืื ื ืืืื ืืืคืืฉืื ืืงืื ืืืฆื Ask ืื ืืื ื AI ืื ืืชืืื ืืืชืื ืชืืงืื ืื ืืืืืื ืฉืืื ืืืฆืื, ืืื ืืืขืื ืืืฆื Ask ืืื ืฉืืืืืื ืืกืคืง ื AI ืืช ืื ืืงืื ืืงืกื. ืื ืืืื ื Agent, ืืืฆื Ask ืืื ืื ืืืคืฉ ืืื. ืืื ืืขืืงืจ ืืฉืืชื ืืืืขืื ืืืคื ืืืขืื.
ืืืื ืฉืื ื ืืืคืฉืชื ืืื ืืขืื ืืืืื ืฉืืคืขืืื ืืคืชืืจื ืืฉืืชืืฃ ืคืชืื ืืช ืืกื ืืฉืืชืืฃ ืฉื ืืื ืงืืืื ืื ืคืืืกืืืง ืืืื ืืืฉ, ืืื ืงืืงืื ืืช ืืืื ืื ืืืื ืืฉืื ื ืืช ื URL ืฉืื ืืืฉืื ืืืืฆื. ืืชืืืชื ืืืฆื Ask ืขื ืงืื ื HTML ืฉื ืืกื ืืฉืืชืืฃ ืืงืืืืชื ืืืื ืจืขืืื ืืช ืื ืจืืืื ืืืื.
ื ืืกืืื ืฉื ื - ืืฆื ืกืืื
ืืืขืชื ืฉืืืื ืงืฉืืจ ื JavaScript ืื ืืงืืฉืืจ ืื ื ืคืชื ืืืื ืืืฉ ืืื ืฉืฆืจืื, ืืื ืขืืืื ืื ืืืขืชื ืืืคื ืืืืืง. ืื ืืกืืื ืืฉื ื ืืืจ ืืฉืืชื ืืืืื, ืืืงืฉืชื ืืืฆื Agent ืืืกืืืจ ืืช ืื ื JavaScript ืฉืืืื ืืืฉืคืืข ืขื ืืืื ืง ืืื ืืืกืคืชื ืืงืื ืืงืกื ืืช ืื ืงืืฆื ื JavaScript ืฉื ืืคืจืืืงื.
ืืื ืืชืืืื ืืืฉืื ืืืืฆืื ืืืืื ืืื ืื ืืืืข ืืชืืฆืื ืื ืืื ื.
ื ืืกืืื ืฉืืืฉื ืืคืืชืจืื - ืืืืงืช ื HTML ืืืืคืืคื
ืืคืืชืจืื ืื ืืกืืื ืืฉืืืฉื ืืื ืชืืฆืื ืฉื ืืืชืจ ืืื ืืฉืื. ืืฉืืื ืืืืืื ื AI ืฉืืฉ ืืขืื ื JavaScript ืืืืงืชื ืืช ื HTML ืฉื ืืขืืื ืืืืคืืคื ืืชืื ืืคืจืืืคื. ืชืจืื, ืืืจืชื ืื, ืื ืืื ืง ืชืงืื ืืืืจื ืืืขืื ืืืืืช ืืืืืช ื JavaScript.
ืืื ื AI ืจืื ืืช ืื ืฉืื ื ืื ืจืืืชื ืืืื ืง:
<a href="https://www.linkedin.com/shareArticle?mini=true&url=http://localhost:3000/blog/demo-post-4&title=demo+post+4&summary=this+is+a+my+fourth+post+.....Hello+World%21" target="_blank" class="p-2 text-gray-600 transition-colors rounded-full hover:text-white hover:bg-[#0A66C2]" title="Share on LinkedIn" data-turbo="false" onclick="saAutomatedLink(this, 'outbound');">
ืืืจื ื URL ืืืคืืข ืืืคืืื onclick ืฉืืคืขืื ืคืื ืงืฆืืืช JavaScript ืฉืืืืืืช ื SimpleAnalytics ืขื ืืืจืืข ืืืืฆื. ืื ืืืืฆืื ืขื ืืงืืฉืืจ ืืคื ื ืฉืืคืื ืงืฆืื ืืืืืจืช ืืืจืื ืจืขืื ืงืืจืื.
ืืคืฉืจ ืืืืืื ืื ืืื ื ืชืืงืื ืื ืืื ืืืงืจื ืฉืื ืืืืื ืจืฆืืชื ืืืืคืจื ื Simple Analytics ืื ื ืืฆืืชื ืืช ืืืืืื ืืช ืืืขืืจืชื ืืช ืืืชืจ ืืืขืจืืช ื Analytics ืฉื ืงืืืืืคืืืืจ (ืืื ืืืช ืืืืฉ ื ืืืื) ืืืชืงืื ืืืฉืืื ืืืงืื ืืื ืืืชืจ.1 417
ืืืคืืกืื ืืืงืื ื AI
ืืื ืกืคืง ืฉ AI ืืืื ืืืืข ืขื ืืืคืืกืื. ืืืืื ืืื ืืืืชืจืช ืืื ืืคืื ืงืฆืื ืืคืืืชืื:
def count_lines(fp: typing.IO):
ืืคืื ืงืฆืื ืืื:
def count_lines(fp: str):
ืืืื ืืจืืจ ืื ืืื ื ืืื ืืื ื AI ืืืืคืฉืจ ื AI ืืืืฆืจ ืืช ืืืืืืฉ ืื ืืื ืืื ืืืชืจืช. ืืืชืจ ืืื, ืืฉืื ื ืืืงืฉ ื Gemini ืืืฉืืื ืืืืืฉ ืฉื ืคืื ืงืฆืืืช ืคืืืชืื ืฉืื ืืืืื Type Hints ืืื ืืืกืืฃ ืื ืืืชื ืืืืืืชื.
ืืืงืืื ืื ื ืืืคืชืข ืืืืืช ืฉืื ืืฉืคืืช ืฉืื ืืืืืืช Type Hints ืื ื ืืงืื ืืืืืฉืื ืืืืื ืืืืขื ืืื ืืขืืืช ืืืคืืกืื. ื langlets ืืฉ ืื ืืืจ ื 2,500 ืฉืืจืืช JavaScript ืื AI ืืฆืืื ืืืชืืืื ืขื ืื ืืื ืืขืืืืช. ื Ruby ืฉื ืืคืจืืืงื ืืื ืื ืืืขื ืืื ืืขืืงืจ ืืฉืื ื ืืืชื ืงืื ืืืืื.
ืื ืฉืืืื ืืืชื ื ืืฉืืื - ืขื ืืื ืืฉืืืื ืืืคืืกืื ืืืงืื ืืขืืื ื AI? ืฉืืืชื ืืช ืงืืื ืืืื ืืขืื 3 ืืงืจืื ืืฉืืืื ืืื ืืขืจืืช ืืืคืืกืื ืืื ืืืฉ ืงืจืืืืช ืืืื ืช ืืงืื:
1. ืงืื ืฉืืคืืชื ืืืืจื ืฉื ืื ืืกืื ืืจืืื ืืฉืชื ืื.
2. ืืืืคืช ืืคืชืืื ืืฆืืืช (ืฉืืืจืืช ืืฉืื ืื ืืกืื ืืจืืื).
3. ืืื ืืืจืฆืื ืืื ืืขืจืืืช.
ืืืืืื ืืืจืืช ืืืืืื ืืืฉื ื ืืืืจืช ืืื ืืฉืื ืืืื ืงืื ืื: ืื ืืชื ืืืืืื ืืฉืืืจ ืขื ืกืื ืืจื ืืืื ืฉื ืงืื ืืืืื ืื ืืขืฉืืช Refactor ืืขืชืื ืงืจืืืืช (ืื ืงื ืืื ืคืขื ืขื ื AI), ืืืืืืง ืชืืขืื ืืกืืืจ ืืืืืงืืช ืืชืืงืฃ ืื ื AI ืืืื ืืืื ืงื ืืขืืื ืขื ืืคืจืืืงื ืฉืืื ืืืื ืื ืืฆืืจื Strong Types. ืืชื ืืืืื ืื ืืืชืืื ืืช ืืงืื ืขืฆืื ืืืื ืื ืืื ืื ืืืื ืืขืืืืช ืืืืคืืกืื.1 417
ืืฉืืืข ืืืืืื ืจ - ืฉืจืชื MCP ืืืืืืจื ื Copilot
ืืฉืืืขืืช ืืืืจืื ืื ืขืืื ื ืขื ืคืจืืืคืืื ืืจืืื ื ืืื ืืฉืื ืื ืกื ื ืืื ืืช ืืคืจืืืคื ืืืื ืืื ืืช ืืื ืืื ืคืจืืืคืืื ืฉืขืืฉืื ืืืจืื ืืืืืื.
ืืื ืืืืืื ืืื ืืืืื ืฉื AI ืืืื ืืื ืืืืืืช ืืืืจ ืืืชื ืืืืจืื ืืขืืื. ืืืขืฉื ืืฉืื ืื ื ืืฉืชืืฉืื ื AI IDE ืืื ืงืืคืืืืื ืื ืงืจืกืจ ืื ืื ื ืืืจ ืืืืืจืื ืืืืจืื ืืกืืืืื ืืขืืื: ื AI ืืืื ืืงืจืื ืืืืชืื ืงืืฆืื ืืืคืขืืื ืืืคืขืื ืคืงืืืืช. ืฉืจืชื MCP ืื ืืืจื ืืืืกืืฃ "ืืืืืืช" ื ืืกืคืืช ืืืืชื AI IDE. ืื ืฉืจืช MCP ืฉื ืชืงืื ืืืคืฉืจ ื AI ืืืฉืชืืฉ ืืืื ื ืืกืฃ ืืื ืืขื ืืช ืขื ืคืจืืืคื ืฉืื ื.
ืืืืืื ืฉืจืช MCP ืฉื ืืืืืื ืืืคืฉืจ ื AI ืืืฉืช ืืืืืจ ืืืืืืื ืฉื ืืคืจืืืงื ืืืืืื ืืืื Issues ืคืชืืืื ืืฉ ืื ืฉื ืืื ืืืงืฉ ืืื ื ืืชืงื ืืื ืืกืืื ืฉืืืจ ืืคืืจื ืืืืชื Issue. ืฉืจืช MCP ืฉื Playwright ืืืคืฉืจ ื AI ืืืจืืฅ ืืคืืคื ืืืืฆืข ืคืขืืืืช ืืืฃ ืืื ืืจื ื, ืฉืจืช MCP ืฉื ืื ืืข ืืืคืืฉ ืืืคืฉืจ ื AI ืืืคืฉ ืืืื ืืจื ื ื MCP ืฉื ืืกืืก ื ืชืื ืื ืืืคืฉืจ ื AI ืืืื ืืืกืืก ืื ืชืื ืื ืืื ืืืืื ืืืื ืืืืข ืืจื ืืืื.
ืืืื ืืืืฉื ืืืืงืจ ื ืขืืืจ ืขื ืืกืคืจ ืฉืจืชื MCP, ื ืชืงืื ืืืชื ืืชืื ื Copilot ืื ืจืื ืืืืื ืืฆืืื ืื ืืืืืื ืืขืืืจ ืื ื ืืงืื ืืืชืจ ืืืืจื ื ืืืืืืืชื.
ืืื ืชืืื ืืืคืืฉ ืืืื ื ืืื ืืงืืื, ืืชืงืืื ืืืื ืืืืฉื ืืขืฉืจ ืืืืงืจ ืืืฉืืื ืืืฆืืจืฃ ืฆืจืื ืจืง ืืืชืื ืืช ืืืืื ืืืืคืก ืืงืืฉืืจ ืืืื ืง ืืืื ืืืฉืื ืืืืื ืืชืืื:
https://tocode.ravpage.co.il/tocodeai
ืืืืจืืฆืื ืฉืืื ืืื ืฉืจืืฆืื ืืืื ืืืื ืื ืืืืื ืื ืืงืจืื ืื ืืจืขื ื ืคืืกื ืฉืืืจ ืืชืืชื ืขื MCP ืืืื ืืืชืืื ืฉืจืช MCP ืืคืืืชืื ืืงืืฉืืจ ืืื:
https://www.tocode.co.il/blog/2025-04-mcp-intro
ื ืชืจืื ืืืืืฉื ืืืืงืจ.
1 417
className="px-6 py-3 rounded-xl text-white font-bold bg-gradient-to-br from-red-400 to-pink-500 hover:scale-105 active:scale-95 transition transform duration-200 shadow-lg"
>
- Decrease
</button>
<button
onClick={reset}
className="px-6 py-3 rounded-xl text-white font-bold bg-gradient-to-br from-yellow-300 to-orange-400 hover:scale-105 active:scale-95 transition transform duration-200 shadow-lg"
>
Reset
</button>
<button
onClick={increment}
className="px-6 py-3 rounded-xl text-white font-bold bg-gradient-to-br from-green-400 to-blue-500 hover:scale-105 active:scale-95 transition transform duration-200 shadow-lg"
>
+ Increase
</button>
</div>
</div>
</div>
);
}
export { useCounter };
ืืขืืฉืื ื Counter ืืขืืื ืืฉื ื ืืืื ืืืืืช ืืจืื ืืืชืจ ืืื ืืืืืกืื ืื ืขืชืืื ื ืื ืื ืฉื ืืืจ ืืขืืืื ืืืืืืงื ืื ืชืฉืชื ื.
ืืื ื ืื ืืชืืืจ ืืื ืืขื ืฉื ื AI ืืืืืช ืชืื ืืืช ืืืฉืืคื ืืืชื. ืืืงืื ืฉืืืื ืื ืงืืืฅ CSS ืืืชืจ ืืื HTML ืืืฉ ืืืืืืืืช ืืงืื ืืช ืืขืืฆืื ืืืืชื ืงืืืฅ CSS, ืขืืฉืื ืืฉ ืื ืงืืืคืื ื ืื ืืืฉืืื ืืืฉืชืืฉ ืื ืืืฃ ืืืจ ืืืชืจ ืื ืืืชืจ ืืืจ ืื ื ืขืืืจ ืืจื ื AI
Create a \HomepageCounter\ component based on the existing \AboutpageCounter\ but matching the design to the home page.1 417
ืืจืืืจืื ืขื ืืืืืืืื ื ืืขืืฆืื ืืชืื ืงืืืคืื ื ืืืช
ืืื ืืจืขืืื ืืช ืฉืืื ืคืืคืืืจืืื ืืฉืืชืืืชื ืืืืื HTML ืืื ืืืคืฉืจืืช ืืืืืืฃ ืขืืฆืื ืืืืืืื ืืืืฆืขืืช ืฉืื ืื CSS. ืื ืืืฉืื ืืืืืช ืืืชื ื ืืชืื ืืืืคืืื ืฉื CSS3 ืืื ืืืืืืืื ืืืฉืื ืืืชืจ ืฉื CSS, ืืืื ืืืืืืื ืืืืืืืื ืฉื ืคืืงืกืืืงืก ืืืจืื.
ืืืืฉื ืื ืืืชื ืฉืืคืฉืจ ืืืื ืืืชืื ืงืืฆื CSS ืฉืื ืื ืืื ืืืืฆืจ ืขืืฆืืืื ืืืื ืฉืื ืื ืืืืชื ืืขืจืืช. ืืฉืชืืฉื ื ื JavaScript ืืื ืืฉื ืืช ืงืืืกืื, ืืื ืืืืจืช ืืขืืฆืื ืขืฆืื ืฉืืชืืืื ืืงืืืกืื ืืื ืืืืขื ืืงืืืฅ CSS ืฉืืืืจ ืืืืืช ืงื ืืชืืืืงื ืืืืืคื.
ืื ื ืืืื ืฉืื ืื ืืืฉ ืขืื. ืืืจืื ืืชืจืื ืฉืื ืื ืขืืฆืื ืืจืฉ ืื ืฉืื ืื ืืืื ื ื HTML ืืจืืื ื ืืจืื ืืขืงืคืื ืืื ืืืชืื ืืช ืืืชื ืงืืข ืืขืืื ืคืขืืืื ื HTML ืืืืืืื ืืชืื CSS ืืืื ืืื ืืืฆืื. ืืืื ืืืช ืืื ืืฉืื ืงืกืื ืืืืื ืืื ืฉืืคืฉืจ ืืืื ืืื ืืช Theme ืฉืื ื ืืืขืจืืช ืจืง ืืืืฆืขืืช ืงืืืฅ CSS.
ืืืื ืขื ืจืืืงื ืืืืืืืืื ื ื ืจืื ืฉืืจืงื ื ืืช ืืืืื ืืื ืืืืืืื. ืื ื ืงืืืคืื ื ืืช ืืื ื ืืืืฆืืช ืืืืืื ืขืืื:
import React, { useState } from "react";
export default function ShinyCounter() {
const [count, setCount] = useState(0);
return (
<div className="min-h-screen flex items-center justify-center bg-gradient-to-r from-pink-400 via-yellow-300 to-purple-500">
<div className="bg-white bg-opacity-20 backdrop-blur-lg border border-white border-opacity-30 rounded-2xl p-10 shadow-2xl text-center">
<h1 className="text-5xl font-extrabold text-white drop-shadow-md mb-6">
Shiny Counter
</h1>
<div className="text-7xl font-bold text-white drop-shadow-lg mb-6">
{count}
</div>
<div className="flex gap-4 justify-center">
<button
onClick={() => setCount(count - 1)}
className="px-6 py-3 rounded-xl text-white font-bold bg-gradient-to-br from-red-400 to-pink-500 hover:scale-105 active:scale-95 transition transform duration-200 shadow-lg"
>
- Decrease
</button>
<button
onClick={() => setCount(0)}
className="px-6 py-3 rounded-xl text-white font-bold bg-gradient-to-br from-yellow-300 to-orange-400 hover:scale-105 active:scale-95 transition transform duration-200 shadow-lg"
>
Reset
</button>
<button
onClick={() => setCount(count + 1)}
className="px-6 py-3 rounded-xl text-white font-bold bg-gradient-to-br from-green-400 to-blue-500 hover:scale-105 active:scale-95 transition transform duration-200 shadow-lg"
>
+ Increase
</button>
</div>
</div>
</div>
);
}
ืืื ืืื ืืฉื ืืช ืื ืืช ื CSS ืืื ืืงืื ืขืืฆืื ืืืจ ืื ืืืฉืชืืฉ ืื ืืขืืื ืืืจ ืืฉืืื ืชืงืื ืืช ืืขืืฆืื ืืืขืืื. ืืืช ืืงืืืคืื ื ืื. ืื ืืขืืฆืื ืฉืื. Take it or leave it.
ืืืืฉื ืืืื ืจืืื ืืช ื HTML, ื CSS ืื JavaScript ืืชืืจ ืืืืื ืืืช. ืืฉืืื ืืฉื ืืช ืืช ืืขืืฆืื ืขืืื ื ืืืชืื ืงืืืคืื ื ืื ืืืจืช. ืื ืืืง ืืืืฉืืืืช ืฉื ืืืฆืืช ืืืืืืงื ื Hook, ืืืืืจ ืืกืืคืืจ ืฉื ื Counter ื ืืื ืืืชืื:
import React from "react";
function useCounter(initialValue = 0) {
const [count, setCount] = React.useState(initialValue);
const increment = () => setCount(count + 1);
const decrement = () => setCount(count - 1);
const reset = () => setCount(initialValue);
return { count, increment, decrement, reset };
}
export default function ShinyCounter() {
const { count, increment, decrement, reset } = useCounter();
return (
<div className="min-h-screen flex items-center justify-center bg-gradient-to-r from-pink-400 via-yellow-300 to-purple-500">
<div className="bg-white bg-opacity-20 backdrop-blur-lg border border-white border-opacity-30 rounded-2xl p-10 shadow-2xl text-center">
<h1 className="text-5xl font-extrabold text-white drop-shadow-md mb-6">
Shiny Counter
</h1>
<div className="text-7xl font-bold text-white drop-shadow-lg mb-6">
{count}
</div>
<div className="flex gap-4 justify-center">
<button
onClick={decrement}1 417
className="px-6 py-3 rounded-xl text-white font-bold bg-gradient-to-br from-red-400 to-pink-500 hover:scale-105 active:scale-95 transition transform duration-200 shadow-lg"
>
- Decrease
</button>
<button
onClick={reset}
className="px-6 py-3 rounded-xl text-white font-bold bg-gradient-to-br from-yellow-300 to-orange-400 hover:scale-105 active:scale-95 transition transform duration-200 shadow-lg"
>
Reset
</button>
<button
onClick={increment}
className="px-6 py-3 rounded-xl text-white font-bold bg-gradient-to-br from-green-400 to-blue-500 hover:scale-105 active:scale-95 transition transform duration-200 shadow-lg"
>
+ Increase
</button>
</div>
</div>
</div>
);
}
export { useCounter };
ืืขืืฉืื ื Counter ืืขืืื ืืฉื ื ืืืื ืืืืืช ืืจืื ืืืชืจ ืืื ืืืืืกืื ืื ืขืชืืื ื ืื ืื ืฉื ืืืจ ืืขืืืื ืืืืืืงื ืื ืชืฉืชื ื.
ืืื ื ืื ืืชืืืจ ืืื ืืขื ืฉื ื AI ืืืืืช ืชืื ืืืช ืืืฉืืคื ืืืชื. ืืืงืื ืฉืืืื ืื ืงืืืฅ CSS ืืืชืจ ืืื HTML ืืืฉ ืืืืืืืืช ืืงืื ืืช ืืขืืฆืื ืืืืชื ืงืืืฅ CSS, ืขืืฉืื ืืฉ ืื ืงืืืคืื ื ืื ืืืฉืืื ืืืฉืชืืฉ ืื ืืืฃ ืืืจ ืืืชืจ ืื ืืืชืจ ืืืจ ืื ื ืขืืืจ ืืจื ื AI
Create a \HomepageCounter\ component based on the existing \AboutpageCounter\ but matching the design to the home page.1 417
ืืจืืืจืื ืขื ืืืืืืืื ื ืืขืืฆืื ืืชืื ืงืืืคืื ื ืืืช
ืืื ืืจืขืืื ืืช ืฉืืื ืคืืคืืืจืืื ืืฉืืชืืืชื ืืืืื HTML ืืื ืืืคืฉืจืืช ืืืืืืฃ ืขืืฆืื ืืืืืืื ืืืืฆืขืืช ืฉืื ืื CSS. ืื ืืืฉืื ืืืืืช ืืืชื ื ืืชืื ืืืืคืืื ืฉื CSS3 ืืื ืืืืืืืื ืืืฉืื ืืืชืจ ืฉื CSS, ืืืื ืืืืืืื ืืืืืืืื ืฉื ืคืืงืกืืืงืก ืืืจืื.
ืืืืฉื ืื ืืืชื ืฉืืคืฉืจ ืืืื ืืืชืื ืงืืฆื CSS ืฉืื ืื ืืื ืืืืฆืจ ืขืืฆืืืื ืืืื ืฉืื ืื ืืืืชื ืืขืจืืช. ืืฉืชืืฉื ื ื JavaScript ืืื ืืฉื ืืช ืงืืืกืื, ืืื ืืืืจืช ืืขืืฆืื ืขืฆืื ืฉืืชืืืื ืืงืืืกืื ืืื ืืืืขื ืืงืืืฅ CSS ืฉืืืืจ ืืืืืช ืงื ืืชืืืืงื ืืืืืคื.
ืื ื ืืืื ืฉืื ืื ืืืฉ ืขืื. ืืืจืื ืืชืจืื ืฉืื ืื ืขืืฆืื ืืจืฉ ืื ืฉืื ืื ืืืื ื ื HTML ืืจืืื ื ืืจืื ืืขืงืคืื ืืื ืืืชืื ืืช ืืืชื ืงืืข ืืขืืื ืคืขืืืื ื HTML ืืืืืืื ืืชืื CSS ืืืื ืืื ืืืฆืื. ืืืื ืืืช ืืื ืืฉืื ืงืกืื ืืืืื ืืื ืฉืืคืฉืจ ืืืื ืืื ืืช Theme ืฉืื ื ืืืขืจืืช ืจืง ืืืืฆืขืืช ืงืืืฅ CSS.
ืืืื ืขื ืจืืืงื ืืืืืืืืื ื ื ืจืื ืฉืืจืงื ื ืืช ืืืืื ืืื ืืืืืืื. ืื ื ืงืืืคืื ื ืืช ืืื ื ืืืืฆืืช ืืืืืื ืขืืื:
import React, { useState } from "react";
export default function ShinyCounter() {
const [count, setCount] = useState(0);
return (
<div className="min-h-screen flex items-center justify-center bg-gradient-to-r from-pink-400 via-yellow-300 to-purple-500">
<div className="bg-white bg-opacity-20 backdrop-blur-lg border border-white border-opacity-30 rounded-2xl p-10 shadow-2xl text-center">
<h1 className="text-5xl font-extrabold text-white drop-shadow-md mb-6">
Shiny Counter
</h1>
<div className="text-7xl font-bold text-white drop-shadow-lg mb-6">
{count}
</div>
<div className="flex gap-4 justify-center">
<button
onClick={() => setCount(count - 1)}
className="px-6 py-3 rounded-xl text-white font-bold bg-gradient-to-br from-red-400 to-pink-500 hover:scale-105 active:scale-95 transition transform duration-200 shadow-lg"
>
- Decrease
</button>
<button
onClick={() => setCount(0)}
className="px-6 py-3 rounded-xl text-white font-bold bg-gradient-to-br from-yellow-300 to-orange-400 hover:scale-105 active:scale-95 transition transform duration-200 shadow-lg"
>
Reset
</button>
<button
onClick={() => setCount(count + 1)}
className="px-6 py-3 rounded-xl text-white font-bold bg-gradient-to-br from-green-400 to-blue-500 hover:scale-105 active:scale-95 transition transform duration-200 shadow-lg"
>
+ Increase
</button>
</div>
</div>
</div>
);
}
ืืื ืืื ืืฉื ืืช ืื ืืช ื CSS ืืื ืืงืื ืขืืฆืื ืืืจ ืื ืืืฉืชืืฉ ืื ืืขืืื ืืืจ ืืฉืืื ืชืงืื ืืช ืืขืืฆืื ืืืขืืื. ืืืช ืืงืืืคืื ื ืื. ืื ืืขืืฆืื ืฉืื. Take it or leave it.
ืืืืฉื ืืืื ืจืืื ืืช ื HTML, ื CSS ืื JavaScript ืืชืืจ ืืืืื ืืืช. ืืฉืืื ืืฉื ืืช ืืช ืืขืืฆืื ืขืืื ื ืืืชืื ืงืืืคืื ื ืื ืืืจืช. ืื ืืืง ืืืืฉืืืืช ืฉื ืืืฆืืช ืืืืืืงื ื Hook, ืืืืืจ ืืกืืคืืจ ืฉื ื Counter ื ืืื ืืืชืื:
import React from "react";
function useCounter(initialValue = 0) {
const [count, setCount] = React.useState(initialValue);
const increment = () => setCount(count + 1);
const decrement = () => setCount(count - 1);
const reset = () => setCount(initialValue);
return { count, increment, decrement, reset };
}
export default function ShinyCounter() {
const { count, increment, decrement, reset } = useCounter();
return (
<div className="min-h-screen flex items-center justify-center bg-gradient-to-r from-pink-400 via-yellow-300 to-purple-500">
<div className="bg-white bg-opacity-20 backdrop-blur-lg border border-white border-opacity-30 rounded-2xl p-10 shadow-2xl text-center">
<h1 className="text-5xl font-extrabold text-white drop-shadow-md mb-6">
Shiny Counter
</h1>
<div className="text-7xl font-bold text-white drop-shadow-lg mb-6">
{count}
</div>
<div className="flex gap-4 justify-center">
<button
onClick={decrement}1 417
3. ืืฆืืจืช ืืคื ืคืขืืืืช ืืืฉืื - ืื ืชืื ืกื ืืืื ืืงืืจืกืื ืืืื ืืืืก ืชืจืื ืฉืื ืืืจืืืื ืืืคื ืคืขืืืืืืช ืืกืืืื ืฉืื ืื ืืื ืืชืืืช ืืฉืคื ืืชืจืืื, ืืจืืืช ืืฉืคื ืืื ืง ืืืืื, ืืชืืืช ืืืืื ืืชืจืืืืื ืืขืื. ืืขืืจ ืืฉืงืขืชื ืืจืื ืืืฉืื ืืื ืืืช ืืืกืืจืงืฆืืืช ืืื ืฉืืคืฉืจ ืืืื ืืื ืืช "ืืคื ืคืขืืืืช" ืืืฉืื ืืงืืืช. ืื ืืื ืืืชืืจ ืื ืืฆื ืืื ืฆืจืื ืงืืืคืื ื ืืืช ืืฉืืชืคืืช ืฉื ืจืืืช ืืืื (Design System ืืืื) ืืื ืืฆื ืฉื ื ืืืชื ืืืืช ืฉื ืื ืืกื ืืืืื ืืืืืช ืืืื ืฉืื ื. ืืขืืจืช AI ืื ื ืืืื ืืืื ืืืฆืืจ ืืคื ืคืขืืืืืืช ืืืฉืื ืืคืจืืืคื ืืื ืืืืขื ืชืืื ืืงืื ืชืืฆืื ืืืื ืืืคืจืืืคื ืืจืืฉืื. ืื ืื ืฉืฆืจืื ืื ืืืืืืง ืืช ืืงืื ืฉื 3-4 ืืคื ืคืขืืืืืืช ืืืื ื AI ืืืื ืืช ืืชืื ืืช, ืื ืืฉืืชืฃ, ืืคื ืืืื ืกืื ืืจืืื ืืืชืืื ืืช ืืงืื ืืืืืคื ืืืืข ืืืืืข. ืื ืืื ืืฃ ืืฉ ืืช ืืืชืืจืื ืฉืื ืืื ืืืชืจืื ืฉืื ื ืืฆืืื ืืืชืืืช ืืฃ ืคืขืืืืช ืืืฉ ืืงืื ืืกืืก ืจืืฉืื ื ืฉื ืจืื ืืขืืฆื ืืคื ืืืื ื ืฉื ืืืขืจืืช ืืื ืื ื ืืืื ืืืชืืงื ื JavaScript ืื CSS ืฉื ืืืชื ืืฃ ืคืขืืืืช ืืื ืืกืืจ ืืืชื.
ืฉืืจื ืชืืชืื ื ืืขืืืื ืขื AI ืฉืื ื ืืื ืืืืจืื ืืงืฉืื ืืืืจืื ืืงืืื:
1. ืืืืจืื ืืงืฉืื, ืืื ืฉืื ืืื ืืจืืืืงืืืจื, ื AI ืืืคืฉืจ ืื ืืืฉืงืืข ืืืชืจ ืืื ืืืฉืืื ืืืืืื ืืืคื ืื ื ืจืืฆื ืื ืืืง ืืคืจืืืงื. ืืื ืืืคืฉืจ ืื ืืฉื ืืช ืืช ืืขืชื, ืื ืกืืช ืืื ืื ืฉืื ืื ืืืฉืืืืช ืืื ืืืช ืืคืจืืืคื ืืืชืืื ืืช ืื ืืืง ืืชืืืื ืืืื ื ืืืืฉืืื.
2. ืืืืจืื ืืงืืื, ืืืขืืงืจ ืคืืชืื ืคืืฆ'ืจืื ืืชืื ืขืืฆืื ืืืจืืืืงืืืจื ืงืืืืช, ื AI ืืืื ืืจืืฅ ืืืื ืืืจ ืืืชืช ืืืืช ืืืืคื ืฉืืจืืช ืงืื ืฉืื ืฉืืืจืื ืฉืื ืืืจ. ืื ืืฉืืฉ ืืื ืืืืื ืืืชื ืืืืื ืชืืืืื ืืชืื ืคืื ืงืฆืื ืื ืงืืืก ืืืื ืืื ืืฉืคืืขืื ืขื ืืืื ื ืฉื ืื ืืืขืจืืช.
ืืื ืช ืืืืื ืืื ืคืืฆ'ืจืื ืงืฉืื ืืงืืื ืืื ืืื ืืืคืชืืืช ืืขืืืื ืืขืืื ืขื AI ืืืืืืฉ ืคืืฆ'ืจืื ืืืจ ืืื ืืคืืืข ืืืืืืช.
1 417
ืืืจืื ืฉ AI ืขืฉื ืืืฉ ืืื
ืืืืืื ืจ ืืชืืื ืืืืจื ื ืขื ืืื ืืืฉืช ืืฉืื ืืื ืืจืืืืงืืืจื ืืืืืื ืขื AI. ืจืืื ื ืืื ืืฉืื ืืืฉืงืืข ืืื ืืืื ืืช ืชืืื ืืช ืืจืืฉ ืืขืืจืช ืืฆื Ask ืฉื ื AI, ืืื ืืฉืคืจืื ืืช ืืชืืื ืืช ืืขืฆืื ื ืื ืืขืืจืช ืจืขืืื ืืช ืฉื ืืืชื AI ืืืื ืืกืืฃ ืืืคืืื ืืืชื ืืชืืื ืืช ืขืืืื ืืกืืืจืช, ืงืืืฅ ืืจืืืืงืืืจื ืืืืืืฉ.
ืืงืจืืช ืกืืฃ ืืืืืื ืจ ืขืืชื ืฉืืื ืืฉืืื - ืื ืื ืื ื "ืืืืืืื" ืื ืื ืืจืื ืืื ืืืืืจืฆืื ืขื ืืคืจืืืคืืื ืืืืืฉืื ืขื ืื ืคืจื ืงืื, ืืืื ืืื ืขืืืฃ ืืืชืื ืืช ืืฉืื ืื ืืื ืืืจ ืืื ืืช?
ืืืง ืืืฉืื ืืืื ืืืขืจืืช ืื ืืืืช ืฉืื ืืืื ืงืฉืื. ืื ืืืจืฉืื ืืืืืืช ืืื ืืืื ืืืืืืช ืืขืืืืืช ืืืฉืืช ื ืืกืืฃ ืืืกืืก ืื ืชืื ืื, ืืืคื ืื ืืืง ืืงืื ืืฉื, ืืืืื ืืงืจื ืงืฆื ื ืจืฆื ืืืคื ืืืืื ืืงืจืื ืคืฉืื ืื ืืกืคืืง ืืฉืืืื ืืืืืคืื ืืื ืจืง ืืกืื ืืช ืืงืื ืืืชืจ ืืื ืืฉืื ืืฆืืจื. ืืืื ืืืงืื ืืงืื ืื ืื ื ืจืืฆืื ืืื ืืช ืืฆืืจื ืฉืืืื ืงื ืืฉื ืืช ืืขืชืื ืืืืื ืืืจืื ืื ืื ื ืืืืืื ืฉืืืฉืืจื ืืืชื ื ืืชืงืืคื ืืจืืื. ืืืืืืช ืื ืื ืืฆื ืืืืง ืฉื ื AI. ืืื ืืืื ืืขืืืจ ืื ื ืืจืืืช ืืช ืืืฉืืืืช ืฉื ืื ืืืืื, ืืื ืืืขื ืืืฃ ืืฆื ืืขื ืืื ืื ืืืืชื ื ืืชื ืื ืืืืืื.
ืจืื ืืฉืื ืืืื ืืืขืจืืช ืื ืื ืืืื.
ืจืื ืืฉืื ืืืื ืืืขืจืืช ืื ืฉืื ืืืื ืืืฉืืืื, ืฉืื ืืืื ืฉืืชืืกืกืื ืขื ืืืฆื ืืงืืื ืืืจืืืืื ืืืชื: ืคืืชืื ืคืืฆ'ืจ ืฉืื ืืฉื ื ืืช ืืื ืฉืืืืืข ืฉืืืจ ืืืกืืก ืื ืชืื ืื, ืชืืงืื ืืขืืืช ืืืฆืืขืื ืฉืืชืคืจืกืช ืขื ืขืฉืจืืช ืื ืืืืช ืงืืฆืื, ืืชืงื ืช ืกืคืจืืืช JavaScript ืืืฉื ืืขืืืื ืืงืื ืืื ืืืคืืืงืฆืื ืืืฉืชืืฉ ืื.
ืื ืื ืืื ืืืกืืจืช ืื ืืฉืืื ืฉื ืืืืืื ืจ (ืืืื ืืชืืื ืืืคืืฉ ืืืจ), ืืื ืื ื ืืื ืคืืฆ'ืจืื ืฉืื ืืชื ื langlets ืฉืืืืืช ื AI ืืงืื ืืจืื ืืจืื ืคืืืช ืืื ืืื ืฉืืื ืฆืจืืืื ืืงืืช.
1. ืืกื ืืืช ืฉืืฆืื ืืจืื ืฉื ืงืืจืกืื - ืืฃ ืืืืช ืฉื ืืื ืืืืก ืืืจืื ืืืจืื ืฉื ืื ืืงืืจืกืื ืืืขืจืืช. ืื ืืื ืืคืจืืืคื ืืฉืืืื:
Implement the courses#index page based on the attached HTML file, matching the design to our system #file:show.html.erb
List of courses in top row is taken from current_user.recommended_for_me. If the list is empty or user is not signed in do not show the first row
List of learning path in the second row is LearningPath.all
Use swiper js library to handle swiping (it's already installed in the project). Add a stimulus controller to handle the JS
When writing JavaScript use stimulus best practice that is data-target for element querying and data-action for events
Provide only filter by language (use course's language) for this one
Use our existing site's top bar for user authentication. Ignore the top bar in the provided HTML
Use only tailwind native classes
Design to integrate:
...
ืื ืคืจืืืคื ืืจืื ืืื ืืืืงืชื ืืื ืืช ืืืื ืื ืกืืืืชื ืืืชื ืืืฉ ืืืืืืช HTML/CSS ืฉืขืืฆืืชื ืขื Gemini ืืืกื ืืืช ืืงืืื, ืืื ืฉืืื ืื ืืขืืงืจื ืืืืจืื - ืืคืจืืืคื ืืืงื ืืฃ ืงืื ืกืคื ืืขืืฆืื ืฉืื ื ืืืืจื ืืืืขืจืืช ืฉืื ืืืืืืืืืช ืืชืืื ืืช ืืขืืฆืื ืืฉืืจ ืืืคืื ืืืขืจืืช, ืืื ืืฉืื ืกืคืจืืืช ืฆื-ืืงืื ืืฉื swiper ืืืืกื ืื ืืืคืฉ ืืช ื API ืฉืื. ืืคืจืืืคื ืืฆืจ ืงืืืฅ HTML, ืงืืืฅ JavaScript ืืฉืื ื ืืื ืงืืฆื ืจืืื, ืฉืื ืื ืฉื ืืื ืืืืช ืฉืืจืืช ืกื ืืื. ืืืจื ืืืจืฆื ืขืืืื ืืื ืชืงืืืช ืืืืืชื ืฆืจืื ืืืืฉืื ืขืื ืืื ืืืืจืฆืืืช ืฉื ืชืืงืื ืื ืืฉืืคืืจืื ืืื ืืืจืืืืงืืืจื ืฉื ืืคืืชืจืื ืืืชื ื ืืื ื ืืืืคืขืื ืืจืืฉืื ื ืืืื ืฉืืืจืื ืืฉืชืืื ืืืื ื ืืคืจืืืงื ืืงืืื.
2. ืืชืืืช ืขืืฆืื ืฉื ืื ืืคื ืืืฉืชืืฉืื ืืืื ืืืช - ืืชืืืจืืช, ืจืืฉืื ืืฉืืืชื ืกืืกืื ืืฆืืืื ืืืคืก ืฉื ืจืื ืืืื ืืืื. ืืฉืืฉื ืื ืืฉืื ืืืื ืืื ืฆืจืื ืืฉื ืืช ืืืชื ืื ืืืคืื ืืืืจืื. ืืคืจืืืงื ืฉืื ืื ืจืฆืืชื ืืืชืื ืืืกืืจืงืฆืื ืืืืง ืืืฉืืชืฃ ืื ืืฉ ืกืืืื ืืื ืฉืืจืฆื ืืฉื ืืช ืืืง ืืืืกืืื ืืื ืืืฉืคืืข ืขื ืืืืจืื. ื AI ืืชืืืื ืขื ืืฉืืคืื ืืฆืืจื ืืืืืื. ืืจืืข ืฉืื ื ืืืงืฉ ืฉืื ืื ืืืืคืก ืืืืืืง ื Context ืฉื ืฉืืืฉืช ืืืคืื ืืื ืืฉื ื ืืืื ืืืช ืืช ืฉืืืฉืชื.1 417
ืืืคืฉ ืืคืขืืื ืฉื ืืืืืก ืืืืืืืื
ืืืืชื ื ืืชื ืื ืืืืืก ืืืืืืื ืืงืืืข ืืื ืฆืจืื ืืืืืข?
ืื ืืืื ืฉืื ืืืื ืืืกืืื? ืืืืชื ื ืืชื ืื ืืืืืก ืืืืืืื ืืืืืก ืืช ืืืืืก ืืืจื ืืืจืช ืื ืืื ืืืฉื ืฉืฉื ืืืชืจ ืืืื ืื ืฉืืฉ ื ืืฃ ืืืชืจ ืืคื?
ืืืืืก ืืืืงืช ืืชืคืงืืืื ืืื ืืืืืก ืืื ืืฉื ืืืืืืืื ืืจืืจื ืืืืื ืืืืืื Industry Standard. ืืฆื ืืชืื ืชืื ืืื ืชืืื ืืกืืคืืจ ืืืชืจ ืืืจืื. ืืื ืื ื ื ืืกืขืื, ืืื ืืขื ืืืืืจ ืืจืืฉ ืืจืื ืืืื ืื ืื ื ืื ืืืืืื ืืขืฆืื ื ืื ืืืกืืื ืืืื ืืืืชืจ. ืื ืืฉ ืื ื ืืืืก ืืืืืืื ืืฆืืจืชื ืฉืืืื ืืืฆืข ืื ืืฉืืื ืฉื ืืชื ืื, ืืืจืืช ืฉืื ืชืืื ืขื ืืฆื ืืืื ืืืืชืจ.
ืืฉื ืื ืืงืจืืืืช ืื ืื ื ืืืืืื ืืื ืืช ืืขืจืืช ืืืกืื ืขื ืืืืืก ืื ืืืืืกืื ืืืืืืืืืื ืฉืื ื. ืืืงื ืืขืืื ืืฆืืจื ืืืืื ืืืืช ืืืืจื ืืชืืจ "ืืืจืื ืืฆืืืช" ืืืกืืจืช ืืืืืืช ืืืขืืื ืฉื ืฆืื ืืจืืฉ. ืืืงื ืืขืืื ืืชื ื ืืืชืจ ืืงืจืื, ืืชืจืืื ืืช ืืืืฉืืืช ืฉืื ื ืืงืื ืืืืคืฉืจื ืื ื ืืืงืืจ ืจืขืืื ืืช ืืืจ ืืืชืจ ืืืืชืงืื ืืคืืชืื ืืืจ ืืืชืจ. ืืืจ ืืืื ืื ืื ื ื ืืืงืื ืืืฆืื ืืช ืืืืืื ืืขืืืื ืขื AI IDEs, ืืืื ืื ืฉืื ืืคืฉืจ ืืชืช ื AI ืืงืื ืืืืืืช ืืืืคืฉืื ืืื ืืขืืืจ ืืจืืงืื ืืืืืื ืืืชืจ ืขื ืื ืคืจืืืคื.
ืืืจื ืืืืืืจ ืืืืืก ืืืืืืืื ืฉืื ื ืืช ืืืขื ืืืืกืืื ืืื ืืชืืืช ืคืจืืืคื, ืืื ืคื ืืฉืื ื ืืืืืกืื ืจืืืืื ืืคืจืืืคื ืืื ืืื ืื, ืืกืจ ืคืจืืื ืจืืื ืืืจืื ืคืขืืื ืื ืืฆืืื ืืืขืืืจ ืืืืืง ืืช ืืืกืจ ืฉืจืฆืื ื (ืืืืืื ืืฉืฆืจืื ืืขืืืจ ืืจืืงืื ืืืืืื).
ืืืืืื ืจ ืืืื ืืจืื ืืกืคืจ ืคืจืืืคืืื ืฉืขืืืจืื ืืจืืง ืืืื. ืืื ืคืจืืืคื ื ืืื ืืช ืืืจืืืืงืืืจื ืฉื ืืืขืจืืช, ืืช ืืืฉืืื ืืืืฆืืข ืืืื ืืืชืื ืืช ืืคืจืืืคื ืืื ืฉืื ื AI ืืืื ืืื ืืช ืืืฉืืื. ืืฆืืจื ืืืืจืืืืืช ื ืืื ืืช ืืืขืืืช ืืืช ืื ืืืื ืืช ืฉืืฉ ืืื ืื ื ืืืื ืืืืืก ืืืืืืืื ืืืื ืืื ืื ืืื ืืชืงื ืืืชื. ื ืชืืื ืืชื ืืืื ืืืืฉืื ืืืชืื ืคืจืืืคื ื ืืกืฃ ืืืชื ืขืืืฃ ืืงืืช ืฆืขื ืืืืจื ืืืฉืคืจ ืืช ืืคืจืืืคื ืืจืืฉืื ืืืื ืืฆืืฆื ืกืืืื ืื ืืืืืืช ืื Loop-ืื. ืชืืฉืื ืขื ืื ืืื Prompt Engineering ืืชืงืื ืืืชืื ืชืื.
ืจืืฆืื ืืืฆืืจืฃ? ืื ืืกืืื ืืืื ืืช ืืืืื ืืชืืื ืืขืืื ืืื ืืืฉืื ืืื ืืช ืืงืืฉืืจ ืืืื ืืืืื ืืืืจ:
https://tocode.ravpage.co.il/tocodeai
ื ืชืจืื ืืขืฉืจ.
1 417
ืืืื ืืืืชื: ืืคืงืืื sendBeacon ื JavaScript
ืืขืื ื ืคืืฆื ืืฉืืืืช ืืืจืืขืื ืืืืคืืคื ืืฉืจืช ืืื ืืฆืืคืืืช ืฉืื ื. ืื ืื ื ืจืืฆืื ืืืืื ืืฉืจืช ืืฉืืฉืชืืฉ ืขืืื ืขืืื ืืกืืื ืืื ืืืขืช ืืื ืืื ืืฉืชืืฉ ืืืื ืืืืชื ืขืืื, ืืื ืืืฉืชืืฉ ืืขืืืฃ ืืืืชื ืืื ืืฆืืช ืืืืฃ ืืื ืืืืืช ืฉื ืืืืจ ืืืืื ืืฉืจืช ืฉืื ื ืืืื ืื ืืืืืช ืืฉืจืช ืฉืืืืืจ ืชืฉืืื.
ืืคืืคื ืื ื ืืืื ืืงืืช ืืช ืืฆื ืฉื ืืืฉืชืืฉ ืืกืืคืืจ ืืื ืืืฉืื ืกืื ืืฉืืื fetch ืื XMLHttpRequest ืืืฆืืื ืืืขืืื ืืืคืืคื ืคืฉืื ืื ืืฉืื ืืช ืืืืืขื. ืืคื ืืชืืขืื ื MDN ืื ืฉืื ืืฉืชืืฉื ืืื ืืื ื ืืจืืงืื ืืื ืืืจืื ืืืคืืคื ืืืืฉืืจ ืขืื ืงืฆืช ืืขืืื ืืืืื ืขืืื ืืื ืืืฆืืจ ืืืื ื img ืฉื src ืฉืื ืืื ืืชืืืช ืืฉืจืช ืืืืืื ืขื ืืฆืืื.
ืคืงืืืช
navigator.sendBeacon ืืื ืืืจื ืฉื ืืฆืจื ื ืืืคืืคื ืื ืืขืืืจ ืืฉื ื ืืฆืืืื: ืื ืืืคืฉืจ ืืืคืชืืื ืืงืื ืืืจืืขืื ืืฉืืฉืชืืฉืื ืขืืืืื ืืช ืืขืืื ืืื ืืืคืฉืจ ืืืฉืชืืฉืื ืืขืืื ืขืืืืื ืืืจ ืืื ืืืืืช ืืืืืืื ืืกืืืืกืืืงืืช. ืื ืื ืขืืื:
1. ืื ืื ื ืืคืขืืืื ืคืงืืืช navigator.sendBeacon ืฉืืืืจืช ืืื ืืื ืืืืืช ืืืงืฉืช ืืชืงืฉืืจืช.
2. ืืฉืชืืฉ ืืืื ืืืืฉืื ืืขืืื ืืช ืืขืืื.
3. ืืฉืืืคืืคื ืืืื ืืื ืืื ืืฉืื ืืช ืืืืืื ืืืชืจ ืฉืืื.
ืื ืืฉืจืช ืฉืืื ืืฆืคื ืืงืื ืืืืข ืืคืืจืื JSON ืชืืืื ืืืฉืชืืฉ ืืงืื ืืื ืืื ืืฉืืื ืืช ืืืืืข ืืืืคืืคื ืืฉืจืช ืืื ืืืืืช ืืชืฉืืื:
const url = 'https://example.com/collect';
const data = {
event: 'pageUnload',
timestamp: Date.now(),
userId: 'abc123'
};
// Convert the JSON object to a string
const jsonString = JSON.stringify(data);
// Convert the string to a Blob with the appropriate MIME type
const blob = new Blob([jsonString], { type: 'application/json' });
// Send the beacon
navigator.sendBeacon(url, blob);
ืืงืื ืฉืืื ืืช ืืืืืข ืืชืืจ blob ืืฉืืื ืืงืืืข ืืช ื content-type ืฉื ืืืงืฉื (ืื ืฉืืืจื ืืคืจืืืืืืจืง ืฆื ืฉืจืช ืืืจื ืืื ืืคืขื ื ืืช ื JSON ืืฆืืจื ืืืืืืืืช). ืื ืื ืื ืืฉืื ืืื ืืืชื ืืืื ืื ืืฉืืื ืืงืกื ืืืคืขื ื ืืช ื JSON ืืฉืจืช ืืขืฆืืื ืชืืืื ืืืชืื ืื:
navigator.sendBeacon(url, JSON.stringify(data));
ืืืจืื ืคืขืืื ืชืจืฆื ืืืคืขืื ืืช ืื ืืฉืืฉืชืืฉ ืขืืื ืืช ืืขืืื ืืืฉืืื ืื ืืืื ืืืชืืืจ ืืืืจืืข visibilitychange ืืืืคื ืืื:
document.addEventListener("visibilitychange", () => {
if (document.visibilityState === "hidden") {
navigator.sendBeacon("/log", analyticsData);
}
});
Endi mavjud! Telegram Tadqiqoti 2025 โ yilning asosiy insaytlari 
