feat: Page Editor UX Phase 2 - unsaved changes panel, property search, reset property, empty states
Some checks failed
Architecture Governance / architecture (push) Has been cancelled

- ProjectEditorFacade.resetField(key): field-level revert-to-original, reusing getByPath + a new immutable setByPath (write-side counterpart, scalar/object dot-paths only).
- app-form-field gains showReset/resetLabel/(resetClicked) - a reusable per-field reset affordance, wired on branding logo/title and theme primary/background color.
- Save bar: unsaved-changes count is now clickable, expanding a field-level diff list (reuses facade.changeSummary(), already built for the Preview tab) with jump-to-section links.
- BuilderPropertySearchComponent: filters EditorSchemaService.all() by translated label/hint, jumps to the owning section - no new registry, reuses the existing schema.
- navigation-section: app-empty-state (existing component) added for empty header/footer link lists.
- Reset Section and Draft/Published badge were already implemented; not touched.
- New copy added as translation keys (en/ru/hy).
This commit is contained in:
sdarbinyan
2026-07-27 11:12:35 +04:00
parent 42f11dd8c0
commit 65c6d6f5d1
23 changed files with 432 additions and 9 deletions

View File

@@ -880,6 +880,16 @@ export const ru: Translations = {
usedByLinks: 'Ссылки',
usedByBadges: 'Значки',
usedByPageBackground: 'Фон страницы',
resetField: 'Сбросить',
propertySearchLabel: 'Поиск настроек',
propertySearchPlaceholder: 'Поиск настроек…',
propertySearchResultsLabel: 'Результаты поиска',
propertySearchNoResults: 'Совпадений не найдено.',
unsavedChangesPanelTitle: 'Несохранённые изменения',
navigationHeaderEmptyTitle: 'В шапке пока нет ссылок',
navigationHeaderEmptyDesc: 'Добавьте ссылку, чтобы покупатели могли перемещаться из шапки сайта.',
navigationFooterEmptyTitle: 'В подвале пока нет ссылок',
navigationFooterEmptyDesc: 'Добавьте ссылку, чтобы покупатели могли перемещаться из подвала сайта.',
addBlockHint: 'Добавить блок на главную страницу:',
dragToReorder: 'Перетащите, чтобы изменить порядок',
blockRemoveConfirm: 'Удалить этот блок с главной страницы?',