···
-
import { renderDate } from '$lib/dateFmt';
import { genDollcode } from '$lib/dollcode';
-
import Tooltip from './tooltip.svelte';
···
-
let { top, left, kind = 'normal', visits, id }: Props = $props();
-
const reverse = Math.random() > 0.35;
let rotation = $state((Math.random() - 0.5) * 0.4);
const opacity = Math.min(Math.random() * 0.3 + 0.4, 0.7);
···
let src = $derived(closed ? `/eyes/closed.webp` : `/eyes/${kind}_${look}.webp`);
<!-- svelte-ignore a11y_mouse_events_have_key_events -->
<!-- svelte-ignore a11y_no_static_element_interactions -->
-
targetY="group-hover:translate-y-none"
-
targetX="group-hover:-translate-x-[20%]"
-
{#snippet tooltipContent()}
-
<p class="font-monospace" style="min-width: {id.length + 15}ch;">
-
//observant/id={id}<br />
-
/date="{renderDate(
-
/count={visits.length}/
-
class="group flex gap-4 items-center scale-[0.75]"
-
flex-direction: {reverse ? 'column-reverse' : 'column'};
-
<span class="eye-text !text-base">{genDollcode(visits.length)}</span>
-
<!-- svelte-ignore a11y_missing_attribute -->
-
<img class="w-24 eye-image" style="transform: rotate({rotation}rad);" {src} />
-
<span class="eye-text">{genDollcode(visits[0])}</span>
-
@apply text-xs [font-family:Doll_Mono] opacity-30 group-hover:opacity-80;
@apply opacity-50 group-hover:opacity-100;