feature/comparison-slider #19

Merged
ilia merged 129 commits from feature/comparison-slider into main 2026-02-02 09:23:46 +00:00
Showing only changes of commit ef48d9815c - Show all commits

View File

@@ -1,21 +1,18 @@
<!--
Component: Page
Description: The main page component of the application.
-->
<script lang="ts"> <script lang="ts">
import { appliedFontsManager } from '$entities/Font'; import { appliedFontsManager } from '$entities/Font';
import { displayedFontsStore } from '$features/DisplayFont'; import { displayedFontsStore } from '$features/DisplayFont';
import FontDisplay from '$features/DisplayFont/ui/FontDisplay/FontDisplay.svelte'; import FontDisplay from '$features/DisplayFont/ui/FontDisplay/FontDisplay.svelte';
import { controlManager } from '$features/SetupFont'; import { controlManager } from '$features/SetupFont';
import { cn } from '$shared/shadcn/utils/shadcn-utils'; import { cn } from '$shared/shadcn/utils/shadcn-utils';
import { Section } from '$shared/ui';
import ComparisonSlider from '$widgets/ComparisonSlider/ui/ComparisonSlider/ComparisonSlider.svelte'; import ComparisonSlider from '$widgets/ComparisonSlider/ui/ComparisonSlider/ComparisonSlider.svelte';
import { FontSearch } from '$widgets/FontSearch'; import { FontSearch } from '$widgets/FontSearch';
import { cubicOut } from 'svelte/easing'; import LineSquiggleIcon from '@lucide/svelte/icons/line-squiggle';
import { Spring } from 'svelte/motion'; import ScanEyeIcon from '@lucide/svelte/icons/scan-eye';
import type {
SlideParams,
TransitionConfig,
} from 'svelte/transition';
/**
* Page Component
*/
let searchContainer: HTMLElement; let searchContainer: HTMLElement;
@@ -53,13 +50,33 @@ $effect(() => {
</div> </div>
{/key} {/key}
<div class="my-6"> {#if displayedFontsStore.fonts.length > 1}
<ComparisonSlider /> <Section class="my-12 gap-8" index={1}>
</div> {#snippet icon({ className })}
<ScanEyeIcon class={className} />
{/snippet}
{#snippet title({ className })}
<h1 class={className}>
Optical<br>Comparator
</h1>
{/snippet}
<ComparisonSlider />
</Section>
{/if}
<div class="will-change-tranform transition-transform content my-2"> {#if displayedFontsStore.hasAnyFonts}
<FontDisplay /> <Section class="my-12 gap-8" index={2}>
</div> {#snippet icon({ className })}
<LineSquiggleIcon class={className} />
{/snippet}
{#snippet title({ className })}
<h2 class={className}>
Sample<br>Set
</h2>
{/snippet}
<FontDisplay />
</Section>
{/if}
</div> </div>
<style> <style>