mirror of
https://github.com/Matysh/houseplan-card
synced 2026-09-29 03:09:36 +00:00
feat(editors): три диалога настроек собраны в карточки-группы
«Общие настройки», «Пространство» и «Устройство на плане» были плоскими столбцами. В «Общих» девять подписей-заголовков шли вперемешку с рядами и абзацами; в «Устройстве» на 760 строк формы не было ни одного деления, и «Название» лежало в одном списке с «Дополнительными действиями». Теперь это карточки общего набора: семь в «Общих», четыре в «Пространстве», пять в «Устройстве». Набор взят как есть — он поднят в #594 и доказан на диалоге комнаты и редакторе панели (#597). Шесть пояснений переехали под «?» к своему заголовку, подзаголовку или строке; текст не переписан. Два сообщения о СОСТОЯНИИ остались на виду — решение владельца: `gs.sun_missing` и `marker.run_target_gone` говорят, что настройка сломана прямо сейчас, а второе ещё и называет пропавшую цель подстановкой, которой в статической подсказке взяться неоткуда. `gs.hint` при этом переехал из ленивого support-словаря в основной: «?» читает текст через `_t`, а не `supportT`. Тест мёртвых ключей сливает оба словаря, так что копия в support удалена во всех четырёх локалях. Классы-опоры сохранены намеренно: `.srcrow`, `.dispsection`, `.gsrow`, `.colorrow`, `.namein`, `.areasel`, `.tempin` остались на своих элементах, а карточки добавились вокруг. За эти имена держатся одиннадцать смоков, и потеря любого превратила бы ревью в чтение переписанных свидетелей. Изменён ровно один смок — `smoke_general_settings`, и изменён в сторону строгости: вместо одного списка подписей он снимает теперь два (заголовки карточек и подзаголовки внутри), требует непустоты каждой карточки, проверяет что радиус свечения лежит ВНУТРИ карточки свечения (подпись такой границей не была), что четыре переехавших пояснения доступны кнопкой и что их абзацев в форме не осталось. `src/houseplan-onboarding-runtime.ts` затронут двумя строками: он второй потребитель переименованных ключей `space.hide_*_tip` → `space.hide_*.help`. Один текст — один ключ; дублировать его ради неприкосновенности файла хуже. Потолок стартового графа поднят 291 400 → 292 500. Выросли СТРОКИ, а не код: 12 новых ключей в четырёх локалях плюс переехавший `gs.hint`. Разметка диалогов как была в ленивом редакторском графе, так там и осталась. Свидетели: `state-callout-hidden-under-help` прячет сообщение о состоянии под «?» и краснит новый блок `smoke_tap_run`; `dialog-card-loses-its-heading` обнуляет заголовок карточки и краснит `smoke_general_settings` — карточка без заголовка это снова плоский список, только с рамкой. Issue: #598 User-Visible: yes
This commit is contained in:
@@ -291,7 +291,12 @@ export const LOW_HEADROOM_WARNING_BYTES = 15_000;
|
||||
* оставлял под прежним центром 354 Б сверху — внутри шумовой полосы метрики.
|
||||
* Новый центр даёт 1 054 Б сверху и 946 Б до нижней границы полосы.
|
||||
*/
|
||||
export const INITIAL_VIEW_GZIP_CEILING = 291_400;
|
||||
// #598: +119 B — три диалога настроек получили заголовки карточек, и это
|
||||
// СТРОКИ: 12 новых ключей в четырёх локалях плюс `gs.hint`, переехавший из
|
||||
// ленивого support-словаря в основной, потому что «?» читает его через `_t`.
|
||||
// Код диалогов остался в ленивом графе; вырос словарь, который там же и был.
|
||||
// Опущен до 291 400 в #593, поднят обратно осознанно — рост объяснён здесь.
|
||||
export const INITIAL_VIEW_GZIP_CEILING = 292_500;
|
||||
export const INITIAL_VIEW_CEILING_BAND = 2_000;
|
||||
|
||||
/**
|
||||
|
||||
@@ -10255,6 +10255,30 @@ const MUTANT_DEFINITIONS = [
|
||||
replace: ' return ` ${cards.join(\',\\n \')} {\n min-width: 0;\n padding: 13px;',
|
||||
}],
|
||||
},
|
||||
{
|
||||
id: 'state-callout-hidden-under-help',
|
||||
guard: 'node demo/smoke_tap_run.mjs',
|
||||
because: '#598 К5: «Цель {id} не найдена» — сообщение о СОСТОЯНИИ, а не пояснение. '
|
||||
+ 'Спрятать его под «?» заодно с шестью настоящими подсказками легко, и тогда человек '
|
||||
+ 'узнает о сломанном действии, только если сам откроет подсказку — а подставить туда '
|
||||
+ 'идентификатор пропавшей цели вообще нечем',
|
||||
patches: [{
|
||||
file: 'src/editors/marker-dialog.ts',
|
||||
find: " ? html`<div class=\"rhint\">${this.host._t('marker.run_target_gone', { id: d.tapTarget })}</div>`",
|
||||
replace: " ? html`<span title=${this.host._t('marker.run_target_gone', { id: d.tapTarget })}></span>`",
|
||||
}],
|
||||
},
|
||||
{
|
||||
id: 'dialog-card-loses-its-heading',
|
||||
guard: 'node demo/smoke_general_settings.mjs',
|
||||
because: '#598: карточка без заголовка — это снова плоский список, только с рамкой. '
|
||||
+ 'Заголовок и есть то, ради чего задача делалась, и его потеря обязана краснеть',
|
||||
patches: [{
|
||||
file: 'src/editors/general-settings-dialog.ts',
|
||||
find: " title: this.host._t('gs.card_fills'),",
|
||||
replace: " title: '',",
|
||||
}],
|
||||
},
|
||||
{
|
||||
id: 'form-kit-writes-to-a-neighbour-key',
|
||||
guard: 'node demo/smoke_room_settings.mjs',
|
||||
|
||||
Reference in New Issue
Block a user