feat(admin): sprint 19 admin dashboard, routing, i18n
- Add admin dashboard feature (models/gateway/facade/components/page) - Wire admin/products routes and backoffice coming-soon placeholders - Add lastPublishedAt to ProjectEditorFacade/state - Add dashboard i18n keys (en/ru/hy) and docs/ADMIN.md Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -30,6 +30,7 @@ export class ProjectEditorFacade {
|
||||
status: 'draft',
|
||||
lastSavedBootstrap: null,
|
||||
lastSavedAt: null,
|
||||
lastPublishedAt: null,
|
||||
draftRestored: false,
|
||||
});
|
||||
|
||||
@@ -40,6 +41,7 @@ export class ProjectEditorFacade {
|
||||
readonly homepageWidgets = computed(() => this.homepagePage()?.sections.flatMap(section => section.widgets.map(widget => ({ sectionId: section.id, sectionType: section.type, widget }))) ?? []);
|
||||
readonly status = computed(() => this.state().status);
|
||||
readonly lastSavedAt = computed(() => this.state().lastSavedAt);
|
||||
readonly lastPublishedAt = computed(() => this.state().lastPublishedAt);
|
||||
readonly draftRestored = computed(() => this.state().draftRestored);
|
||||
readonly validationIssues = computed(() => {
|
||||
const current = this.bootstrap();
|
||||
@@ -182,6 +184,7 @@ export class ProjectEditorFacade {
|
||||
lastSavedBootstrap: JSON.parse(JSON.stringify(current)),
|
||||
originalBootstrap: JSON.parse(JSON.stringify(current)),
|
||||
lastSavedAt: savedAt,
|
||||
lastPublishedAt: savedAt,
|
||||
}));
|
||||
return true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user