Skip to main content

PROMPT 2 — Script dată automată + Countdown

Am un landing page HTML de webinar (fișierul e în proiect).
Adaugă scriptul de dată automată și countdown fără să modifici designul.

Reguli:
- Webinarul are loc în fiecare MARȚI la ora 19:00 (ora României), reluarea MIERCURI la 19:00
- Data se calculează dinamic la fiecare vizită — niciodată hardcodată
- Dacă azi e marți dar ora 19:00 a trecut, sare la marțea următoare

Caută în fișier elementele de mai jos și populează-le. Dacă un element nu există, sari peste el.

| ID / selector       | Ce afișează                                              |
|---------------------|----------------------------------------------------------|
| #hero-live-date     | ex: „Marți, 24 iunie", ora 19:00 (ora României)          |
| #hero-reluare-date  | ex: „Reluare: Miercuri, 25 iunie · 19:00"               |
| #live-date          | varianta scurtă cu emoji 📅 și dată bold                 |
| #reluare-date       | varianta scurtă cu emoji 📅 și dată bold                 |
| #micro-live         | linie compactă: dată · 19:00 · 90 minute · sesiune live  |
| #final-cta-date     | dată bold în secțiunea finală de CTA                     |
| .eyebrow.live       | text uppercase: LIVE · DOAR 150 LOCURI · DATA · 19:00    |
| cd-d sau cd-days    | countdown zile (detectează automat ce prefix există)     |
| cd-h sau cd-hours   | countdown ore                                            |
| cd-m sau cd-minutes | countdown minute                                         |
| cd-s sau cd-seconds | countdown secunde                                        |

Scriptul de adăugat (adaptează ID-urile countdown la ce există în fișier):

<script>
  (function(){
    var MONTHS_RO = ['ianuarie','februarie','martie','aprilie','mai','iunie','iulie','august','septembrie','octombrie','noiembrie','decembrie'];
    var DAYS_RO   = ['Duminică','Luni','Marți','Miercuri','Joi','Vineri','Sâmbătă'];

    function getNextTuesday() {
      var now  = new Date();
      var next = new Date(now);
      next.setHours(19, 0, 0, 0);
      var day = now.getDay();
      var daysUntil = (2 - day + 7) % 7;
      if (daysUntil === 0 && now >= next) daysUntil = 7;
      next.setDate(next.getDate() + daysUntil);
      return next;
    }

    function getNextWednesdayAfter(d) {
      var r = new Date(d);
      r.setDate(r.getDate() + 1);
      return r;
    }

    var liveDate    = getNextTuesday();
    var reluareDate = getNextWednesdayAfter(liveDate);

    function fmtShort(d) { return DAYS_RO[d.getDay()] + ', ' + d.getDate() + ' ' + MONTHS_RO[d.getMonth()]; }
    function fmtUpper(d) { return DAYS_RO[d.getDay()].toUpperCase() + ', ' + d.getDate() + ' ' + MONTHS_RO[d.getMonth()].toUpperCase(); }

    var eyebrowEl = document.querySelector('.eyebrow.live');
    if (eyebrowEl) eyebrowEl.textContent = 'LIVE · DOAR 150 LOCURI · ' + fmtUpper(liveDate) + ' · 19:00 (ora României)';

    var heroLiveEl = document.getElementById('hero-live-date');
    if (heroLiveEl) heroLiveEl.innerHTML = '<strong>' + fmtShort(liveDate) + '</strong>, ora 19:00 (ora României)';

    var heroReluareEl = document.getElementById('hero-reluare-date');
    if (heroReluareEl) heroReluareEl.innerHTML = '<strong>Reluare</strong>: ' + fmtShort(reluareDate) + ' · 19:00';

    var microEl = document.getElementById('micro-live');
    if (microEl) microEl.textContent = fmtShort(liveDate) + ' · 19:00 (ora României) · 90 minute · sesiune live';

    var liveDateEl = document.getElementById('live-date');
    if (liveDateEl) liveDateEl.innerHTML = '📅 <strong>' + fmtShort(liveDate) + '</strong> · 19:00';

    var reluareDateEl = document.getElementById('reluare-date');
    if (reluareDateEl) reluareDateEl.innerHTML = '📅 <strong>' + fmtShort(reluareDate) + '</strong> · 19:00';

    var finalCtaEl = document.getElementById('final-cta-date');
    if (finalCtaEl) finalCtaEl.innerHTML = '<strong>' + fmtShort(liveDate) + '</strong>, ora 19:00';

    var target = liveDate.getTime();
    var elD = document.getElementById('cd-d') || document.getElementById('cd-days');
    var elH = document.getElementById('cd-h') || document.getElementById('cd-hours');
    var elM = document.getElementById('cd-m') || document.getElementById('cd-minutes');
    var elS = document.getElementById('cd-s') || document.getElementById('cd-seconds');

    function pad(n) { return String(Math.max(0, n)).padStart(2, '0'); }

    function tick() {
      var diff = target - Date.now();
      if (diff <= 0) diff = 0;
      var s = Math.floor(diff / 1000);
      var d = Math.floor(s / 86400); s -= d * 86400;
      var h = Math.floor(s / 3600);  s -= h * 3600;
      var m = Math.floor(s / 60);    s -= m * 60;
      if (elD) elD.textContent = pad(d);
      if (elH) elH.textContent = pad(h);
      if (elM) elM.textContent = pad(m);
      if (elS) elS.textContent = pad(s);
    }
    tick();
    setInterval(tick, 1000);
  })();
</script>