JIT
Beauty Analog Clock
a beauty analog clock

Okay, let's create a beautiful analog clock using HTML, CSS, and JavaScript.

This sets up the HTML structure, styles the clock elements for a clean and appealing look, and uses JavaScript to update the clock hands every second based on the current time.

Updated files
v1
a beauty analog clock with beep voice second

Okay, let's add a ticking sound for each second using the Web Audio API. This avoids needing a separate audio file.

Now, you'll see an "Enable Sound" button. Click it to initialize the audio. After that, you should hear a short beep every second as the second hand moves. This user interaction step is necessary because browsers often restrict audio from playing automatically.

Updated files
v2
realtime bitcoin price

Okay, let's create a simple page that displays the real-time Bitcoin price in USD using the CoinGecko API.

This will display the current Bitcoin price in USD and automatically update it every minute. It also shows when the price was last updated and gives credit to the CoinGecko API.

Updated files
v3
bitcoin price update every 2 second

Okay, I'll adjust the update interval to 2 seconds. Please be aware that making requests to the CoinGecko API too frequently might lead to rate limiting.

The price will now attempt to update every 2 seconds. I've added a check for the 429 Too Many Requests status code and a warning in the console if you get rate limited.

Updated files
v4
show bitcoin price per iran rial currency

Okay, I'll modify the code to fetch and display the Bitcoin price in Iranian Rial (IRR) instead of USD.

Now the page will display the Bitcoin price in Iranian Rial (IRR), updating every 2 seconds. The formatting uses the fa-IR locale to display the currency correctly.

Updated files
v5
show bitcoin price per iran rial currency using nobitex api

Okay, let's switch to using the Nobitex API to get the Bitcoin price in Iranian Toman (IRT). Nobitex typically uses Toman (1 Toman = 10 Rials) in their API and platform. We'll display the price in IRT.

Important Note: Using a 2-second interval might still hit rate limits on the Nobitex API. Be prepared to increase the interval if you encounter issues.

This version now fetches data from the Nobitex API for the BTC/IRT market and displays the price in Iranian Toman (IRT). It includes basic error handling for rate limits and checks the expected response structure. Remember that IRT is not a standard currency code, so it's appended manually after number formatting.

Updated files
v6
show iranian rial per usd

Okay, let's create a page to display the exchange rate for 1 US Dollar (USD) in Iranian Rial (IRR). We'll use a free exchange rate API for this. I'll use api.exchangerate.host which doesn't require an API key.

Note: Free exchange rate APIs might not always have the most up-to-the-minute or official rates for all currencies, especially for IRR due to market volatility and varying sources. The rate shown will be based on the data provided by the API.

This page will now show the exchange rate for 1 USD in IRR, fetching the data from exchangerate.host and updating every 5 minutes.

Updated files
v7
show iranian rial per usd using https://www.navasan.tech/api api

Okay, we can adapt the previous example to use the Navasan API.

VERY IMPORTANT: The Navasan API requires an API Key for access. You will need to sign up on their website (navasan.tech) to get one. I will put a placeholder in the code where you need to insert your key. The code will not work without a valid API key.

Also, Navasan typically provides rates in Iranian Toman (IRT), not Rial (IRR). We will display the rate fetched from the API, which is likely IRT.

Before running:

  1. Get API Key: Sign up at navasan.tech and get your API key.
  2. Edit script.js: Replace 'YOUR_API_KEY' with your actual key.
  3. Check API Response: Run the code once with your key. Open the browser's developer console (usually F12). Look at the "Network" tab to see the actual response from the Navasan API.
  4. Adjust script.js: Modify the part data.dollar_azad.value (and potentially data.dollar_azad.updated_at) in the script.js file to match the actual structure you see in the API response to correctly extract the price and update time._
Updated files
v8
bitcoin price