<!-- ============================================================ TEST ISKRY — widget Custom HTML (Elementor / Astra child theme) Responsywne: telefon / tablet / desktop Wklej całość poniżej do widgetu "HTML" w Elementorze. Klasy i ID mają prefiks "ti-" żeby nie kolidowały z Astrą/Elementorem. Podmień FB_GROUP_LINK w sekcji na dole. ============================================================ --> #ti-app { --ti-navy: #041133; --ti-yellow: #FFD602; --ti-blue: #0146C7; --ti-cream: #FBFDFC; --ti-font-display: 'Space Grotesk', sans-serif; --ti-font-body: 'Inter', sans-serif; width: 100%; max-width: 720px; margin: 0 auto; padding: clamp(24px, 5vw, 48px) clamp(16px, 4vw, 40px) clamp(32px, 6vw, 56px); background: var(--ti-navy); background-image: radial-gradient(circle at 15% 10%, rgba(1,70,199,0.35), transparent 45%), radial-gradient(circle at 85% 90%, rgba(255,214,2,0.08), transparent 40%); color: var(--ti-cream); font-family: var(--ti-font-body); border-radius: 24px; box-sizing: border-box; } #ti-app *, #ti-app *::before, #ti-app *::after { box-sizing: border-box; } /* --- wewnętrzny kontener ogranicza szerokość tekstu na dużych ekranach --- */ #ti-app .ti-inner { max-width: 560px; margin: 0 auto; } /* pasek iskry */ #ti-app .ti-spark-meter { display: flex; gap: 6px; margin-bottom: clamp(20px, 3vw, 28px); } #ti-app .ti-spark-seg { flex: 1; height: 6px; border-radius: 3px; background: rgba(255,255,255,0.12); } #ti-app .ti-spark-seg.ti-filled { background: var(--ti-yellow); box-shadow: 0 0 10px rgba(255,214,2,0.6); } #ti-app .ti-spark-label { font-family: var(--ti-font-display); font-size: 0.72rem; letter-spacing: 2px; text-transform: uppercase; color: rgba(251,253,252,0.5); margin-bottom: 10px; display: flex; justify-content: space-between; } #ti-app .ti-intro { text-align: center; padding: clamp(12px, 3vw, 24px) 0 clamp(28px, 5vw, 44px); } #ti-app .ti-intro h1 { font-family: var(--ti-font-display); font-weight: 700; font-size: clamp(1.9rem, 4vw + 1rem, 3.2rem); color: var(--ti-yellow); line-height: 1.05; letter-spacing: -0.5px; margin: 0; } #ti-app .ti-intro p { margin-top: 14px; font-size: clamp(0.95rem, 1vw + 0.7rem, 1.15rem); color: rgba(251,253,252,0.75); line-height: 1.55; max-width: 480px; margin-left: auto; margin-right: auto; } #ti-app .ti-card { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: 20px; padding: clamp(22px, 4vw, 40px); } #ti-app .ti-question h2 { font-family: var(--ti-font-display); font-weight: 500; font-size: clamp(1.15rem, 1vw + 0.9rem, 1.5rem); line-height: 1.4; margin: 0 0 clamp(18px, 3vw, 28px); } #ti-app .ti-options { display: grid; grid-template-columns: 1fr; gap: 10px; } #ti-app .ti-option-btn { text-align: left; background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.12); color: var(--ti-cream); padding: 14px 16px; border-radius: 12px; font-family: var(--ti-font-body); font-size: 0.95rem; line-height: 1.45; cursor: pointer; width: 100%; min-height: 48px; transition: border-color 0.15s ease, background 0.15s ease, transform 0.1s ease; } #ti-app .ti-option-btn:hover { border-color: var(--ti-yellow); background: rgba(255,214,2,0.06); } #ti-app .ti-option-btn:active { transform: scale(0.985); } #ti-app .ti-option-btn:focus-visible { outline: 2px solid var(--ti-yellow); outline-offset: 2px; } #ti-app .ti-start-btn, #ti-app .ti-cta-btn { display: block; width: 100%; max-width: 320px; margin: 0 auto; background: var(--ti-yellow); color: var(--ti-navy); border: none; padding: 15px; border-radius: 999px; font-family: var(--ti-font-display); font-weight: 700; font-size: 1rem; cursor: pointer; text-align: center; text-decoration: none; box-shadow: 0 4px 0 #c9a900; transition: transform 0.12s ease, box-shadow 0.12s ease; } #ti-app .ti-start-btn:active, #ti-app .ti-cta-btn:active { transform: translateY(3px); box-shadow: 0 1px 0 #c9a900; } #ti-app .ti-cta-btn:hover, #ti-app .ti-start-btn:hover { color: var(--ti-navy); } #ti-app .ti-start-btn:focus-visible, #ti-app .ti-cta-btn:focus-visible { outline: 2px solid var(--ti-cream); outline-offset: 3px; } #ti-app .ti-result { text-align: center; } #ti-app .ti-result .ti-eyebrow { font-family: var(--ti-font-display); font-size: 0.75rem; letter-spacing: 3px; text-transform: uppercase; color: var(--ti-blue); background: rgba(1,70,199,0.15); display: inline-block; padding: 6px 14px; border-radius: 999px; margin-bottom: 16px; } #ti-app .ti-result h2 { font-family: var(--ti-font-display); font-weight: 700; font-size: clamp(1.5rem, 2vw + 1rem, 2.1rem); color: var(--ti-yellow); margin: 0 0 14px; line-height: 1.15; } #ti-app .ti-result p.ti-desc { font-size: clamp(0.95rem, 1vw + 0.7rem, 1.1rem); line-height: 1.6; color: rgba(251,253,252,0.85); margin: 0 0 26px; max-width: 440px; margin-left: auto; margin-right: auto; } #ti-app .ti-secondary-link { display: block; margin: 14px auto 0; color: rgba(251,253,252,0.5); font-size: 0.85rem; text-decoration: underline; background: none; border: none; cursor: pointer; font-family: var(--ti-font-body); } #ti-app .ti-hidden { display: none !important; } #ti-app .ti-footer { text-align: center; margin-top: 24px; font-size: 0.72rem; color: rgba(251,253,252,0.35); } /* ---------- TABLET (od 600px) ---------- */ @media (min-width: 600px) { #ti-app .ti-options { grid-template-columns: 1fr 1fr; } } /* ---------- DESKTOP (od 1024px) ---------- */ @media (min-width: 1024px) { #ti-app { padding: 56px 64px 64px; border-radius: 32px; } #ti-app .ti-card { padding: 48px; } #ti-app .ti-option-btn { padding: 18px 20px; font-size: 1rem; } } /* ---------- bardzo małe telefony (do 360px) ---------- */ @media (max-width: 360px) { #ti-app { border-radius: 0; padding: 20px 14px 28px; } #ti-app .ti-card { padding: 18px 16px; border-radius: 14px; } } @media (prefers-reduced-motion: reduce) { #ti-app * { transition: none !important; } } (function() { // ---- DANE GRY ---- // Każda opcja ma "type": D = Dyplomata, K = Kontroler, S = Spontaniczny, B = Bezpośredni var questions = [ { text: "Twój partner/partnerka non stop patrzy w telefon podczas kolacji. Co robisz?", options: [ { text: "Pytam wprost, co jest tak ważnego", type: "B" }, { text: "Delikatnie zmieniam temat, licząc że sam/-a odłoży telefon", type: "D" }, { text: "Też sięgam po swój telefon", type: "S" }, { text: "Mówię, że mnie to denerwuje i proszę o odłożenie go", type: "K" } ] }, { text: "Umawiacie się na wspólny wyjazd, ale macie różne wizje. Ty:", options: [ { text: "Ustalam plan i trzymam się go konsekwentnie", type: "K" }, { text: "Proponuję zrobić coś zupełnie spontanicznego na miejscu", type: "S" }, { text: "Szukam kompromisu, żeby obie strony były zadowolone", type: "D" }, { text: "Mówię wprost, na co mam ochotę, i nie odpuszczam", type: "B" } ] }, { text: "Kłócicie się o coś błahego, ale robi się głośno. Reagujesz:", options: [ { text: "Kończę temat od razu, zanim eskaluje", type: "D" }, { text: "Mówię dokładnie, co mnie irytuje, bez owijania w bawełnę", type: "B" }, { text: "Wychodzę na chwilę, żeby ochłonąć", type: "S" }, { text: "Staram się przejąć kontrolę nad rozmową i uspokoić sytuację", type: "K" } ] }, { text: "Partner/partnerka zapomina o ważnej dla Ciebie rocznicy. Co robisz?", options: [ { text: "Mówię wprost, że mnie to zabolało", type: "B" }, { text: "Nic nie mówię, licząc że sam/-a się zorientuje", type: "D" }, { text: "Robię z tego żart i planuję coś spontanicznie sami", type: "S" }, { text: "Ustalam na przyszłość system przypomnień, żeby się nie powtórzyło", type: "K" } ] }, { text: "Twój typ na pierwszej randce to raczej:", options: [ { text: "Dokładnie zaplanowany wieczór, wiem co i kiedy", type: "K" }, { text: "Coś w ostatniej chwili, bez planu", type: "S" }, { text: "Szczera rozmowa o oczekiwaniach już na starcie", type: "B" }, { text: "Coś swobodnego, gdzie oboje czujemy się swobodnie", type: "D" } ] }, { text: "Coś w związku Cię uwiera od tygodni. Robisz:", options: [ { text: "Czekam na dobry moment, żeby nie zepsuć atmosfery", type: "D" }, { text: "Mówię od razu, jak tylko to poczuję", type: "B" }, { text: "Próbuję to jakoś zorganizować / naprawić samodzielnie", type: "K" }, { text: "Czekam aż samo się rozwiąże albo temat się zmieni", type: "S" } ] } ]; var personas = { D: { title: "Dyplomata Iskry", desc: "Unikasz konfliktu i szukasz zgody, zanim jeszcze się pojawi. Twoją siłą jest spokój, ale uważaj, żeby nie tłumić w sobie tego, co naprawdę czujesz." }, K: { title: "Kontroler Iskry", desc: "Lubisz mieć plan i pewność, że wszystko jest pod kontrolą. To daje Ci poczucie bezpieczeństwa, ale czasem warto puścić stery i zaufać sytuacji." }, S: { title: "Żywioł Iskry", desc: "Działasz spontanicznie i nie lubisz się ograniczać planem. Wnosisz energię i nieprzewidywalność, ale relacje czasem potrzebują też stabilności." }, B: { title: "Szczerość Iskry", desc: "Mówisz wprost, bez owijania w bawełnę. Ludzie wiedzą, na czym stoją — ale pamiętaj, że czasem forma robi różnicę." } }; // LINK DO GRUPY — podmień na właściwy adres posta/grupy var FB_GROUP_LINK = "test"; // ---- LOGIKA ---- var currentQ = 0; var scores = { D: 0, K: 0, S: 0, B: 0 }; var screenIntro = document.getElementById('ti-screen-intro'); var screenQuiz = document.getElementById('ti-screen-quiz'); var screenResult = document.getElementById('ti-screen-result'); var sparkMeter = document.getElementById('ti-spark-meter'); function buildSparkMeter() { sparkMeter.innerHTML = ''; for (var i = 0; i < questions.length; i++) { var seg = document.createElement('div'); seg.className = 'ti-spark-seg'; seg.id = 'ti-seg-' + i; sparkMeter.appendChild(seg); } } function startQuiz() { currentQ = 0; scores = { D: 0, K: 0, S: 0, B: 0 }; screenIntro.classList.add('ti-hidden'); screenResult.classList.add('ti-hidden'); screenQuiz.classList.remove('ti-hidden'); buildSparkMeter(); renderQuestion(); } function renderQuestion() { var q = questions[currentQ]; document.getElementById('ti-q-current').textContent = 'Pytanie ' + (currentQ + 1); document.getElementById('ti-q-total').textContent = 'z ' + questions.length; document.getElementById('ti-q-text').textContent = q.text; var optionsWrap = document.getElementById('ti-q-options'); optionsWrap.innerHTML = ''; q.options.forEach(function(opt) { var btn = document.createElement('button'); btn.className = 'ti-option-btn'; btn.type = 'button'; btn.textContent = opt.text; btn.addEventListener('click', function() { selectOption(opt.type); }); optionsWrap.appendChild(btn); }); for (var i = 0; i < questions.length; i++) { document.getElementById('ti-seg-' + i).classList.toggle('ti-filled', i < currentQ); } } function selectOption(type) { scores[type]++; document.getElementById('ti-seg-' + currentQ).classList.add('ti-filled'); currentQ++; if (currentQ max) { max = scores[key]; winner = key; } } var persona = personas[winner]; document.getElementById('ti-r-title').textContent = persona.title; document.getElementById('ti-r-desc').textContent = persona.desc; document.getElementById('ti-r-fb-link').href = FB_GROUP_LINK; screenQuiz.classList.add('ti-hidden'); screenResult.classList.remove('ti-hidden'); } document.getElementById('ti-start-btn').addEventListener('click', startQuiz); document.getElementById('ti-restart-btn').addEventListener('click', startQuiz);})();-
Test Iskry
6 sytuacji z życia relacji. Wybierz odpowiedzi, które są najbliższe temu, co naprawdę byś zrobił/-a — poznaj swój typ i podziel się nim w grupie.
Pytanie 1 z 6
Twój wynik
Zobacz wyniki innych w grupie → Iskra · fungrup.pl
