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:
@@ -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?',
|
||||
|
||||
@@ -868,6 +868,18 @@ export const hy: Translations = {
|
||||
homepageEmptyTitle: 'Գլխավոր էջը կարգավորված չէ',
|
||||
homepageEmptyDesc: 'Ձեր խանութն դեռ չունի կարգավորված գլխավոր էջ։ Ստեղծելու համար դիմեք աջակցության թիմին։',
|
||||
homepageBlocksHint: 'Սրանք են բլոկները, որոնք գնորդները տեսնում են գլխավոր էջում վերևից ներքև։ Քաշեք բռնակից՝ կարգը փոխելու համար։',
|
||||
livePreviewTitle: 'Կենդանի նախադիտում',
|
||||
livePreviewHint: 'Անցկացրեք դաշտի վրա՝ տեսնելու համար, թե ինչ է այն փոխում։',
|
||||
livePreviewEmpty: 'Դեռ ցուցադրելու բան չկա։',
|
||||
livePreviewButtonLabel: 'Գնումներ',
|
||||
usedByLabel: 'Օգտագործվում է՝',
|
||||
usedByHeader: 'Վերնագիր',
|
||||
usedByFooter: 'Ստորագիր',
|
||||
usedBySeo: 'Որոնման արդյունքներ',
|
||||
usedByButtons: 'Կոճակներ',
|
||||
usedByLinks: 'Հղումներ',
|
||||
usedByBadges: 'Կրծքանշաններ',
|
||||
usedByPageBackground: 'Էջի ֆոն',
|
||||
addBlockHint: 'Ավելացնել բլոկ գլխավոր էջում.',
|
||||
dragToReorder: 'Քաշեք՝ կարգը փոխելու համար',
|
||||
blockRemoveConfirm: 'Հեռացնե՞լ այս բլոկը գլխավոր էջից։',
|
||||
|
||||
@@ -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: 'Удалить этот блок с главной страницы?',
|
||||
|
||||
@@ -869,6 +869,18 @@ export interface Translations {
|
||||
homepageBlocksHint: string;
|
||||
addBlockHint: string;
|
||||
dragToReorder: string;
|
||||
livePreviewTitle: string;
|
||||
livePreviewHint: string;
|
||||
livePreviewEmpty: string;
|
||||
livePreviewButtonLabel: string;
|
||||
usedByLabel: string;
|
||||
usedByHeader: string;
|
||||
usedByFooter: string;
|
||||
usedBySeo: string;
|
||||
usedByButtons: string;
|
||||
usedByLinks: string;
|
||||
usedByBadges: string;
|
||||
usedByPageBackground: string;
|
||||
blockRemoveConfirm: string;
|
||||
blockHero: string;
|
||||
blockHeroDesc: string;
|
||||
|
||||
Reference in New Issue
Block a user