{"release_id":"01a1c502-4ad1-0000-ec62-adc54d3c69aa","chunk_id":"01a1c502-4c84-7a80-b7be-9840fcc72b07","file":"128.BNwR3jpZ.mjs","mappings":"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","names":["fmt","n","LOCALE_INFO","locale","div","root","header","h1","$.child","text","span","$.sibling","$.reset","p","form","input","div_1","button","input_1","a","text_3","ul","$$props","$$anchor","avatar","$.derived","getAvatarUrl","$.get","li","root_1","a_1","node","img","root_2","$.template_effect","$.set_attribute","$.append","DuelAvatar","$$render","consequent","alternate","span_1","span_2","span_3","span_4","root_4","$.set_text","text_6","consequent_1","text_4","t","p_1","$.index","part","a_2","root_6","text_7","$0","a_3","root_7","text_8","a_4","root_8","text_9","consequent_2","consequent_3","consequent_4","alternate_1","$3","$4","$5"],"sources":["../../../../../../src/routes/n/+page.svelte"],"sourcesContent":["<script lang=\"ts\">\n\timport { t, locale, LOCALE_INFO } from '$lib/i18n';\n\timport DuelAvatar from '$lib/components/duel/DuelAvatar.svelte';\n\timport { getAvatarUrl } from '$lib/avatar';\n\n\tlet { data } = $props();\n\tconst fmt = (n: number) => n.toLocaleString(LOCALE_INFO[locale()].hreflang);\n</script>\n\n<!-- The niche directory: the discovery tab's look, as plain links a crawler\n\t can follow. Searching, filtering and subscribing stay on /f?tab=niches;\n\t the search field here answers there. -->\n<div class=\"mx-auto max-w-3xl px-5 pt-24 pb-28 md:pt-28\">\n\t<header class=\"px-1 pt-6 pb-4\">\n\t\t<h1\n\t\t\tclass=\"font-display leading-[0.9] font-bold tracking-tighter\"\n\t\t\tstyle=\"font-size: clamp(2.4rem, 9vw, 4rem);\"\n\t\t>\n\t\t\t{t('all')}<br /><span class=\"text-accent\">{t('niches.')}</span>\n\t\t</h1>\n\t\t<p class=\"mt-2 text-xs text-muted\">\n\t\t\t{t('{n} communities where members post, compare and rate each other. biggest first.', {\n\t\t\t\tn: data.niches.length\n\t\t\t})}\n\t\t</p>\n\t</header>\n\n\t<form method=\"GET\" action=\"/f\" role=\"search\" class=\"mb-4 flex gap-2\">\n\t\t<input type=\"hidden\" name=\"tab\" value=\"niches\" />\n\t\t<div\n\t\t\tclass=\"flex flex-1 items-center rounded-lg border border-border bg-surface py-1 pr-2 pl-1.5 focus-within:border-accent\"\n\t\t>\n\t\t\t<button\n\t\t\t\ttype=\"submit\"\n\t\t\t\tclass=\"flex h-8 w-6 items-center justify-center rounded-md text-muted transition-colors hover:bg-surface-2 hover:text-text\"\n\t\t\t\taria-label={t('search')}\n\t\t\t>\n\t\t\t\t<svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" aria-hidden=\"true\">\n\t\t\t\t\t<circle cx=\"6\" cy=\"6\" r=\"4\" stroke=\"currentColor\" stroke-width=\"1.5\" />\n\t\t\t\t\t<path d=\"M9 9l3 3\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" />\n\t\t\t\t</svg>\n\t\t\t</button>\n\t\t\t<input\n\t\t\t\tname=\"q\"\n\t\t\t\ttype=\"search\"\n\t\t\t\tinputmode=\"search\"\n\t\t\t\tenterkeyhint=\"search\"\n\t\t\t\tautocomplete=\"off\"\n\t\t\t\taria-label={t('search niches')}\n\t\t\t\tplaceholder={t('search niches…')}\n\t\t\t\tclass=\"flex-1 appearance-none border-0 bg-transparent py-1 text-sm outline-none placeholder:text-muted focus:border-0 focus:ring-0\"\n\t\t\t/>\n\t\t</div>\n\t\t<a\n\t\t\thref=\"/n/new\"\n\t\t\tclass=\"self-center rounded-lg bg-accent px-3 py-2 text-xs font-semibold text-bg no-underline transition-colors hover:bg-accent/90\"\n\t\t\t>{t('+ new')}</a\n\t\t>\n\t</form>\n\n\t<ul class=\"grid grid-cols-1 gap-3 md:grid-cols-2\">\n\t\t{#each data.niches as n (n.slug)}\n\t\t\t{@const avatar = getAvatarUrl(n.avatarPath)}\n\t\t\t<li>\n\t\t\t\t<a\n\t\t\t\t\thref=\"/n/{n.slug}\"\n\t\t\t\t\tclass=\"flex h-full items-start gap-3 rounded-xl border border-border bg-surface p-3 no-underline transition-colors hover:bg-surface-2 md:p-4\"\n\t\t\t\t>\n\t\t\t\t\t{#if avatar}\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tsrc={avatar}\n\t\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t\t\twidth=\"48\"\n\t\t\t\t\t\t\theight=\"48\"\n\t\t\t\t\t\t\tloading=\"lazy\"\n\t\t\t\t\t\t\tdecoding=\"async\"\n\t\t\t\t\t\t\tclass=\"h-12 w-12 shrink-0 rounded-xl object-cover\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t{:else}\n\t\t\t\t\t\t<DuelAvatar nickname={n.slug} link={false} size={48} />\n\t\t\t\t\t{/if}\n\t\t\t\t\t<span class=\"min-w-0 flex-1\">\n\t\t\t\t\t\t<span class=\"block truncate font-display text-sm font-semibold text-text\">{n.name}</span\n\t\t\t\t\t\t>\n\t\t\t\t\t\t<span class=\"block text-[11px] text-muted\">\n\t\t\t\t\t\t\t{n.memberCount === 1 ? t('1 member') : t('{n} members', { n: fmt(n.memberCount) })} · {t(\n\t\t\t\t\t\t\t\t'{n} posts',\n\t\t\t\t\t\t\t\t{ n: fmt(n.postCount) }\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t{#if n.description}\n\t\t\t\t\t\t\t<span class=\"mt-1.5 line-clamp-2 text-xs leading-relaxed text-muted\"\n\t\t\t\t\t\t\t\t>{n.description}</span\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t{/if}\n\t\t\t\t\t</span>\n\t\t\t\t</a>\n\t\t\t</li>\n\t\t{/each}\n\t</ul>\n\n\t<p class=\"mt-8 text-center text-xs leading-relaxed text-muted\">\n\t\t{#each t('new here? {cock} with the {ai}, or {raters}.').split(/(\\{cock\\}|\\{ai\\}|\\{raters\\})/) as part, i (i)}{#if part === '{cock}'}<a\n\t\t\t\t\thref=\"/\"\n\t\t\t\t\tclass=\"font-semibold text-text hover:text-accent\">{t('rate my cock')}</a\n\t\t\t\t>{:else if part === '{ai}'}<a\n\t\t\t\t\thref=\"/rate\"\n\t\t\t\t\tclass=\"font-semibold text-text hover:text-accent\">{t('AI dick rater')}</a\n\t\t\t\t>{:else if part === '{raters}'}<a\n\t\t\t\t\thref=\"/r\"\n\t\t\t\t\tclass=\"font-semibold text-text hover:text-accent\">{t('get rated by real raters')}</a\n\t\t\t\t>{:else}{part}{/if}{/each}\n\t</p>\n</div>\n"],"version":3}