2026-01-18 15:55:07 +03:00
|
|
|
<!--
|
|
|
|
|
Component: SetupFontMenu
|
|
|
|
|
Contains controls for setting up font properties.
|
|
|
|
|
-->
|
2026-01-04 10:27:46 +03:00
|
|
|
<script lang="ts">
|
2026-02-06 14:20:32 +03:00
|
|
|
import type { ResponsiveManager } from '$shared/lib';
|
2026-01-07 16:53:17 +03:00
|
|
|
import { ComboControl } from '$shared/ui';
|
2026-02-06 14:20:32 +03:00
|
|
|
import { getContext } from 'svelte';
|
2026-01-09 16:16:32 +03:00
|
|
|
import { controlManager } from '../model';
|
2026-02-06 14:20:32 +03:00
|
|
|
const responsive = getContext<ResponsiveManager>('responsive');
|
|
|
|
|
|
|
|
|
|
$effect(() => {
|
|
|
|
|
if (!responsive) {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
switch (true) {
|
|
|
|
|
case responsive.isMobile:
|
|
|
|
|
controlManager.multiplier = 0.5;
|
|
|
|
|
break;
|
|
|
|
|
case responsive.isTablet:
|
|
|
|
|
controlManager.multiplier = 0.75;
|
|
|
|
|
break;
|
|
|
|
|
case responsive.isDesktop:
|
|
|
|
|
controlManager.multiplier = 1;
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
controlManager.multiplier = 1;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
});
|
2026-01-04 10:27:46 +03:00
|
|
|
</script>
|
|
|
|
|
|
2026-02-07 11:24:44 +03:00
|
|
|
<div class="sm:py-2 sm:px-10 flex flex-row items-center gap-2">
|
2026-01-24 15:36:13 +03:00
|
|
|
<div class="flex flex-row gap-3">
|
2026-01-09 16:16:32 +03:00
|
|
|
{#each controlManager.controls as control (control.id)}
|
2026-01-24 15:36:13 +03:00
|
|
|
<ComboControl
|
|
|
|
|
control={control.instance}
|
|
|
|
|
increaseLabel={control.increaseLabel}
|
|
|
|
|
decreaseLabel={control.decreaseLabel}
|
|
|
|
|
controlLabel={control.controlLabel}
|
2026-02-07 11:24:44 +03:00
|
|
|
reduced={responsive.isMobile}
|
2026-01-24 15:36:13 +03:00
|
|
|
/>
|
2026-01-09 16:16:32 +03:00
|
|
|
{/each}
|
|
|
|
|
</div>
|
2026-01-04 10:27:46 +03:00
|
|
|
</div>
|