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 hy: Translations = {
|
||||
notAvailable: 'չկա',
|
||||
},
|
||||
builder: {
|
||||
title: 'Մարքեթփլեյսի նախագծի խմբագիր',
|
||||
subtitle: 'Միայն bootstrap կարգավորման խմբագրման մակերես։',
|
||||
title: 'Մարկետփլեյսի կոնստրուկտոր',
|
||||
subtitle: 'Կառուցեք ձեր մարկետփլեյսը քայլ առ քայլ։',
|
||||
general: 'Ընդհանուր',
|
||||
branding: 'Բրենդինգ',
|
||||
theme: 'Թեմա',
|
||||
@@ -685,6 +685,83 @@ export const hy: 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 hy: Translations = {
|
||||
statePendingBackend: 'Սպասվում է backend ինտեգրման',
|
||||
never: 'Երբեք',
|
||||
quickActionsTitle: 'Արագ գործողություններ',
|
||||
actionEditProject: 'Խմբագրել նախագիծը',
|
||||
actionEditProject: 'Մարկետփլեյսի կոնստրուկտոր',
|
||||
actionCategories: 'Կատեգորիաներ',
|
||||
actionProducts: 'Ապրանքներ',
|
||||
actionStaticPages: 'Ստատիկ էջեր',
|
||||
|
||||
Reference in New Issue
Block a user