diff --git a/docs/plan-redesign.md b/docs/plan-redesign.md index d236c01..c5ce5ed 100644 --- a/docs/plan-redesign.md +++ b/docs/plan-redesign.md @@ -316,10 +316,9 @@ src/routes/preview/tools/[id]/+page.svelte ### Шаг 2. Витрина kit (проверка компонентов) -- [ ] **[C8]** `preview/+layout.svelte` (импорт `design2.css` + ``) и +- [x] **[C8]** `preview/+layout.svelte` (импорт `design2.css` + `` + переключатель темы) и временная `preview/kit` страница со всеми состояниями (light/dark, - hover/disabled, варианты Button/Segmented/Badge). Проверка: визуально - против `refs-html/`, старый сайт не затронут. + hover/disabled, варианты Button/Segmented/Badge и пр.) ### Шаг 3. Новые страницы @@ -383,3 +382,23 @@ src/routes/preview/tools/[id]/+page.svelte > только когда old-сайт уже выключен). > - Очерёдность зависимостей: `design2.css` (C3) и kit-компоненты (C5–C7) > должны существовать до страниц, которые их импортируют (C8–C14). + +## Бэклог полировки (после C9–C21, отдельным проходом) + +Конкретные расхождения витрины `preview/kit` с `refs-html/`. Править +системно в конце, а не по ходу сборки базы. + +- **Toggle** в дизайне прямоугольный, у нас — закруглённый. Сделать + прямоугольным (или уточнить радиус у свича отдельно от общих токенов). +- **Радиусы бордеров** не совпадают: в `refs` радиусы вообще 0, а мы взяли + ненулевой `--radius` для всех бордеров. Проверить токен `--radius` против + референсов; возможно он должен быть 0 (или близко), а скругления оставить + только там, где они реально есть в дизайне. +- **DownloadButton**: нет отступа между текстом и размером файла + (`size`-чип). Добавить `gap`/отступ внутри кнопки. +- **Поля ввода (controls)**: выглядят без паддингов (возможно артефакт самой + витрины, но визуально плохо). Проверить паддинги в `TextField`/`SelectField`/ + `ColorField`/`SliderField` против референса и поправить. +- **Segmented**: на витрине последняя кнопка растянута и нечитаемо, что это + сегмент. Проверить, как `Segmented` выглядит в реальных раскладках + (C9–C14); возможно нужен фиксированный/авто размер сегментов или перенос. diff --git a/web/src/lib/components/kit/TextField.svelte b/web/src/lib/components/kit/TextField.svelte index be8ab0f..d92d3e4 100644 --- a/web/src/lib/components/kit/TextField.svelte +++ b/web/src/lib/components/kit/TextField.svelte @@ -4,6 +4,7 @@ type?: string; placeholder?: string; readonly?: boolean; + label?: string; oninput?: (value: string) => void; } let { @@ -11,6 +12,7 @@ type = "text", placeholder = "", readonly = false, + label, oninput, }: Props = $props(); @@ -26,6 +28,7 @@ {placeholder} {readonly} {value} + aria-label={label} oninput={handle} /> diff --git a/web/src/lib/components/kit/ToolCard.svelte b/web/src/lib/components/kit/ToolCard.svelte index 2006a6f..6c5d940 100644 --- a/web/src/lib/components/kit/ToolCard.svelte +++ b/web/src/lib/components/kit/ToolCard.svelte @@ -1,20 +1,21 @@ - {#if icon}{@render icon()}{/if} + {#if icon}{/if} {index !== undefined ? index.toString().padStart(2, "0") : ""} diff --git a/web/src/lib/styles/design2.css b/web/src/lib/styles/design2.css index a478adf..bef2530 100644 --- a/web/src/lib/styles/design2.css +++ b/web/src/lib/styles/design2.css @@ -5,6 +5,18 @@ @import "@fontsource/ibm-plex-mono/400.css"; @import "@fontsource/ibm-plex-mono/500.css"; +/* Минимальный reset (новый дизайн грузится только на preview-маршрутах). */ +*, +*::before, +*::after { + box-sizing: border-box; +} +html, +body { + margin: 0; + padding: 0; +} + /* Новый дизайн: токены (§2 плана redesign). Файл грузится только layout'ом новой ветки (preview/+layout), поэтому глобально не конфликтует со старым app.css. */ diff --git a/web/src/routes/preview/+layout.svelte b/web/src/routes/preview/+layout.svelte new file mode 100644 index 0000000..731946d --- /dev/null +++ b/web/src/routes/preview/+layout.svelte @@ -0,0 +1,40 @@ + + +
+ {@render children()} +
+ +
+
+ + diff --git a/web/src/routes/preview/kit/+page.svelte b/web/src/routes/preview/kit/+page.svelte new file mode 100644 index 0000000..44ead2f --- /dev/null +++ b/web/src/routes/preview/kit/+page.svelte @@ -0,0 +1,251 @@ + + +
+
+ KIT SHOWCASE + +
+ + + +
+ + + + + + + + + {}} /> + {}} + /> + {}} + /> + +
+ + {}} /> + +
+ + + +
+ + + + + + + + +
+
+ + + +
+ + + default + accent + success + amber + +
+
+ + + +
+ + + + {}}> + + +
+
+ + + +
+ {#each tools as tool, i (tool.title)} + + {/each} +
+
+ + + +
+ + + + + + + + + +
+ + + +
+ + + +
+ + + + {}} + /> +
+
+
+ +