mirror of
https://github.com/Ku6epXBOCTuK/easy-png-tools.git
synced 2026-11-13 17:08:20 +00:00
fix: use toggle component with single pattern
This commit is contained in:
@@ -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,
|
||||
|
||||
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user