Files
frontend-svelte/src/features/DisplayFont/ui/FontComparer/FontComparer.svelte

36 lines
1.1 KiB
Svelte
Raw Normal View History

<script lang="ts">
import { appliedFontsManager } from '$entities/Font';
import { controlManager } from '$features/SetupFont';
import { Input } from '$shared/shadcn/ui/input';
2026-01-21 21:57:04 +03:00
import { ComparisonSlider } from '$widgets/ComparisonSlider/ui';
import { displayedFontsStore } from '../../model';
import PairSelector from '../PairSelector/PairSelector.svelte';
let displayedText = $state('The quick brown fox jumps over the lazy dog...');
const [fontA, fontB] = $derived(displayedFontsStore.selectedPair);
const hasAnyPairs = $derived(displayedFontsStore.fonts.length > 0);
$effect(() => {
2026-01-21 21:57:04 +03:00
appliedFontsManager.touch(
displayedFontsStore.fonts.map(font => ({ slug: font.id, weight: controlManager.weight })),
);
});
</script>
{#if hasAnyPairs}
<div class="flex flex-col gap-4">
<div class="flex flex-row gap-4">
<Input bind:value={displayedText} />
<PairSelector />
</div>
{#if fontA && fontB}
<ComparisonSlider
fontA={fontA}
fontB={fontB}
2026-01-21 21:57:04 +03:00
bind:text={displayedText}
/>
{/if}
</div>
{/if}