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 en: Translations = {
homepageEmptyTitle: 'No homepage configured',
homepageEmptyDesc: 'Your marketplace does not have a homepage set up yet. Contact support to get one created.',
homepageBlocksHint: 'These are the blocks customers see on your homepage, top to bottom. Drag the handle to reorder.',
livePreviewTitle: 'Live preview',
livePreviewHint: 'Hover a field to see what it changes.',
livePreviewEmpty: 'Nothing to preview yet.',
livePreviewButtonLabel: 'Shop now',
usedByLabel: 'Used by:',
usedByHeader: 'Header',
usedByFooter: 'Footer',
usedBySeo: 'Search results',
usedByButtons: 'Buttons',
usedByLinks: 'Links',
usedByBadges: 'Badges',
usedByPageBackground: 'Page background',
addBlockHint: 'Add a block to your homepage:',
dragToReorder: 'Drag to reorder',
blockRemoveConfirm: 'Remove this block from the homepage?',