feat: complete multi-platform CMS phases 2-5
Phase 2 - OMS Migration & Integration:
- Fix platform_pages.py to use get_platform_page for marketing pages
- Fix shop_pages.py to pass platform_id to content page service calls
Phase 3 - Admin Interface:
- Add platform management API (app/api/v1/admin/platforms.py)
- Add platforms admin page with stats cards
- Add Platforms menu item to admin sidebar
- Update content pages admin with platform filter and four-tab tier system
Phase 4 - Documentation:
- Add comprehensive architecture docs (docs/architecture/multi-platform-cms.md)
- Update implementation plan with completion status
Phase 5 - Vendor Dashboard:
- Add CMS usage API endpoint with tier limits
- Add usage progress bar to vendor content pages
- Add platform-default/{slug} API for preview
- Add View Default button and modal in page editor
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
30
static/vendor/js/content-page-edit.js
vendored
30
static/vendor/js/content-page-edit.js
vendored
@@ -35,6 +35,11 @@ function vendorContentPageEditor(pageId) {
|
||||
error: null,
|
||||
successMessage: null,
|
||||
|
||||
// Default preview modal state
|
||||
showingDefaultPreview: false,
|
||||
loadingDefault: false,
|
||||
defaultContent: null,
|
||||
|
||||
// Initialize
|
||||
async init() {
|
||||
// Prevent multiple initializations
|
||||
@@ -179,6 +184,31 @@ function vendorContentPageEditor(pageId) {
|
||||
}
|
||||
},
|
||||
|
||||
// Show default content preview
|
||||
async showDefaultPreview() {
|
||||
this.showingDefaultPreview = true;
|
||||
this.loadingDefault = true;
|
||||
this.defaultContent = null;
|
||||
|
||||
try {
|
||||
contentPageEditLog.info('Loading platform default for slug:', this.form.slug);
|
||||
|
||||
const response = await apiClient.get(`/vendor/content-pages/platform-default/${this.form.slug}`);
|
||||
this.defaultContent = response.data || response;
|
||||
|
||||
contentPageEditLog.info('Default content loaded');
|
||||
|
||||
} catch (err) {
|
||||
contentPageEditLog.error('Error loading default content:', err);
|
||||
this.defaultContent = {
|
||||
title: 'Error',
|
||||
content: `<p class="text-red-500">Failed to load platform default: ${err.message}</p>`
|
||||
};
|
||||
} finally {
|
||||
this.loadingDefault = false;
|
||||
}
|
||||
},
|
||||
|
||||
// Delete page (revert to default for overrides)
|
||||
async deletePage() {
|
||||
const message = this.isOverride
|
||||
|
||||
Reference in New Issue
Block a user