feat(builder): redesign marketplace builder experience and navigation
Renamed the experience consistently to Marketplace Builder everywhere visible (page title/subtitle, breadcrumbs, sidebar, dashboard quick action/shortcut copy) - internal ProjectEditor class/selector names kept as-is to avoid regressions. builder.title/subtitle no longer say 'bootstrap-config editing surface' to end users. New business-oriented IA (builder-groups.model.ts): 12 existing ProjectEditorSectionIds regrouped into 8 groups (Marketplace, Branding and Design, Homepage, Content, Languages, Marketplace Features, Navigation and Search, Preview) - every existing section mapped to exactly one group, none dropped, no group points at a page that doesn't exist. New Builder landing page at /edit (was a redirect straight into the General form): readiness percent, recommended next step, one overview card per group (purpose + real complete/in-progress/not-started/unknown status, icon+text never color-alone), a Marketplace Readiness checklist, quick links. All derived from real facade/schema signals (required-field fill state, modifiedSections, staticPages, catalog counts via BackofficeDataService) or explicitly marked unknown (the "preview reviewed" check has no tracking - shown as unknown, never guessed). Section pages (/edit/:section) now share one consistent header: breadcrumb (Builder > Group > Section), draft/published + modified badges, and a contextual help panel (what is this / where visible / what happens if you skip it) sourced per group. Sidebar nav rewritten as grouped, icon-led sections with per-section and per-group status indicators; layout converted from a top pill-tab bar to a responsive sidebar (desktop 280px, tablet 72px icon rail, mobile drawer with Escape-to-close), matching the Sprint 1 admin shell pattern. Section form components themselves untouched. Routes: 'edit' is now its own landing route instead of redirecting to 'edit/general'; /builder and /project-editor redirect to 'edit'. Sprint 1/2 destinations that pointed at edit/general now point at the new edit landing page. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -406,8 +406,8 @@ export const ru: Translations = {
|
||||
notAvailable: 'н/д',
|
||||
},
|
||||
builder: {
|
||||
title: 'Редактор проекта маркетплейса',
|
||||
subtitle: 'Поверхность редактирования только bootstrap-конфигурации.',
|
||||
title: 'Конструктор маркетплейса',
|
||||
subtitle: 'Соберите свой маркетплейс шаг за шагом.',
|
||||
general: 'Общие',
|
||||
branding: 'Брендинг',
|
||||
theme: 'Тема',
|
||||
@@ -685,6 +685,83 @@ export const ru: Translations = {
|
||||
linkLabelDesc: 'Текст, отображаемый для этой ссылки навигации.',
|
||||
linkUrlDesc: 'Путь или URL, на который ведёт эта ссылка навигации.',
|
||||
linkVisibleDesc: 'Показывать ли эту ссылку навигации покупателям.',
|
||||
appName: 'Конструктор маркетплейса',
|
||||
breadcrumbRoot: 'Конструктор маркетплейса',
|
||||
statusComplete: 'Готово',
|
||||
statusInProgress: 'В процессе',
|
||||
statusNotStarted: 'Не начато',
|
||||
statusUnknown: 'Пока не отслеживается',
|
||||
draftBadge: 'Черновик',
|
||||
publishedBadge: 'Опубликовано',
|
||||
modifiedBadge: 'Есть несохранённые изменения',
|
||||
helpToggleShow: 'Что это такое?',
|
||||
helpToggleHide: 'Скрыть подсказку',
|
||||
helpWhatIsThis: 'Что это',
|
||||
helpWhySkip: 'Зачем это настраивать',
|
||||
helpWhereVisible: 'Где это видят покупатели',
|
||||
helpWhatIfSkip: 'Что будет, если пропустить',
|
||||
helpWhenReturn: 'Когда возвращаться к этому разделу',
|
||||
openSidebar: 'Открыть меню разделов',
|
||||
closeSidebar: 'Закрыть меню разделов',
|
||||
overviewTitle: 'Конструктор маркетплейса',
|
||||
overviewSubtitle: 'Соберите свой маркетплейс шаг за шагом',
|
||||
overviewReadinessLabel: 'Маркетплейс настроен на {{percent}}%',
|
||||
overviewReadinessHint: 'Основано на обязательных полях, которые вы уже заполнили.',
|
||||
overviewNextStepLabel: 'Рекомендуемый следующий шаг',
|
||||
overviewNextStepFallback: 'Все обязательные шаги выполнены — можно опубликовать маркетплейс.',
|
||||
overviewQuickLinksTitle: 'Быстрые ссылки',
|
||||
overviewSectionsTitle: 'Разделы конструктора',
|
||||
overviewOpenSection: 'Открыть раздел',
|
||||
overviewReadinessTitle: 'Готовность маркетплейса',
|
||||
readinessLogoUploaded: 'Логотип загружен',
|
||||
readinessHomepageConfigured: 'Главная страница настроена',
|
||||
readinessThemeConfigured: 'Тема настроена',
|
||||
readinessLanguagesConfigured: 'Языки настроены',
|
||||
readinessContentPagesAdded: 'Добавлены информационные страницы',
|
||||
readinessPreviewReviewed: 'Просмотр проверен',
|
||||
readinessPublished: 'Маркетплейс опубликован',
|
||||
readinessCategoriesExist: 'Есть категории',
|
||||
readinessProductsExist: 'Есть товары',
|
||||
groupMarketplaceLabel: 'Маркетплейс',
|
||||
groupMarketplaceDescription: 'Название, адрес и основная информация о вашем маркетплейсе.',
|
||||
groupMarketplacePurpose: 'Базовая информация, которая определяет ваш маркетплейс: название, домен и язык по умолчанию.',
|
||||
groupMarketplaceWhere: 'Название и адрес видны во вкладке браузера, поисковой выдаче и на всех страницах магазина.',
|
||||
groupMarketplaceSkip: 'Без названия и адреса маркетплейс не будет выглядеть завершённым для покупателей.',
|
||||
groupBrandingLabel: 'Брендинг и оформление',
|
||||
groupBrandingDescription: 'Логотип, цвета, шапка и подвал — визуальный стиль вашего магазина.',
|
||||
groupBrandingPurpose: 'Настройте, как выглядит ваш маркетплейс: логотип, цветовую палитру и элементы шапки/подвала сайта.',
|
||||
groupBrandingWhere: 'Изменения видны на каждой странице, которую видят покупатели.',
|
||||
groupBrandingSkip: 'Маркетплейс будет использовать оформление по умолчанию, не отражающее ваш бренд.',
|
||||
groupHomepageLabel: 'Главная страница',
|
||||
groupHomepageDescription: 'Баннеры, витрины и виджеты, которые покупатели видят первыми.',
|
||||
groupHomepagePurpose: 'Соберите главную страницу из блоков: приветственный баннер, подборки категорий и товаров, акции.',
|
||||
groupHomepageWhere: 'Это первая страница, которую видит покупатель, открыв ваш маркетплейс.',
|
||||
groupHomepageSkip: 'Главная страница останется пустой или будет использовать макет по умолчанию.',
|
||||
groupContentLabel: 'Контент',
|
||||
groupContentDescription: 'О компании, контакты, доставка, возврат и другие информационные страницы.',
|
||||
groupContentPurpose: 'Добавьте страницы, которым покупатели доверяют: о компании, контакты, условия доставки и возврата.',
|
||||
groupContentWhere: 'Ссылки на эти страницы обычно показываются в подвале сайта.',
|
||||
groupContentSkip: 'У покупателей не будет ответов на вопросы о доставке, возврате и контактах — это снижает доверие.',
|
||||
groupLanguagesLabel: 'Языки',
|
||||
groupLanguagesDescription: 'На каких языках работает ваш маркетплейс.',
|
||||
groupLanguagesPurpose: 'Выберите язык по умолчанию и добавьте дополнительные языки для покупателей из других регионов.',
|
||||
groupLanguagesWhere: 'Переключатель языка виден в шапке сайта на каждой странице.',
|
||||
groupLanguagesSkip: 'Маркетплейс будет доступен только на одном языке по умолчанию.',
|
||||
groupFeaturesLabel: 'Функции маркетплейса',
|
||||
groupFeaturesDescription: 'Список желаний, сравнение, отзывы, оформление заказа без регистрации и другое.',
|
||||
groupFeaturesPurpose: 'Включите или отключите функции для покупателей: список желаний, сравнение товаров, гостевой заказ.',
|
||||
groupFeaturesWhere: 'Влияет на страницы каталога, товара и оформления заказа.',
|
||||
groupFeaturesSkip: 'Маркетплейс будет использовать функции по умолчанию.',
|
||||
groupNavigationLabel: 'Навигация и поиск',
|
||||
groupNavigationDescription: 'Меню сайта и то, как покупатели находят товары.',
|
||||
groupNavigationPurpose: 'Настройте пункты меню и то, как устроена навигация по каталогу.',
|
||||
groupNavigationWhere: 'Видно в шапке сайта на каждой странице.',
|
||||
groupNavigationSkip: 'Покупатели будут использовать навигацию по умолчанию.',
|
||||
groupPreviewLabel: 'Просмотр',
|
||||
groupPreviewDescription: 'Посмотрите, как маркетплейс выглядит на десктопе, планшете и телефоне.',
|
||||
groupPreviewPurpose: 'Проверьте маркетплейс глазами покупателя перед публикацией — на разных экранах.',
|
||||
groupPreviewWhere: 'Это предпросмотр — покупатели его не видят.',
|
||||
groupPreviewSkip: 'Вы можете опубликовать изменения непроверенными.',
|
||||
},
|
||||
dashboard: {
|
||||
title: 'Панель управления',
|
||||
@@ -708,7 +785,7 @@ export const ru: Translations = {
|
||||
statePendingBackend: 'Ожидает интеграции с бэкендом',
|
||||
never: 'Никогда',
|
||||
quickActionsTitle: 'Быстрые действия',
|
||||
actionEditProject: 'Редактировать проект',
|
||||
actionEditProject: 'Конструктор маркетплейса',
|
||||
actionCategories: 'Категории',
|
||||
actionProducts: 'Товары',
|
||||
actionStaticPages: 'Статические страницы',
|
||||
|
||||
Reference in New Issue
Block a user