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
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:
@@ -880,6 +880,16 @@ export const en: Translations = {
|
||||
usedByLinks: 'Links',
|
||||
usedByBadges: 'Badges',
|
||||
usedByPageBackground: 'Page background',
|
||||
resetField: 'Reset',
|
||||
propertySearchLabel: 'Search settings',
|
||||
propertySearchPlaceholder: 'Search settings…',
|
||||
propertySearchResultsLabel: 'Search results',
|
||||
propertySearchNoResults: 'No matching settings.',
|
||||
unsavedChangesPanelTitle: 'Unsaved changes',
|
||||
navigationHeaderEmptyTitle: 'No header links yet',
|
||||
navigationHeaderEmptyDesc: 'Add a link so customers can navigate from the header.',
|
||||
navigationFooterEmptyTitle: 'No footer links yet',
|
||||
navigationFooterEmptyDesc: 'Add a link so customers can navigate from the footer.',
|
||||
addBlockHint: 'Add a block to your homepage:',
|
||||
dragToReorder: 'Drag to reorder',
|
||||
blockRemoveConfirm: 'Remove this block from the homepage?',
|
||||
|
||||
@@ -880,6 +880,16 @@ export const hy: Translations = {
|
||||
usedByLinks: 'Հղումներ',
|
||||
usedByBadges: 'Կրծքանշաններ',
|
||||
usedByPageBackground: 'Էջի ֆոն',
|
||||
resetField: 'Վերականգնել',
|
||||
propertySearchLabel: 'Որոնել կարգավորումներ',
|
||||
propertySearchPlaceholder: 'Որոնել կարգավորումներ…',
|
||||
propertySearchResultsLabel: 'Որոնման արդյունքներ',
|
||||
propertySearchNoResults: 'Համընկնումներ չեն գտնվել։',
|
||||
unsavedChangesPanelTitle: 'Չպահպանված փոփոխություններ',
|
||||
navigationHeaderEmptyTitle: 'Վերնագրում հղումներ դեռ չկան',
|
||||
navigationHeaderEmptyDesc: 'Ավելացրեք հղում, որպեսզի գնորդները կարողանան նավարկել վերնագրից։',
|
||||
navigationFooterEmptyTitle: 'Ստորագրում հղումներ դեռ չկան',
|
||||
navigationFooterEmptyDesc: 'Ավելացրեք հղում, որպեսզի գնորդները կարողանան նավարկել ստորագրից։',
|
||||
addBlockHint: 'Ավելացնել բլոկ գլխավոր էջում.',
|
||||
dragToReorder: 'Քաշեք՝ կարգը փոխելու համար',
|
||||
blockRemoveConfirm: 'Հեռացնե՞լ այս բլոկը գլխավոր էջից։',
|
||||
|
||||
@@ -880,6 +880,16 @@ export const ru: Translations = {
|
||||
usedByLinks: 'Ссылки',
|
||||
usedByBadges: 'Значки',
|
||||
usedByPageBackground: 'Фон страницы',
|
||||
resetField: 'Сбросить',
|
||||
propertySearchLabel: 'Поиск настроек',
|
||||
propertySearchPlaceholder: 'Поиск настроек…',
|
||||
propertySearchResultsLabel: 'Результаты поиска',
|
||||
propertySearchNoResults: 'Совпадений не найдено.',
|
||||
unsavedChangesPanelTitle: 'Несохранённые изменения',
|
||||
navigationHeaderEmptyTitle: 'В шапке пока нет ссылок',
|
||||
navigationHeaderEmptyDesc: 'Добавьте ссылку, чтобы покупатели могли перемещаться из шапки сайта.',
|
||||
navigationFooterEmptyTitle: 'В подвале пока нет ссылок',
|
||||
navigationFooterEmptyDesc: 'Добавьте ссылку, чтобы покупатели могли перемещаться из подвала сайта.',
|
||||
addBlockHint: 'Добавить блок на главную страницу:',
|
||||
dragToReorder: 'Перетащите, чтобы изменить порядок',
|
||||
blockRemoveConfirm: 'Удалить этот блок с главной страницы?',
|
||||
|
||||
@@ -881,6 +881,16 @@ export interface Translations {
|
||||
usedByLinks: string;
|
||||
usedByBadges: string;
|
||||
usedByPageBackground: string;
|
||||
resetField: string;
|
||||
propertySearchLabel: string;
|
||||
propertySearchPlaceholder: string;
|
||||
propertySearchResultsLabel: string;
|
||||
propertySearchNoResults: string;
|
||||
unsavedChangesPanelTitle: string;
|
||||
navigationHeaderEmptyTitle: string;
|
||||
navigationHeaderEmptyDesc: string;
|
||||
navigationFooterEmptyTitle: string;
|
||||
navigationFooterEmptyDesc: string;
|
||||
blockRemoveConfirm: string;
|
||||
blockHero: string;
|
||||
blockHeroDesc: string;
|
||||
|
||||
Reference in New Issue
Block a user