fix: use toggle component with single pattern

This commit is contained in:
2026-10-10 10:31:03 +05:00
parent 6288b03ac0
commit 4eb657dd50
4 changed files with 10 additions and 14 deletions
+5 -4
View File
@@ -159,11 +159,12 @@ round-семантика `clampByte` и trunc-семантика `clampInt` со
`ToolPickerButton.svelte` переведены на него — по ~15 одинаковых строк удалено
из каждого.
### L3. Несогласованный API `Toggle`
### L3. Несогласованный API `Toggle` — СДЕЛАНО (2026-10)
`SchemaToolView.svelte:811` — `bind:checked={aligned}`;
`SchemaPreview.svelte:114-118` тот же компонент — `checked` + `onchange`.
Компонент (`ui/Toggle.svelte:7`) поддерживает оба; стоит выбрать один паттерн.
Единый паттерн — `bind:checked` (задокументирован в `Toggle.svelte`; `onchange`
оставлен только для side-эффектов). `SchemaPreview.svelte`: `aligned` стал
`$bindable`, пропс `ontogglealign` удалён; `SchemaToolView` передаёт
`bind:aligned`.
### L4. Непроверяемые `as`-касты схемы
@@ -25,7 +25,6 @@
running?: boolean;
error?: string;
aligned?: boolean;
ontogglealign?: () => void;
head: PreviewHeadModel;
source: PreviewSourceModel;
steps?: PreviewStepsModel;
@@ -37,8 +36,7 @@
toolId,
running = false,
error = "",
aligned = false,
ontogglealign,
aligned = $bindable(false),
head,
source,
steps = {},
@@ -66,11 +64,7 @@
<span class="label">{t("resultCard.previewPanel")}</span>
{#if stepResults.length > 1}
<label class="align-toggle">
<Toggle
checked={aligned}
label={t("chain.alignToggle")}
onchange={() => ontogglealign?.()}
/>
<Toggle bind:checked={aligned} label={t("chain.alignToggle")} />
<span>{t("chain.alignToggle")}</span>
</label>
{/if}
@@ -503,8 +503,7 @@
resultKind={displayResultKind}
running={busy}
error={errorText}
{aligned}
ontogglealign={() => (aligned = !aligned)}
bind:aligned
head={{
format,
quality: currentQuality,
+2
View File
@@ -1,7 +1,9 @@
<script lang="ts">
interface Props {
/** Primary pattern: bind:checked. */
checked: boolean;
label?: string;
/** Only for side effects beyond the value flip. */
onchange?: (checked: boolean) => void;
}
let { checked = $bindable(), label, onchange }: Props = $props();