J

Jenn

Feminin Engleză
Ți-a fost utilă informația? Oferă-ne o cafea pentru a continua! Susține-ne

Semnificație și Istorie

Jenn este un nume feminin de botez, adesea o formă scurtată (hipocorism) al lui Jennifer. Ca diminutiv, a apărut odată cu creșterea popularității numelui Jennifer în secolul XX, în special în regiunile vorbitoare de limbă engleză.

Etimologie și istorie

Numele rădăcină Jennifer derivă dintr-o formă cornish a numelui galez Gwenhwyfar, numele original al reginei Guinevere din legenda arthuriană. Deși Jennifer era rar întâlnit în afara Cornwall-ului până la începutul anilor 1900, a câștigat recunoaștere pe scară largă după apariția în piesa lui George Bernard Shaw The Doctor's Dilemma (1906). Numele a cunoscut un vârf de popularitate în Statele Unite la mijlocul secolului XX, devenind cel mai popular nume pentru fete între 1970 și 1984. Forma scurtată Jenn a urmat în mod natural această tendință ca o variantă afectuoasă mai scurtă.

Purtători notabili

Cultură și arte

Jenn Bostic (n. 1986), cântăreață și compozitoare americană de muzică country</plaintext><plaintext>Jenn Grant (n. 1980), cântăreață canadiană de folk pop</plaintext><plaintext>Jenn Colella, actriță și cântăreață americană</plaintext><plaintext>Jenn Ashworth (n. 1982), scriitoare engleză</plaintext><h3>Alte domenii</h3><plaintext>Jenn Robinson (n. 1991), model de modă canadian</plaintext><plaintext>Jenn Stone, jurnalistă americană de jocuri video</plaintext><h2>Nume asociate</h2><p>Variante ale lui Jenn includ <a href="/name/jen">Jen</a>, <a href="/name/jena">Jena</a> și <a href="/name/jenni">Jenni</a>. Numele împarte rădăcini și cu forme mai lungi precum <a href="/name/guinevere">Guinevere</a> (mitologia galeză) și <a href="/name/gwenhwyfar">Gwenhwyfar</a> (galeză).</p><ul><li><strong>Sens:</strong> Formă scurtă a lui Jennifer</li><li><strong>Origine:</strong> Cornish/galeză (prin Guinevere)</li><li><strong>Tip:</strong> Diminutiv/hipocorism</li><li><strong>Regiuni de utilizare:</strong> țări vorbitoare de limbă engleză (în special SUA și Marea Britanie)</li></ul> </div> </section> <section class="mb-8"> <div class="flex items-center gap-3 mb-3"> <h2 class="text-base font-semibold text-gray-900">Prenume asociate</h2> <div class="h-px flex-1 bg-gray-200"></div> </div> <div class="space-y-3"> <div class="bg-white rounded-xl border border-gray-100 hover:border-gray-200 transition p-4"> <div class="text-xs font-bold uppercase tracking-wider text-gray-500 mb-2">Variants</div> <div class="flex flex-wrap items-baseline gap-x-1.5 gap-y-2 leading-relaxed"> <a href="https://namehub.ngrok.app/ro/name/jen" class="name-link hover:underline text-sm font-medium">Jen</a><span class="text-gray-300">,</span> <a href="https://namehub.ngrok.app/ro/name/jena" class="name-link hover:underline text-sm font-medium">Jena</a><span class="text-gray-300">,</span> <a href="https://namehub.ngrok.app/ro/name/jenelle" class="name-link hover:underline text-sm font-medium">Jenelle</a><span class="text-gray-300">,</span> <a href="https://namehub.ngrok.app/ro/name/jeni" class="name-link hover:underline text-sm font-medium">Jeni</a><span class="text-gray-300">,</span> <a href="https://namehub.ngrok.app/ro/name/jenna" class="name-link hover:underline text-sm font-medium">Jenna</a><span class="text-gray-300">,</span> <a href="https://namehub.ngrok.app/ro/name/jenni" class="name-link hover:underline text-sm font-medium">Jenni</a><span class="text-gray-300">,</span> <a href="https://namehub.ngrok.app/ro/name/jennie" class="name-link hover:underline text-sm font-medium">Jennie</a><span class="text-gray-300">,</span> <a href="https://namehub.ngrok.app/ro/name/jenny" class="name-link hover:underline text-sm font-medium">Jenny</a><span class="text-gray-300">,</span> <a href="https://namehub.ngrok.app/ro/name/jenae" class="name-link hover:underline text-sm font-medium">Jenae</a><span class="text-gray-300">,</span> <a href="https://namehub.ngrok.app/ro/name/jenessa" class="name-link hover:underline text-sm font-medium">Jenessa</a> </div> </div> <div class="bg-white rounded-xl border border-gray-100 hover:border-gray-200 transition p-4"> <div class="text-xs font-bold uppercase tracking-wider text-gray-500 mb-2">Other Languages &amp; Cultures</div> <div class="flex flex-wrap items-baseline gap-x-1.5 gap-y-2 leading-relaxed"> <span class="text-xs font-semibold text-gray-400 uppercase tracking-wider">(Welsh Mythology)</span> <a href="https://namehub.ngrok.app/ro/name/gwenhwyfar" class="name-link hover:underline text-sm font-medium">Gwenhwyfar</a> <span class="basis-full"></span> <span class="text-xs font-semibold text-gray-400 uppercase tracking-wider">(Arthurian Cycle)</span> <a href="https://namehub.ngrok.app/ro/name/guenevere" class="name-link hover:underline text-sm font-medium">Guenevere</a><span class="text-gray-300">,</span> <a href="https://namehub.ngrok.app/ro/name/guinevere" class="name-link hover:underline text-sm font-medium">Guinevere</a> <span class="basis-full"></span> <span class="text-xs font-semibold text-gray-400 uppercase tracking-wider">(Spanish)</span> <a href="https://namehub.ngrok.app/ro/name/jenifer" class="name-link hover:underline text-sm font-medium">Jenifer</a> <span class="basis-full"></span> <span class="text-xs font-semibold text-gray-400 uppercase tracking-wider">(Swedish)</span> <a href="https://namehub.ngrok.app/ro/name/jennifer" class="name-link hover:underline text-sm font-medium">Jennifer</a><span class="text-gray-300">,</span> <a href="https://namehub.ngrok.app/ro/name/jenny" class="name-link hover:underline text-sm font-medium">Jenny</a> <span class="basis-full"></span> <span class="text-xs font-semibold text-gray-400 uppercase tracking-wider">(French)</span> <a href="https://namehub.ngrok.app/ro/name/jenna" class="name-link hover:underline text-sm font-medium">Jenna</a> <span class="basis-full"></span> <span class="text-xs font-semibold text-gray-400 uppercase tracking-wider">(Finnish)</span> <a href="https://namehub.ngrok.app/ro/name/jenni" class="name-link hover:underline text-sm font-medium">Jenni</a> <span class="basis-full"></span> <span class="text-xs font-semibold text-gray-400 uppercase tracking-wider">(French)</span> <a href="https://namehub.ngrok.app/ro/name/guenie11vre" class="name-link hover:underline text-sm font-medium">Guenièvre</a><span class="text-gray-300">,</span> <a href="https://namehub.ngrok.app/ro/name/jennah" class="name-link hover:underline text-sm font-medium">Jennah</a> <span class="basis-full"></span> <span class="text-xs font-semibold text-gray-400 uppercase tracking-wider">(Hungarian)</span> <a href="https://namehub.ngrok.app/ro/name/dzsenifer" class="name-link hover:underline text-sm font-medium">Dzsenifer</a> <span class="basis-full"></span> <span class="text-xs font-semibold text-gray-400 uppercase tracking-wider">(Icelandic)</span> <a href="https://namehub.ngrok.app/ro/name/jenny10" class="name-link hover:underline text-sm font-medium">Jenný</a> <span class="basis-full"></span> <span class="text-xs font-semibold text-gray-400 uppercase tracking-wider">(Italian)</span> <a href="https://namehub.ngrok.app/ro/name/ginevra" class="name-link hover:underline text-sm font-medium">Ginevra</a> <span class="basis-full"></span> <span class="text-xs font-semibold text-gray-400 uppercase tracking-wider">(Spanish (Latin American))</span> <a href="https://namehub.ngrok.app/ro/name/ye10nifer" class="name-link hover:underline text-sm font-medium">Yénifer</a><span class="text-gray-300">,</span> <a href="https://namehub.ngrok.app/ro/name/ye10nnifer" class="name-link hover:underline text-sm font-medium">Yénnifer</a><span class="text-gray-300">,</span> <a href="https://namehub.ngrok.app/ro/name/yenny" class="name-link hover:underline text-sm font-medium">Yenny</a> <span class="basis-full"></span> <span class="text-xs font-semibold text-gray-400 uppercase tracking-wider">(Swedish)</span> <a href="https://namehub.ngrok.app/ro/name/jennie" class="name-link hover:underline text-sm font-medium">Jennie</a> </div> </div> </div> </section> <p class="mt-8 pt-3 border-t border-gray-100 text-sm text-gray-500 leading-relaxed"> <svg class="inline w-3.5 h-3.5 mr-1 mb-0.5 text-gray-400" fill="none" stroke="currentColor" viewBox="0 0 24 24" stroke-width="2"><path stroke-linecap="round" stroke-linejoin="round" d="M11.25 11.25l.041-.02a.75.75 0 011.063.852l-.708 2.836a.75.75 0 001.063.853l.041-.021M21 12a9 9 0 11-18 0 9 9 0 0118 0zm-9-3.75h.008v.008H12V8.25z"/></svg> <span class="font-semibold text-gray-700">Surse:</span> <a href="https://en.wikipedia.org/wiki/Jenn" rel="nofollow noopener" target="_blank" class="hover:text-indigo-600 hover:underline">Wikipedia — Jenn</a> </p> </div> <div class="w-full lg:w-72 shrink-0 space-y-4"> <div class="bg-white rounded-xl border border-gray-100 p-5 space-y-5"> <div> <div class="flex items-center gap-3 mb-3"> <h2 class="text-sm font-bold text-gray-900">Descarcă</h2> <div class="h-px flex-1 bg-gray-200"></div> </div> <a href="https://namehub.ngrok.app/ro/certificate/preview/jenn" class="flex items-center gap-2.5 px-3.5 py-2.5 rounded-xl border-2 border-gray-200 text-sm font-semibold text-gray-700 hover:bg-gray-50 hover:border-gray-300 transition"> <svg class="w-4 h-4 text-gray-500 shrink-0" fill="none" stroke="currentColor" viewBox="0 0 24 24" stroke-width="2"><path stroke-linecap="round" stroke-linejoin="round" d="M19.5 14.25v-2.625a3.375 3.375 0 0 0-3.375-3.375h-1.5A1.125 1.125 0 0 1 13.5 7.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H8.25m0 12.75h7.5m-7.5 3H12M10.5 2.25H5.625c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125V11.25a9 9 0 0 0-9-9Z"/></svg> <span class="flex-1">Certificat de Nume</span> <span class="inline-flex items-center px-1.5 py-0.5 rounded-full text-[10px] font-bold uppercase tracking-wider bg-emerald-50 text-emerald-700">Gratuit</span> </a> </div> <div> <div class="flex items-center gap-3 mb-3"> <h2 class="text-sm font-bold text-gray-900">Partajare</h2> <div class="h-px flex-1 bg-gray-200"></div> </div> <div class="flex flex-wrap gap-1.5"> <a href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fnamehub.ngrok.app%2Fro%2Fname%2Fjenn" target="_blank" rel="noopener" class="inline-flex items-center justify-center w-9 h-9 rounded-lg border border-gray-200 text-gray-500 hover:bg-indigo-50 hover:border-indigo-300 hover:text-indigo-600 transition" title="Facebook"> <svg class="w-4 h-4" fill="currentColor" viewBox="0 0 24 24"><path d="M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z"/></svg> </a> <a href="https://twitter.com/intent/tweet?url=https%3A%2F%2Fnamehub.ngrok.app%2Fro%2Fname%2Fjenn&text=Jenn+%E2%80%94+Semnifica%C8%9Bia+%C8%99i+originea+prenumelui" target="_blank" rel="noopener" class="inline-flex items-center justify-center w-9 h-9 rounded-lg border border-gray-200 text-gray-500 hover:bg-indigo-50 hover:border-indigo-300 hover:text-indigo-600 transition" title="X"> <svg class="w-4 h-4" fill="currentColor" viewBox="0 0 24 24"><path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"/></svg> </a> <a href="https://pinterest.com/pin/create/button/?url=https%3A%2F%2Fnamehub.ngrok.app%2Fro%2Fname%2Fjenn&description=Jenn+%E2%80%94+Semnifica%C8%9Bia+%C8%99i+originea+prenumelui" target="_blank" rel="noopener" class="inline-flex items-center justify-center w-9 h-9 rounded-lg border border-gray-200 text-gray-500 hover:bg-indigo-50 hover:border-indigo-300 hover:text-indigo-600 transition" title="Pinterest"> <svg class="w-4 h-4" fill="currentColor" viewBox="0 0 24 24"><path d="M12.017 0C5.396 0 .029 5.367.029 11.987c0 5.079 3.158 9.417 7.618 11.162-.105-.949-.199-2.403.041-3.439.219-.937 1.406-5.957 1.406-5.957s-.359-.72-.359-1.781c0-1.668.967-2.914 2.171-2.914 1.023 0 1.518.769 1.518 1.69 0 1.029-.655 2.568-.994 3.995-.283 1.194.599 2.169 1.777 2.169 2.133 0 3.772-2.249 3.772-5.495 0-2.873-2.064-4.882-5.012-4.882-3.414 0-5.418 2.561-5.418 5.207 0 1.031.397 2.138.893 2.738a.36.36 0 01.083.345l-.333 1.36c-.053.22-.174.267-.402.161-1.499-.698-2.436-2.889-2.436-4.649 0-3.785 2.75-7.262 7.929-7.262 4.163 0 7.398 2.967 7.398 6.931 0 4.136-2.607 7.464-6.227 7.464-1.216 0-2.359-.631-2.75-1.378l-.748 2.853c-.271 1.043-1.002 2.35-1.492 3.146C9.57 23.812 10.763 24 12.017 24c6.624 0 11.99-5.367 11.99-11.988C24.007 5.367 18.641 0 12.017 0z"/></svg> </a> <button id="copy-link-btn" class="inline-flex items-center justify-center w-9 h-9 rounded-lg border border-gray-200 text-gray-500 hover:bg-indigo-50 hover:border-indigo-300 hover:text-indigo-600 transition cursor-pointer" title="Copiază link"> <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 5H6a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2v-1M8 5a2 2 0 002 2h2a2 2 0 002-2M8 5a2 2 0 012-2h2a2 2 0 012 2m0 0h2a2 2 0 012 2v3m2 4H10m0 0l3-3m-3 3l3 3"/></svg> </button> <script> document.getElementById('copy-link-btn')?.addEventListener('click', function() { const btn = this; navigator.clipboard.writeText('https://namehub.ngrok.app/ro/name/jenn').then(function() { btn.classList.add('bg-emerald-50', 'border-emerald-300', 'text-emerald-600'); setTimeout(function() { btn.classList.remove('bg-emerald-50', 'border-emerald-300', 'text-emerald-600'); }, 2000); }); }); </script> </div> </div> </div> <div class="bg-white rounded-xl border border-gray-100 p-5"> <div class="flex items-center gap-3 mb-3"> <h2 class="text-sm font-bold text-gray-900">Categorii</h2> <div class="h-px flex-1 bg-gray-200"></div> </div> <div class="flex flex-wrap gap-1.5"> <a href="https://namehub.ngrok.app/ro/names/tag/youtubers" class="inline-flex items-center px-2.5 py-1 text-xs font-semibold rounded-full border border-gray-200 text-gray-600 hover:border-indigo-300 hover:text-indigo-700 transition" > YouTuberi </a> <a href="https://namehub.ngrok.app/ro/names/tag/the_west_wing_characters" class="inline-flex items-center px-2.5 py-1 text-xs font-semibold rounded-full border border-gray-200 text-gray-600 hover:border-indigo-300 hover:text-indigo-700 transition" > Personajele aripii de vest </a> <a href="https://namehub.ngrok.app/ro/names/tag/short_forms" class="inline-flex items-center px-2.5 py-1 text-xs font-semibold rounded-full border border-gray-200 text-gray-600 hover:border-indigo-300 hover:text-indigo-700 transition" > forme scurte </a> <a href="https://namehub.ngrok.app/ro/names/tag/family_ties_characters" class="inline-flex items-center px-2.5 py-1 text-xs font-semibold rounded-full border border-gray-200 text-gray-600 hover:border-indigo-300 hover:text-indigo-700 transition" > Personaje Family Ties </a> <a href="https://namehub.ngrok.app/ro/names/tag/rappers" class="inline-flex items-center px-2.5 py-1 text-xs font-semibold rounded-full border border-gray-200 text-gray-600 hover:border-indigo-300 hover:text-indigo-700 transition" > rapperi </a> </div> </div> </div> </div> </main> <footer class="bg-gradient-to-b from-gray-50 to-white border-t border-gray-200"> <div class="max-w-6xl mx-auto px-4 pt-8 pb-6"> <div class="grid grid-cols-2 md:grid-cols-12 gap-8 mb-6"> <div class="col-span-2 md:col-span-4"> <a href="https://namehub.ngrok.app/ro" class="inline-flex items-center gap-2 mb-4"> <div class="w-9 h-9 rounded-xl bg-gradient-to-br from-indigo-500 via-violet-600 to-fuchsia-600 flex items-center justify-center shadow-md"> <span class="text-white font-bold text-lg">N</span> </div> <span class="text-lg font-bold text-gray-900">NameHub</span> </a> <p class="text-sm text-gray-600 leading-relaxed mb-4 max-w-sm">O bază de date în creștere de prenume și nume de familie cu origini, semnificații și povești din culturi din întreaga lume.</p> <div class="flex items-center gap-3"> <a href="https://buy.stripe.com/6oU5kE6OM1ct0g35ed7Zu00" target="_blank" rel="noopener" class="inline-flex items-center gap-1.5 px-3 py-1.5 bg-rose-50 hover:bg-rose-100 border border-rose-200 hover:border-rose-300 rounded-full text-xs font-bold text-rose-700 transition"> <svg class="w-3.5 h-3.5" viewBox="0 0 24 24" fill="currentColor"><path d="M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z"/></svg> Donează </a> </div> </div> <div class="md:col-span-3"> <h3 class="text-xs font-bold uppercase tracking-wider text-gray-500 mb-4">Descoperă</h3> <ul class="space-y-2.5 text-sm"> <li><a href="https://namehub.ngrok.app/ro/names" class="text-gray-700 hover:text-indigo-700 transition">Prenume</a></li> <li><a href="https://namehub.ngrok.app/ro/names/list" class="text-gray-700 hover:text-indigo-700 transition">După origine</a></li> <li><a href="https://namehub.ngrok.app/ro/top" class="text-gray-700 hover:text-indigo-700 transition">Nume populare</a></li> <li><a href="https://namehub.ngrok.app/ro/namesakes" class="text-gray-700 hover:text-indigo-700 transition">Omonimi</a></li> <li><a href="https://namehub.ngrok.app/ro/glossary" class="text-gray-700 hover:text-indigo-700 transition">Glosar</a></li> </ul> </div> <div class="md:col-span-2"> <h3 class="text-xs font-bold uppercase tracking-wider text-gray-500 mb-4">Instrumente</h3> <ul class="space-y-2.5 text-sm"> <li><a href="https://namehub.ngrok.app/ro/name-combiner" class="text-gray-700 hover:text-indigo-700 transition">Combină numele voastre</a></li> <li><a href="https://namehub.ngrok.app/ro/names/random" class="text-gray-700 hover:text-indigo-700 transition">Generator de Nume Bebeluș</a></li> <li><a href="https://namehub.ngrok.app/ro/family-tree" class="text-gray-700 hover:text-indigo-700 transition">Arbore Genealogic</a></li> <li><a href="https://namehub.ngrok.app/ro/members" class="text-gray-700 hover:text-indigo-700 transition">Membri</a></li> </ul> </div> <div class="md:col-span-3"> <h3 class="text-xs font-bold uppercase tracking-wider text-gray-500 mb-4">Resurse</h3> <ul class="space-y-2.5 text-sm"> <li><a href="https://namehub.ngrok.app/ro/pages" class="text-gray-700 hover:text-indigo-700 transition">Articole</a></li> <li><a href="https://namehub.ngrok.app/ro/contact" class="text-gray-700 hover:text-indigo-700 transition">Contact</a></li> <li><a href="https://namehub.ngrok.app/ro/pricing" class="text-gray-700 hover:text-indigo-700 transition">Prețuri</a></li> <li> <a href="https://surnames.namehub.info/ro/names" class="inline-flex items-center gap-1 text-gray-700 hover:text-indigo-700 transition"> Nume de familie <svg class="w-3 h-3" fill="none" stroke="currentColor" viewBox="0 0 24 24" stroke-width="2"><path stroke-linecap="round" stroke-linejoin="round" d="M13.5 6H5.25A2.25 2.25 0 0 0 3 8.25v10.5A2.25 2.25 0 0 0 5.25 21h10.5A2.25 2.25 0 0 0 18 18.75V10.5m-10.5 6L21 3m0 0h-5.25M21 3v5.25"/></svg> </a> </li> </ul> </div> </div> <div class="pt-6 border-t border-gray-200"> <div class="flex flex-col md:flex-row justify-between items-center gap-4 text-sm"> <div class="text-gray-500"> &copy; 2026 NameHub. Toate drepturile rezervate. </div> <nav class="flex flex-wrap items-center gap-x-6 gap-y-2 text-gray-500"> <a href="https://namehub.ngrok.app/ro/page/privacy-policy" class="hover:text-indigo-700 transition">Politica de confidențialitate</a> <a href="https://namehub.ngrok.app/ro/page/terms-of-service" class="hover:text-indigo-700 transition">Termeni și condiții</a> </nav> </div> </div> </div> </footer> <div class="js-cookie-consent cookie-consent fixed bottom-0 inset-x-0 z-50 p-4"> <div class="max-w-3xl mx-auto"> <div class="bg-white rounded-2xl shadow-2xl border border-gray-200 px-6 py-5 flex flex-col sm:flex-row items-start sm:items-center gap-4"> <div class="flex items-start gap-3 flex-1"> <div class="w-10 h-10 rounded-xl bg-indigo-100 flex items-center justify-center shrink-0 mt-0.5"> <svg class="w-5 h-5 text-indigo-600" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M12 8v4m0 4h.01M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z"/></svg> </div> <div> <p class="text-sm font-medium text-gray-800 mb-0.5">We use cookies</p> <p class="text-xs text-gray-500">We use essential cookies to make NameHub work. We'd also like to set analytics cookies to understand how you use the site. <a href="https://namehub.ngrok.app/ro/page/privacy-policy" class="text-indigo-600 hover:underline">Privacy Policy</a></p> </div> </div> <div class="flex items-center gap-2 shrink-0"> <button class="js-cookie-consent-agree cookie-consent__agree cursor-pointer px-5 py-2 bg-indigo-600 text-white text-sm font-medium rounded-lg hover:bg-indigo-700 transition"> Accept </button> <button onclick="document.querySelector('.js-cookie-consent').style.display='none'" class="cursor-pointer px-5 py-2 bg-gray-100 text-gray-600 text-sm font-medium rounded-lg hover:bg-gray-200 transition"> Decline </button> </div> </div> </div> </div> <script> window.laravelCookieConsent = (function () { const COOKIE_VALUE = 1; const COOKIE_DOMAIN = 'namehub.ngrok.app'; function consentWithCookies() { setCookie('laravel_cookie_consent', COOKIE_VALUE, 7300); hideCookieDialog(); } function cookieExists(name) { return (document.cookie.split('; ').indexOf(name + '=' + COOKIE_VALUE) !== -1); } function hideCookieDialog() { const dialogs = document.getElementsByClassName('js-cookie-consent'); for (let i = 0; i < dialogs.length; ++i) { dialogs[i].style.display = 'none'; } } function setCookie(name, value, expirationInDays) { const date = new Date(); date.setTime(date.getTime() + (expirationInDays * 24 * 60 * 60 * 1000)); document.cookie = name + '=' + value + ';expires=' + date.toUTCString() + ';domain=' + COOKIE_DOMAIN + ';path=/' + ';samesite=lax'; } if (cookieExists('laravel_cookie_consent')) { hideCookieDialog(); } const buttons = document.getElementsByClassName('js-cookie-consent-agree'); for (let i = 0; i < buttons.length; ++i) { buttons[i].addEventListener('click', consentWithCookies); } return { consentWithCookies: consentWithCookies, hideCookieDialog: hideCookieDialog }; })(); </script> <script> document.getElementById('mobile-menu-btn')?.addEventListener('click', function() { document.getElementById('mobile-menu')?.classList.toggle('hidden'); document.getElementById('mobile-lang-menu')?.classList.add('hidden'); }); document.getElementById('mobile-lang-btn')?.addEventListener('click', function(e) { e.stopPropagation(); document.getElementById('mobile-lang-menu')?.classList.toggle('hidden'); document.getElementById('mobile-menu')?.classList.add('hidden'); }); document.getElementById('lang-switcher-btn')?.addEventListener('click', function(e) { e.stopPropagation(); document.getElementById('lang-switcher-menu')?.classList.toggle('hidden'); document.getElementById('tools-dropdown-menu')?.classList.add('hidden'); }); document.getElementById('tools-dropdown-btn')?.addEventListener('click', function(e) { e.stopPropagation(); document.getElementById('tools-dropdown-menu')?.classList.toggle('hidden'); document.getElementById('lang-switcher-menu')?.classList.add('hidden'); }); document.getElementById('profile-dropdown-btn')?.addEventListener('click', function(e) { e.stopPropagation(); document.getElementById('profile-dropdown-menu')?.classList.toggle('hidden'); document.getElementById('lang-switcher-menu')?.classList.add('hidden'); }); document.getElementById('auth-dropdown-btn')?.addEventListener('click', function(e) { e.stopPropagation(); document.getElementById('auth-dropdown-menu')?.classList.toggle('hidden'); document.getElementById('lang-switcher-menu')?.classList.add('hidden'); }); document.addEventListener('click', function() { document.getElementById('lang-switcher-menu')?.classList.add('hidden'); document.getElementById('tools-dropdown-menu')?.classList.add('hidden'); document.getElementById('profile-dropdown-menu')?.classList.add('hidden'); document.getElementById('auth-dropdown-menu')?.classList.add('hidden'); document.getElementById('mobile-lang-menu')?.classList.add('hidden'); }); </script> <script> (function() { const toggle = document.getElementById('header-search-toggle'); const box = document.getElementById('header-search-box'); const input = document.getElementById('header-search-input'); const results = document.getElementById('header-search-results'); if (!toggle) return; const noNamesText = "Niciun prenume g\u0103sit"; const currentLocale = "ro"; const headerSpinner = document.getElementById('header-search-spinner'); const setLoading = (on) => headerSpinner?.classList.toggle('hidden', !on); let timeout; toggle.addEventListener('click', function(e) { e.stopPropagation(); box.classList.toggle('hidden'); if (!box.classList.contains('hidden')) { input.focus(); } }); input?.addEventListener('input', function() { clearTimeout(timeout); const q = this.value.trim(); if (q.length < 2) { results.innerHTML = ''; setLoading(false); return; } setLoading(true); timeout = setTimeout(async () => { const requestedQuery = q; let names; try { const res = await fetch(`https://namehub.ngrok.app/api/names/search?q=${encodeURIComponent(q)}`); names = await res.json(); } catch (_) { names = []; } if (input.value.trim() !== requestedQuery) return; setLoading(false); const genderColors = { m: 'bg-sky-100 text-sky-600', f: 'bg-rose-100 text-rose-600', mf: 'bg-amber-100 text-amber-600' }; const genderLabels = { m: 'M', f: 'F', mf: 'M&F' }; if (names.length === 0) { results.innerHTML = '<div class="px-4 py-3 text-sm text-gray-400">' + noNamesText + '</div>'; } else { results.innerHTML = names.map(n => { const gc = genderColors[n.gender] || 'bg-gray-100 text-gray-500'; const gl = genderLabels[n.gender] || ''; const usages = n.usages ? `<div class="text-[11px] text-gray-400 truncate">${n.usages}</div>` : ''; return `<a href="/${currentLocale}/name/${n.slug}" class="flex items-center gap-3 px-4 py-2 hover:bg-indigo-50 transition border-b border-gray-50 last:border-0"> <div class="w-8 h-8 rounded-full ${gc} flex items-center justify-center font-bold text-[10px] shrink-0">${gl || n.name.charAt(0)}</div> <div class="min-w-0 flex-1 overflow-hidden"> <div class="text-sm font-medium text-gray-800 truncate">${n.name}</div> ${usages} </div> </a>`; }).join(''); } }, 250); }); input?.addEventListener('keydown', function(e) { if (e.key === 'Escape') { box.classList.add('hidden'); results.innerHTML = ''; } }); document.addEventListener('click', function(e) { if (!document.getElementById('header-search-wrapper')?.contains(e.target)) { box?.classList.add('hidden'); } }); })(); </script> <div x-data="aiChatWidget({ isAuth: false, balanceCents: 0, balancePct: 100, maxLength: 200, userKey: 'guest', streamUrl: 'https://namehub.ngrok.app/api/chat/stream', loginUrl: 'https://namehub.ngrok.app/login', topUpUrl: 'https://namehub.ngrok.app/ro/ai-pricing', csrf: 'GbeBtEkohj8DZ3ZSr3wViJhIT2oeriUfLa0T8Kfj', i18n: { outOfCreditTitle: 'Creditul AI s-a terminat', outOfCreditBody: 'Ai folosit tot creditul AI. Adaug\u0103 credit ca s\u0103 continui conversa\u021bia.', topupButton: 'Adaug\u0103 credit', loginRequiredTitle: 'Autentificare necesar\u0103', loginRequiredBody: 'Te rug\u0103m s\u0103 te autentifici pentru a folosi chatul AI.', blockedTitle: 'Cont blocat', blockedBody: 'Acest cont este blocat de la chatul AI. Contacteaz\u0103 suportul dac\u0103 crezi c\u0103 este o gre\u0219eal\u0103.', verifyEmailTitle: 'Verific\u0103-\u021bi emailul', verifyEmailBody: 'Te rug\u0103m s\u0103-\u021bi confirmi adresa de email pentru a folosi chatul AI.', verifyEmailButton: 'Verific\u0103 email', verifyEmailResend: 'Retrimite linkul de verificare', verifyEmailResent: 'Linkul a fost trimis \u2014 verific\u0103-\u021bi inboxul.', errorGeneric: 'A ap\u0103rut o eroare. Te rug\u0103m s\u0103 \u00eencerci din nou.', errorRateLimited: 'Prea multe cereri. Te rug\u0103m s\u0103 \u00eencetine\u0219ti.', }, })" class="fixed bottom-4 right-4 z-[60]" role="region" aria-label="Întreabă AI" > <button type="button" @click="toggle" x-show="!open" class="group flex items-center gap-2 rounded-full bg-indigo-600 px-4 py-3 text-white shadow-lg shadow-indigo-500/30 hover:bg-indigo-700 transition" :aria-label="'Deschide chatul'" > <svg class="h-5 w-5" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" aria-hidden="true"> <path stroke-linecap="round" stroke-linejoin="round" d="M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.86 9.86 0 0 1-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z"/> </svg> <span class="font-semibold text-sm">Întreabă AI</span> </button> <template x-if="mounted"> <div x-show="open" x-transition:enter="transition ease-out duration-150" x-transition:enter-start="opacity-0 translate-y-2" x-transition:enter-end="opacity-100 translate-y-0" class="flex flex-col w-[min(380px,calc(100vw-2rem))] h-[min(560px,calc(100vh-2rem))] rounded-2xl bg-white shadow-2xl ring-1 ring-black/10 overflow-hidden" x-cloak > <div class="flex items-center justify-between px-4 py-3 bg-gradient-to-br from-indigo-600 to-violet-600 text-white"> <div class="min-w-0 flex-1 mr-2"> <p class="font-semibold text-sm">Întreabă AI</p> <div x-show="isAuth" :title="balanceTooltip" class="mt-1.5 cursor-help w-full h-1 rounded-full bg-white/20 overflow-hidden"> <div class="h-full bg-white transition-all" :style="`width: ${balancePct}%`"></div> </div> </div> <div class="flex items-center gap-1"> <button x-show="hasHistory" @click="newConversation" class="rounded-lg p-1 hover:bg-white/10" :title="'\u00cencepe o conversa\u021bie nou\u0103'" :aria-label="'\u00cencepe o conversa\u021bie nou\u0103'" > <svg class="h-4 w-4" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" aria-hidden="true"> <path stroke-linecap="round" stroke-linejoin="round" d="M12 9v3m0 0v3m0-3h3m-3 0H9m12 0a9 9 0 11-18 0 9 9 0 0118 0z" transform="rotate(0)"/> </svg> </button> <button @click="toggle" class="rounded-lg p-1 hover:bg-white/10" :aria-label="'\u00cenchide chatul'"> <svg class="h-5 w-5" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" aria-hidden="true"> <path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12"/> </svg> </button> </div> </div> <div class="flex-1 overflow-y-auto overscroll-contain touch-pan-y px-3 py-4 space-y-3 bg-gray-50" x-ref="messages"> <template x-if="messages.length === 0"> <div class="text-center text-gray-500 text-sm pt-4"> <p>Întreabă orice despre nume — semnificații, origini, popularitate.</p> </div> </template> <template x-for="(msg, idx) in messages" :key="idx"> <div :class="msg.role === 'user' ? 'flex justify-end' : 'flex justify-start'" :data-msg-role="msg.role"> <div :class="msg.role === 'user' ? 'max-w-[80%] bg-indigo-600 text-white rounded-2xl rounded-br-sm px-3 py-2 text-sm' : 'max-w-[80%] bg-white ring-1 ring-black/5 text-gray-800 rounded-2xl rounded-bl-sm px-3 py-2 text-sm prose prose-sm max-w-none'" x-html="msg.role === 'user' ? escapeHtml(msg.content) : renderMarkdown(msg.content)" ></div> </div> </template> <div x-show="status" x-ref="statusPill" class="flex justify-start"> <div class="bg-white ring-1 ring-black/5 rounded-2xl px-3 py-2 text-sm text-gray-500 italic flex items-center gap-2"> <span class="inline-block w-2 h-2 bg-indigo-500 rounded-full animate-pulse"></span> <span x-text="status"></span> </div> </div> <div x-show="pendingSpacerPx > 0" :style="`height: ${pendingSpacerPx}px`" aria-hidden="true"></div> <div x-show="blocker" class="rounded-xl bg-amber-50 border border-amber-200 p-3 text-sm"> <p class="font-semibold text-amber-900" x-text="blocker?.title"></p> <p class="text-amber-800 mt-1" x-text="blocker?.body"></p> <div class="mt-2 flex flex-wrap gap-2"> <a x-show="blocker?.cta && blocker?.url" :href="blocker?.url" class="inline-block px-3 py-1.5 bg-amber-600 text-white text-xs font-semibold rounded-lg hover:bg-amber-700"> <span x-text="blocker?.cta"></span> </a> <button x-show="blocker?.secondaryAction === 'resend_verification'" @click="resendVerification" :disabled="resendBusy" class="inline-block px-3 py-1.5 bg-white border border-amber-600 text-amber-700 text-xs font-semibold rounded-lg hover:bg-amber-50 disabled:opacity-60"> <span x-text="resendBusy ? '…' : i18n.verifyEmailResend"></span> </button> </div> </div> </div> <form @submit.prevent="send" class="border-t border-gray-200 px-2 pt-2 pb-1 bg-white"> <div class="flex gap-2"> <input type="text" x-model="draft" :placeholder="'Scrie \u00eentrebarea ta\u2026'" :disabled="busy" :maxlength="maxLength" class="flex-1 rounded-xl border border-gray-200 px-3 py-2 text-sm focus:border-indigo-500 focus:outline-none focus:ring-2 focus:ring-indigo-500/20 disabled:bg-gray-100" > <button type="submit" :disabled="busy || draft.trim() === '' || draft.length > maxLength" class="rounded-xl bg-indigo-600 px-3 py-2 text-white text-sm font-semibold hover:bg-indigo-700 disabled:opacity-50 disabled:cursor-not-allowed" > Trimite </button> </div> <div class="text-[10px] text-right pr-1 mt-0.5 select-none" :class="draft.length > maxLength * 0.9 ? 'text-amber-600' : 'text-gray-400'"> <span x-text="draft.length"></span>/<span x-text="maxLength"></span> </div> </form> </div> </template> </div> </body> </html>