feat: Page Editor UX Phase 1 - live preview, hover mapping, visual layout picker

- PreviewHighlightService + appHighlightSource directive: shared hover/focus bridge between editor fields and the schematic live preview.
- BuilderLivePreviewComponent: in-page schematic homepage render (header/hero/blocks/footer) reading the same bootstrap the sections mutate, highlighting the area matching the active field.
- VisualLayoutPickerComponent: card-based layout picker (ControlValueAccessor, same shape as app-select) replacing the raw layout <select> in homepage-section.
- app-form-field gains optional usedBy/usedByLabel inputs for the "Where is this used?" helper text, wired into aria-describedby.
- Wired homepage/branding/theme sections with highlight sources + usedBy hints; live preview panel shown in project-editor-page for those three sections.
- All new copy added as translation keys (en/ru/hy).
This commit is contained in:
sdarbinyan
2026-07-27 10:00:42 +04:00
parent 96c1527d1b
commit 42f11dd8c0
24 changed files with 735 additions and 45 deletions

View File

@@ -868,6 +868,18 @@ export const ru: Translations = {
homepageEmptyTitle: 'Главная страница не настроена',
homepageEmptyDesc: 'В вашем магазине пока не настроена главная страница. Обратитесь в поддержку, чтобы её создать.',
homepageBlocksHint: 'Это блоки, которые покупатели видят на главной странице сверху вниз. Перетаскивайте за ручку, чтобы изменить порядок.',
livePreviewTitle: 'Живой предпросмотр',
livePreviewHint: 'Наведите курсор на поле, чтобы увидеть, что оно меняет.',
livePreviewEmpty: 'Пока нечего показать.',
livePreviewButtonLabel: 'В магазин',
usedByLabel: 'Используется в:',
usedByHeader: 'Шапка сайта',
usedByFooter: 'Подвал сайта',
usedBySeo: 'Результаты поиска',
usedByButtons: 'Кнопки',
usedByLinks: 'Ссылки',
usedByBadges: 'Значки',
usedByPageBackground: 'Фон страницы',
addBlockHint: 'Добавить блок на главную страницу:',
dragToReorder: 'Перетащите, чтобы изменить порядок',
blockRemoveConfirm: 'Удалить этот блок с главной страницы?',