{"release_id":"01a1c502-4ad1-0000-ec62-adc54d3c69aa","chunk_id":"01a1c502-4bce-71b1-95d8-4adb16a8a0ac","file":"BBgeEpKH.mjs","mappings":"08BAAA,SAwBE,IAAAA,iBAAS,EAAK,QAKTC,EAAWC,EAAA,IAAAC,EAAA,SAAA,MAA6B,mBAAkBA,EAAA,QAAA,CAAA,GAAe,IAAI,EAC7EC,EAAWF,EAAA,IAAAC,EAAA,UAAwBE,EAAE,WAAW,CAAA,MAGtDC,EAAOC,EAAA,EACNC,IADDF,CAAO,MACNE,CAAC,eAC0CC,EAAYN,EAAA,UAAA,CAAA,EAAtDO,EAAUC,EAAA,qEAAgE,eAD3EH,CAAC,EAID,IAAAI,IAJAJ,EAAC,CAAA,MAIDI,CAAG,iBAEDC,EAACC,EAAA,MAADD,EAAC,EAAA,IAADA,CAAC,SAADE,EAAAF,WAAQZ,CAAW,CAAA,QAAqBG,CAAW,CAAA,QAAnDS,CAAC,aAEDG,EAAIC,EAAA,MAAJD,EAAI,EAAA,IAAJA,CAAI,cAAqCZ,CAAW,CAAA,CAAA,MAApDY,CAAI,aAHDf,CAAW,EAAAiB,EAAAC,CAAA,EAAAD,EAAAE,EAAA,EAAA,gCAMdC,EAACC,EAAA,MAADD,EAAC,EAAA,IAADA,CAAC,wBAADA,CAAC,2BAPHT,CAAG,UAAHA,EAAG,CAAA,iBAYFW,EAAGC,EAAA,MAAHD,CAAG,EACFE,EAAYC,EAAA,oGADbH,CAAG,MAAHA,CAAG,YADCvB,EAAM,GAAAG,EAAA,gBAAAA,EAAA,UAAAe,EAAAS,CAAA,MAhBZrB,CAAO,QACNS,EAAAP,WAAQP,CAAW,CAAA,IAAnBO,EAAC,aAAAoB,CAAA,IAAoD,IAAAvB,EAAE,wBAAuB,CAAI,OAAMD,CAAW,CAAA,CAAA,QADpGE,CAAO,KAFA","names":["isSelf","profileHref","$.derived","$$props","displayName","t","article","root","a","getAvatarUrl","DuelAvatar","node","div","a_1","root_1","$.set_attribute","span","root_2","$$render","consequent","alternate","p","root_3","div_1","root_4","FollowButton","node_4","consequent_2","$0"],"sources":["../../../../../../src/lib/components/profile/UserListItem.svelte"],"sourcesContent":["<script lang=\"ts\">\n\timport { t } from '$lib/i18n';\n\timport DuelAvatar from '$lib/components/duel/DuelAvatar.svelte';\n\timport FollowButton from '$lib/components/profile/FollowButton.svelte';\n\timport { getAvatarUrl } from '$lib/avatar';\n\n\tinterface Props {\n\t\tid: string;\n\t\tnickname: string | null;\n\t\tavatarPath: string | null;\n\t\tbio: string | null;\n\t\t/** True when this row represents the viewer's own profile — no follow button. */\n\t\tisSelf?: boolean;\n\t\t/** Whether the viewer (anyone but the row's user) currently follows this row. */\n\t\tviewerFollows: boolean;\n\t\t/** When the viewer is logged out we still render the row, just without the button. */\n\t\tviewerLoggedIn: boolean;\n\t}\n\n\tlet {\n\t\tid,\n\t\tnickname,\n\t\tavatarPath,\n\t\tbio,\n\t\tisSelf = false,\n\t\tviewerFollows,\n\t\tviewerLoggedIn\n\t}: Props = $props();\n\n\tconst profileHref = $derived(nickname ? `/u/${encodeURIComponent(nickname)}` : null);\n\tconst displayName = $derived(nickname ?? t('[deleted]'));\n</script>\n\n<article class=\"row\">\n\t<a href={profileHref} class=\"row__avatar\" aria-label={t(\"open {name}'s profile\", { name: displayName })}>\n\t\t<DuelAvatar nickname={nickname} avatarUrl={getAvatarUrl(avatarPath)} size={48} href=\"\" />\n\t</a>\n\n\t<div class=\"row__main\">\n\t\t{#if profileHref}\n\t\t\t<a href={profileHref} class=\"row__name\">{displayName}</a>\n\t\t{:else}\n\t\t\t<span class=\"row__name row__name--muted\">{displayName}</span>\n\t\t{/if}\n\t\t{#if bio}\n\t\t\t<p class=\"row__bio\">{bio}</p>\n\t\t{/if}\n\t</div>\n\n\t{#if !isSelf && viewerLoggedIn && nickname}\n\t\t<div class=\"row__action\">\n\t\t\t<FollowButton targetUserId={id} initialIsFollowing={viewerFollows} source=\"list\" />\n\t\t</div>\n\t{/if}\n</article>\n\n<style>\n\t.row {\n\t\tdisplay: flex; align-items: center; gap: 14px;\n\t\tpadding: 14px 16px;\n\t\tborder: 1px solid var(--color-border);\n\t\tbackground: var(--color-surface);\n\t\tborder-radius: 14px;\n\t\ttransition: border-color 0.18s, background-color 0.18s;\n\t}\n\t.row:hover { border-color: rgba(255,255,255,0.12); background: rgba(255,255,255,0.015); }\n\n\t.row__avatar { display: inline-flex; flex-shrink: 0; text-decoration: none; }\n\n\t.row__main { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1; }\n\t.row__name {\n\t\tfont-family: var(--font-display);\n\t\tfont-size: 15px; font-weight: 700;\n\t\tcolor: var(--color-text);\n\t\ttext-decoration: none;\n\t\ttext-overflow: ellipsis; overflow: hidden; white-space: nowrap;\n\t}\n\t.row__name:hover { color: var(--color-coral); }\n\t.row__name--muted { color: var(--color-muted); opacity: 0.6; cursor: default; }\n\t.row__bio {\n\t\tfont-size: 13px; color: var(--color-muted);\n\t\tline-height: 1.4;\n\t\ttext-overflow: ellipsis; overflow: hidden; white-space: nowrap;\n\t}\n\n\t.row__action { flex-shrink: 0; }\n</style>\n"],"version":3}