feat: add vendor content pages management UI

- Add routes for vendor content pages list, create, and edit
- Create content-pages.html with tabs for Platform Defaults and My Pages
- Create content-page-edit.html for creating/editing pages
- Add JavaScript for both list and edit views
- Add "Content Pages" link to vendor sidebar under new "Shop" section
- Add show_in_legal field to vendor content pages API schemas
- Platform Defaults tab shows pages that can be overridden
- My Pages tab shows vendor's custom pages and overrides

Vendors can now:
- View platform default pages and override them with custom content
- Create entirely new custom pages for their shop
- Manage navigation placement (header, footer, legal)
- Publish/unpublish pages

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2025-12-28 21:41:39 +01:00
parent 198ba4474b
commit b61255f0c3
7 changed files with 1071 additions and 0 deletions

View File

@@ -141,6 +141,29 @@ Follows same pattern as admin sidebar
</li>
</ul>
<!-- Shop Customization Section -->
<div class="px-6 my-6">
<div class="flex items-center">
<span x-html="$icon('paint-brush', 'w-5 h-5 text-gray-400')"></span>
<span class="ml-2 text-xs font-semibold text-gray-500 uppercase dark:text-gray-400">
Shop
</span>
</div>
</div>
<ul>
<li class="relative px-6 py-3">
<span x-show="currentPage === 'content-pages'"
class="absolute inset-y-0 left-0 w-1 bg-purple-600 rounded-tr-lg rounded-br-lg"
aria-hidden="true"></span>
<a class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
:class="currentPage === 'content-pages' ? 'text-gray-800 dark:text-gray-100' : ''"
:href="`/vendor/${vendorCode}/content-pages`">
<span x-html="$icon('document-text', 'w-5 h-5')"></span>
<span class="ml-4">Content Pages</span>
</a>
</li>
</ul>
<!-- Settings Section -->
<div class="px-6 my-6">
<div class="flex items-center">