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 одинаковых строк удалено
|
`ToolPickerButton.svelte` переведены на него — по ~15 одинаковых строк удалено
|
||||||
из каждого.
|
из каждого.
|
||||||
|
|
||||||
### L3. Несогласованный API `Toggle`
|
### L3. Несогласованный API `Toggle` — СДЕЛАНО (2026-10)
|
||||||
|
|
||||||
`SchemaToolView.svelte:811` — `bind:checked={aligned}`;
|
Единый паттерн — `bind:checked` (задокументирован в `Toggle.svelte`; `onchange`
|
||||||
`SchemaPreview.svelte:114-118` тот же компонент — `checked` + `onchange`.
|
оставлен только для side-эффектов). `SchemaPreview.svelte`: `aligned` стал
|
||||||
Компонент (`ui/Toggle.svelte:7`) поддерживает оба; стоит выбрать один паттерн.
|
`$bindable`, пропс `ontogglealign` удалён; `SchemaToolView` передаёт
|
||||||
|
`bind:aligned`.
|
||||||
|
|
||||||
### L4. Непроверяемые `as`-касты схемы
|
### L4. Непроверяемые `as`-касты схемы
|
||||||
|
|
||||||
|
|||||||
@@ -25,7 +25,6 @@
|
|||||||
running?: boolean;
|
running?: boolean;
|
||||||
error?: string;
|
error?: string;
|
||||||
aligned?: boolean;
|
aligned?: boolean;
|
||||||
ontogglealign?: () => void;
|
|
||||||
head: PreviewHeadModel;
|
head: PreviewHeadModel;
|
||||||
source: PreviewSourceModel;
|
source: PreviewSourceModel;
|
||||||
steps?: PreviewStepsModel;
|
steps?: PreviewStepsModel;
|
||||||
@@ -37,8 +36,7 @@
|
|||||||
toolId,
|
toolId,
|
||||||
running = false,
|
running = false,
|
||||||
error = "",
|
error = "",
|
||||||
aligned = false,
|
aligned = $bindable(false),
|
||||||
ontogglealign,
|
|
||||||
head,
|
head,
|
||||||
source,
|
source,
|
||||||
steps = {},
|
steps = {},
|
||||||
@@ -66,11 +64,7 @@
|
|||||||
<span class="label">{t("resultCard.previewPanel")}</span>
|
<span class="label">{t("resultCard.previewPanel")}</span>
|
||||||
{#if stepResults.length > 1}
|
{#if stepResults.length > 1}
|
||||||
<label class="align-toggle">
|
<label class="align-toggle">
|
||||||
<Toggle
|
<Toggle bind:checked={aligned} label={t("chain.alignToggle")} />
|
||||||
checked={aligned}
|
|
||||||
label={t("chain.alignToggle")}
|
|
||||||
onchange={() => ontogglealign?.()}
|
|
||||||
/>
|
|
||||||
<span>{t("chain.alignToggle")}</span>
|
<span>{t("chain.alignToggle")}</span>
|
||||||
</label>
|
</label>
|
||||||
{/if}
|
{/if}
|
||||||
|
|||||||
@@ -503,8 +503,7 @@
|
|||||||
resultKind={displayResultKind}
|
resultKind={displayResultKind}
|
||||||
running={busy}
|
running={busy}
|
||||||
error={errorText}
|
error={errorText}
|
||||||
{aligned}
|
bind:aligned
|
||||||
ontogglealign={() => (aligned = !aligned)}
|
|
||||||
head={{
|
head={{
|
||||||
format,
|
format,
|
||||||
quality: currentQuality,
|
quality: currentQuality,
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
interface Props {
|
interface Props {
|
||||||
|
/** Primary pattern: bind:checked. */
|
||||||
checked: boolean;
|
checked: boolean;
|
||||||
label?: string;
|
label?: string;
|
||||||
|
/** Only for side effects beyond the value flip. */
|
||||||
onchange?: (checked: boolean) => void;
|
onchange?: (checked: boolean) => void;
|
||||||
}
|
}
|
||||||
let { checked = $bindable(), label, onchange }: Props = $props();
|
let { checked = $bindable(), label, onchange }: Props = $props();
|
||||||
|
|||||||
Reference in New Issue
Block a user