feat: add marketplace products admin UI with copy-to-vendor functionality

- Add admin marketplace products page to browse imported products
- Add admin vendor products page to manage vendor catalog
- Add product detail pages for both marketplace and vendor products
- Implement copy-to-vendor API to copy marketplace products to vendor catalogs
- Add vendor product service with CRUD operations
- Update sidebar navigation with new product management links
- Add integration and unit tests for new endpoints and services

🤖 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-12 22:36:04 +01:00
parent 89c98cb645
commit 9c60989f1d
28 changed files with 4575 additions and 1414 deletions

View File

@@ -73,7 +73,14 @@
{{ menu_item('vendors', '/admin/vendors', 'shopping-bag', 'Vendors') }}
{{ menu_item('users', '/admin/users', 'users', 'Users') }}
{{ menu_item('customers', '/admin/customers', 'user-group', 'Customers') }}
{{ menu_item('marketplace', '/admin/marketplace', 'globe', 'Marketplace') }}
{% endcall %}
<!-- Product Catalog Section -->
{{ section_header('Product Catalog', 'productCatalog') }}
{% call section_content('productCatalog') %}
{{ menu_item('marketplace-products', '/admin/marketplace-products', 'database', 'Marketplace Products') }}
{{ menu_item('vendor-products', '/admin/vendor-products', 'cube', 'Vendor Products') }}
{{ menu_item('marketplace', '/admin/marketplace', 'cloud-download', 'Import') }}
{% endcall %}
<!-- Content Management Section -->
@@ -100,13 +107,14 @@
{{ menu_item('logs', '/admin/logs', 'document-text', 'Application Logs') }}
{% endcall %}
<!-- Settings (always visible) -->
<div class="px-6 my-4">
<hr class="border-gray-200 dark:border-gray-700" />
</div>
<ul>
{{ menu_item('settings', '/admin/settings', 'cog', 'Settings') }}
</ul>
<!-- Settings Section -->
{{ section_header('Settings', 'settingsSection') }}
{% call section_content('settingsSection') %}
{{ menu_item('settings', '/admin/settings', 'cog', 'General') }}
{{ menu_item('profile', '/admin/profile', 'user-circle', 'Profile') }}
{{ menu_item('api-keys', '/admin/api-keys', 'key', 'API Keys') }}
{{ menu_item('notifications-settings', '/admin/notifications-settings', 'bell', 'Notifications') }}
{% endcall %}
</div>
{% endmacro %}