diff --git a/docs/architecture-audit-2026-10.md b/docs/architecture-audit-2026-10.md index f33fec4..77a2752 100644 --- a/docs/architecture-audit-2026-10.md +++ b/docs/architecture-audit-2026-10.md @@ -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`-касты схемы diff --git a/web/src/lib/components/schema/SchemaPreview.svelte b/web/src/lib/components/schema/SchemaPreview.svelte index 978ab79..66ebce2 100644 --- a/web/src/lib/components/schema/SchemaPreview.svelte +++ b/web/src/lib/components/schema/SchemaPreview.svelte @@ -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 @@ {t("resultCard.previewPanel")} {#if stepResults.length > 1} {/if} diff --git a/web/src/lib/components/schema/SchemaToolView.svelte b/web/src/lib/components/schema/SchemaToolView.svelte index 00ec979..8da5a8d 100644 --- a/web/src/lib/components/schema/SchemaToolView.svelte +++ b/web/src/lib/components/schema/SchemaToolView.svelte @@ -503,8 +503,7 @@ resultKind={displayResultKind} running={busy} error={errorText} - {aligned} - ontogglealign={() => (aligned = !aligned)} + bind:aligned head={{ format, quality: currentQuality, diff --git a/web/src/lib/components/ui/Toggle.svelte b/web/src/lib/components/ui/Toggle.svelte index e86005a..c20e2d7 100644 --- a/web/src/lib/components/ui/Toggle.svelte +++ b/web/src/lib/components/ui/Toggle.svelte @@ -1,7 +1,9 @@