refactor(js): migrate JavaScript files to module directories

Move 47 JS files from static/{admin,vendor,shared}/js/ to their
respective module directories app/modules/*/static/*/js/:

- Orders: orders.js, order-detail.js
- Catalog: products.js (renamed from vendor-products.js), product-*.js
- Inventory: inventory.js (admin & vendor)
- Customers: customers.js, users.js, user-*.js
- Billing: billing-history.js, subscriptions.js, subscription-tiers.js,
  billing.js, invoices.js, feature-store.js, upgrade-prompts.js
- Messaging: messages.js, notifications.js, email-templates.js
- Marketplace: marketplace*.js, letzshop*.js, onboarding.js
- Monitoring: monitoring.js, background-tasks.js, imports.js, logs.js
- Dev Tools: testing-*.js, code-quality-*.js

Update 39 templates to reference new module static paths using
url_for('{module}_static', path='...') pattern.

Files staying in static/ (platform core):
- admin: dashboard, login, platforms, vendors, companies, admin-users,
  settings, components, init-alpine, module-config
- vendor: dashboard, login, profile, settings, team, media, init-alpine
- shared: api-client, utils, money, icons, log-config, vendor-selector,
  media-picker

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-01-30 22:08:20 +01:00
parent 434db1560a
commit 0b4291d893
86 changed files with 63 additions and 63 deletions

View File

@@ -1,4 +1,4 @@
// static/admin/js/subscription-tiers.js // app/modules/billing/static/admin/js/subscription-tiers.js
// noqa: JS-003 - Uses ...baseData which is data() with safety check // noqa: JS-003 - Uses ...baseData which is data() with safety check
const tiersLog = window.LogConfig?.loggers?.subscriptionTiers || window.LogConfig?.createLogger?.('subscriptionTiers') || console; const tiersLog = window.LogConfig?.loggers?.subscriptionTiers || window.LogConfig?.createLogger?.('subscriptionTiers') || console;

View File

@@ -1,4 +1,4 @@
// static/shared/js/feature-store.js // app/modules/billing/static/shared/js/feature-store.js
/** /**
* Feature Store for Alpine.js * Feature Store for Alpine.js
* *

View File

@@ -1,4 +1,4 @@
// static/shared/js/upgrade-prompts.js // app/modules/billing/static/shared/js/upgrade-prompts.js
/** /**
* Upgrade Prompts System * Upgrade Prompts System
* *

View File

@@ -1,4 +1,4 @@
// static/vendor/js/billing.js // app/modules/billing/static/vendor/js/billing.js
// Vendor billing and subscription management // Vendor billing and subscription management
const billingLog = window.LogConfig?.createLogger('BILLING') || console; const billingLog = window.LogConfig?.createLogger('BILLING') || console;

View File

@@ -1,4 +1,4 @@
// static/vendor/js/invoices.js // app/modules/billing/static/vendor/js/invoices.js
/** /**
* Vendor invoice management page logic * Vendor invoice management page logic
*/ */

View File

@@ -1,4 +1,4 @@
// static/admin/js/vendor-product-create.js // app/modules/catalog/static/admin/js/product-create.js
/** /**
* Admin vendor product create page logic * Admin vendor product create page logic
* Create new vendor product entries with translations * Create new vendor product entries with translations

View File

@@ -1,4 +1,4 @@
// static/admin/js/vendor-product-detail.js // app/modules/catalog/static/admin/js/product-detail.js
/** /**
* Admin vendor product detail page logic * Admin vendor product detail page logic
* View and manage individual vendor catalog products * View and manage individual vendor catalog products

View File

@@ -1,4 +1,4 @@
// static/admin/js/vendor-product-edit.js // app/modules/catalog/static/admin/js/product-edit.js
/** /**
* Admin vendor product edit page logic * Admin vendor product edit page logic
* Edit vendor product information with translations * Edit vendor product information with translations

View File

@@ -1,4 +1,4 @@
// static/vendor/js/product-create.js // app/modules/catalog/static/vendor/js/product-create.js
/** /**
* Vendor product creation page logic * Vendor product creation page logic
*/ */

View File

@@ -1,4 +1,4 @@
// static/vendor/js/products.js // app/modules/catalog/static/vendor/js/products.js
/** /**
* Vendor products management page logic * Vendor products management page logic
* View, edit, and manage vendor's product catalog * View, edit, and manage vendor's product catalog

View File

@@ -1,4 +1,4 @@
// static/admin/js/user-create.js // app/modules/customers/static/admin/js/user-create.js
// Create custom logger for admin user create // Create custom logger for admin user create
const userCreateLog = window.LogConfig.createLogger('ADMIN-USER-CREATE'); const userCreateLog = window.LogConfig.createLogger('ADMIN-USER-CREATE');

View File

@@ -1,4 +1,4 @@
// static/admin/js/user-edit.js // app/modules/customers/static/admin/js/user-edit.js
// Create custom logger for user edit // Create custom logger for user edit
const userEditLog = window.LogConfig.createLogger('USER-EDIT'); const userEditLog = window.LogConfig.createLogger('USER-EDIT');

View File

@@ -1,4 +1,4 @@
// static/vendor/js/customers.js // app/modules/customers/static/vendor/js/customers.js
/** /**
* Vendor customers management page logic * Vendor customers management page logic
* View and manage customer relationships * View and manage customer relationships

View File

@@ -1,4 +1,4 @@
// static/admin/js/testing-hub.js // app/modules/dev_tools/static/admin/js/testing-hub.js
// ✅ Use centralized logger - ONE LINE! // ✅ Use centralized logger - ONE LINE!
// Create custom logger for testing hub // Create custom logger for testing hub

View File

@@ -1,4 +1,4 @@
// static/vendor/js/inventory.js // app/modules/inventory/static/vendor/js/inventory.js
/** /**
* Vendor inventory management page logic * Vendor inventory management page logic
* View and manage stock levels * View and manage stock levels

View File

@@ -1,4 +1,4 @@
// static/admin/js/letzshop-vendor-directory.js // app/modules/marketplace/static/admin/js/letzshop-vendor-directory.js
/** /**
* Admin Letzshop Vendor Directory page logic * Admin Letzshop Vendor Directory page logic
* Browse and import vendors from Letzshop marketplace * Browse and import vendors from Letzshop marketplace

View File

@@ -1,4 +1,4 @@
// static/admin/js/letzshop.js // app/modules/marketplace/static/admin/js/letzshop.js
/** /**
* Admin Letzshop management page logic * Admin Letzshop management page logic
*/ */

View File

@@ -1,4 +1,4 @@
// static/vendor/js/letzshop.js // app/modules/marketplace/static/vendor/js/letzshop.js
/** /**
* Vendor Letzshop orders management page logic * Vendor Letzshop orders management page logic
*/ */

View File

@@ -1,4 +1,4 @@
// static/vendor/js/marketplace.js // app/modules/marketplace/static/vendor/js/marketplace.js
/** /**
* Vendor marketplace import page logic * Vendor marketplace import page logic
*/ */

View File

@@ -1,4 +1,4 @@
// static/vendor/js/onboarding.js // app/modules/marketplace/static/vendor/js/onboarding.js
// noqa: js-003 - Standalone page without vendor layout (no base.html extends) // noqa: js-003 - Standalone page without vendor layout (no base.html extends)
// noqa: js-004 - Standalone page has no currentPage sidebar highlight // noqa: js-004 - Standalone page has no currentPage sidebar highlight
/** /**

View File

@@ -1,4 +1,4 @@
// static/vendor/js/notifications.js // app/modules/messaging/static/vendor/js/notifications.js
/** /**
* Vendor notifications center page logic * Vendor notifications center page logic
* View and manage notifications * View and manage notifications

View File

@@ -1,4 +1,4 @@
// static/vendor/js/order-detail.js // app/modules/orders/static/vendor/js/order-detail.js
/** /**
* Vendor order detail page logic * Vendor order detail page logic
* View order details, manage status, handle shipments, and invoice integration * View order details, manage status, handle shipments, and invoice integration

View File

@@ -1,4 +1,4 @@
// static/vendor/js/orders.js // app/modules/orders/static/vendor/js/orders.js
/** /**
* Vendor orders management page logic * Vendor orders management page logic
* View and manage vendor's orders * View and manage vendor's orders

View File

@@ -203,5 +203,5 @@
{% endblock %} {% endblock %}
{% block extra_scripts %} {% block extra_scripts %}
<script src="{{ url_for('static', path='admin/js/billing-history.js') }}"></script> <script src="{{ url_for('billing_static', path='admin/js/billing-history.js') }}"></script>
{% endblock %} {% endblock %}

View File

@@ -315,5 +315,5 @@
document.head.appendChild(script); document.head.appendChild(script);
})(); })();
</script> </script>
<script src="{{ url_for('static', path='admin/js/customers.js') }}"></script> <script src="{{ url_for('customers_static', path='admin/js/customers.js') }}"></script>
{% endblock %} {% endblock %}

View File

@@ -362,5 +362,5 @@
{% endblock %} {% endblock %}
{% block extra_scripts %} {% block extra_scripts %}
<script src="{{ url_for('static', path='admin/js/email-templates.js') }}"></script> <script src="{{ url_for('messaging_static', path='admin/js/email-templates.js') }}"></script>
{% endblock %} {% endblock %}

View File

@@ -599,5 +599,5 @@
{% endblock %} {% endblock %}
{% block extra_scripts %} {% block extra_scripts %}
<script src="{{ url_for('static', path='admin/js/inventory.js') }}"></script> <script src="{{ url_for('inventory_static', path='admin/js/inventory.js') }}"></script>
{% endblock %} {% endblock %}

View File

@@ -426,5 +426,5 @@
{% endblock %} {% endblock %}
{% block extra_scripts %} {% block extra_scripts %}
<script src="{{ url_for('static', path='admin/js/letzshop-vendor-directory.js') }}"></script> <script src="{{ url_for('marketplace_static', path='admin/js/letzshop-vendor-directory.js') }}"></script>
{% endblock %} {% endblock %}

View File

@@ -407,5 +407,5 @@
{% endblock %} {% endblock %}
{% block extra_scripts %} {% block extra_scripts %}
<script src="{{ url_for('static', path='admin/js/logs.js') }}"></script> <script src="{{ url_for('monitoring_static', path='admin/js/logs.js') }}"></script>
{% endblock %} {% endblock %}

View File

@@ -599,5 +599,5 @@
document.head.appendChild(script); document.head.appendChild(script);
})(); })();
</script> </script>
<script src="{{ url_for('static', path='admin/js/marketplace-letzshop.js') }}"></script> <script src="{{ url_for('marketplace_static', path='admin/js/marketplace-letzshop.js') }}"></script>
{% endblock %} {% endblock %}

View File

@@ -388,5 +388,5 @@
{% endblock %} {% endblock %}
{% block extra_scripts %} {% block extra_scripts %}
<script src="{{ url_for('static', path='admin/js/marketplace-product-detail.js') }}"></script> <script src="{{ url_for('marketplace_static', path='admin/js/marketplace-product-detail.js') }}"></script>
{% endblock %} {% endblock %}

View File

@@ -472,5 +472,5 @@
document.head.appendChild(script); document.head.appendChild(script);
})(); })();
</script> </script>
<script src="{{ url_for('static', path='admin/js/marketplace-products.js') }}"></script> <script src="{{ url_for('marketplace_static', path='admin/js/marketplace-products.js') }}"></script>
{% endblock %} {% endblock %}

View File

@@ -347,5 +347,5 @@
{% endblock %} {% endblock %}
{% block extra_scripts %} {% block extra_scripts %}
<script src="{{ url_for('static', path='admin/js/marketplace.js') }}?v=2"></script> <script src="{{ url_for('marketplace_static', path='admin/js/marketplace.js') }}?v=2"></script>
{% endblock %} {% endblock %}

View File

@@ -332,5 +332,5 @@
{% endblock %} {% endblock %}
{% block extra_scripts %} {% block extra_scripts %}
<script src="{{ url_for('static', path='admin/js/messages.js') }}"></script> <script src="{{ url_for('messaging_static', path='admin/js/messages.js') }}"></script>
{% endblock %} {% endblock %}

View File

@@ -357,5 +357,5 @@
{% endblock %} {% endblock %}
{% block extra_scripts %} {% block extra_scripts %}
<script src="{{ url_for('static', path='admin/js/notifications.js') }}"></script> <script src="{{ url_for('messaging_static', path='admin/js/notifications.js') }}"></script>
{% endblock %} {% endblock %}

View File

@@ -641,5 +641,5 @@
{% endblock %} {% endblock %}
{% block extra_scripts %} {% block extra_scripts %}
<script src="{{ url_for('static', path='admin/js/orders.js') }}"></script> <script src="{{ url_for('orders_static', path='admin/js/orders.js') }}"></script>
{% endblock %} {% endblock %}

View File

@@ -475,5 +475,5 @@
{% endblock %} {% endblock %}
{% block extra_scripts %} {% block extra_scripts %}
<script src="{{ url_for('static', path='admin/js/subscription-tiers.js') }}"></script> <script src="{{ url_for('billing_static', path='admin/js/subscription-tiers.js') }}"></script>
{% endblock %} {% endblock %}

View File

@@ -325,5 +325,5 @@
{% endblock %} {% endblock %}
{% block extra_scripts %} {% block extra_scripts %}
<script src="{{ url_for('static', path='admin/js/subscriptions.js') }}"></script> <script src="{{ url_for('billing_static', path='admin/js/subscriptions.js') }}"></script>
{% endblock %} {% endblock %}

View File

@@ -218,5 +218,5 @@
{% block extra_scripts %} {% block extra_scripts %}
{# ✅ CRITICAL: Load JavaScript file #} {# ✅ CRITICAL: Load JavaScript file #}
<script src="{{ url_for('static', path='admin/js/testing-hub.js') }}"></script> <script src="{{ url_for('dev_tools_static', path='admin/js/testing-hub.js') }}"></script>
{% endblock %} {% endblock %}

View File

@@ -189,5 +189,5 @@
{% endblock %} {% endblock %}
{% block extra_scripts %} {% block extra_scripts %}
<script src="{{ url_for('static', path='admin/js/user-create.js') }}"></script> <script src="{{ url_for('customers_static', path='admin/js/user-create.js') }}"></script>
{% endblock %} {% endblock %}

View File

@@ -221,5 +221,5 @@
{% endblock %} {% endblock %}
{% block extra_scripts %} {% block extra_scripts %}
<script src="{{ url_for('static', path='admin/js/user-detail.js') }}"></script> <script src="{{ url_for('customers_static', path='admin/js/user-detail.js') }}"></script>
{% endblock %} {% endblock %}

View File

@@ -269,5 +269,5 @@
{% endblock %} {% endblock %}
{% block extra_scripts %} {% block extra_scripts %}
<script src="{{ url_for('static', path='admin/js/user-edit.js') }}"></script> <script src="{{ url_for('customers_static', path='admin/js/user-edit.js') }}"></script>
{% endblock %} {% endblock %}

View File

@@ -240,5 +240,5 @@
{% endblock %} {% endblock %}
{% block extra_scripts %} {% block extra_scripts %}
<script src="{{ url_for('static', path='admin/js/users.js') }}"></script> <script src="{{ url_for('customers_static', path='admin/js/users.js') }}"></script>
{% endblock %} {% endblock %}

View File

@@ -508,5 +508,5 @@
})(); })();
</script> </script>
<script src="{{ url_for('static', path='shared/js/media-picker.js') }}"></script> <script src="{{ url_for('static', path='shared/js/media-picker.js') }}"></script>
<script src="{{ url_for('static', path='admin/js/vendor-product-create.js') }}"></script> <script src="{{ url_for('catalog_static', path='admin/js/product-create.js') }}"></script>
{% endblock %} {% endblock %}

View File

@@ -354,5 +354,5 @@
{% endblock %} {% endblock %}
{% block extra_scripts %} {% block extra_scripts %}
<script src="{{ url_for('static', path='admin/js/vendor-product-detail.js') }}"></script> <script src="{{ url_for('catalog_static', path='admin/js/product-detail.js') }}"></script>
{% endblock %} {% endblock %}

View File

@@ -499,5 +499,5 @@
{% block extra_scripts %} {% block extra_scripts %}
<script src="{{ url_for('static', path='shared/js/media-picker.js') }}"></script> <script src="{{ url_for('static', path='shared/js/media-picker.js') }}"></script>
<script src="{{ url_for('static', path='admin/js/vendor-product-edit.js') }}"></script> <script src="{{ url_for('catalog_static', path='admin/js/product-edit.js') }}"></script>
{% endblock %} {% endblock %}

View File

@@ -396,5 +396,5 @@
document.head.appendChild(script); document.head.appendChild(script);
})(); })();
</script> </script>
<script src="{{ url_for('static', path='admin/js/vendor-products.js') }}"></script> <script src="{{ url_for('catalog_static', path='admin/js/products.js') }}"></script>
{% endblock %} {% endblock %}

View File

@@ -72,10 +72,10 @@
<script src="{{ url_for('static', path='shared/js/api-client.js') }}"></script> <script src="{{ url_for('static', path='shared/js/api-client.js') }}"></script>
<!-- 6. SIXTH: Feature Store (depends on API Client, registers with Alpine) --> <!-- 6. SIXTH: Feature Store (depends on API Client, registers with Alpine) -->
<script src="{{ url_for('static', path='shared/js/feature-store.js') }}"></script> <script src="{{ url_for('billing_static', path='shared/js/feature-store.js') }}"></script>
<!-- 7. SEVENTH: Upgrade Prompts (depends on API Client, registers with Alpine) --> <!-- 7. SEVENTH: Upgrade Prompts (depends on API Client, registers with Alpine) -->
<script src="{{ url_for('static', path='shared/js/upgrade-prompts.js') }}"></script> <script src="{{ url_for('billing_static', path='shared/js/upgrade-prompts.js') }}"></script>
<!-- 8. EIGHTH: Alpine.js v3 with CDN fallback (with defer) --> <!-- 8. EIGHTH: Alpine.js v3 with CDN fallback (with defer) -->
<script> <script>

View File

@@ -424,5 +424,5 @@
{% endblock %} {% endblock %}
{% block extra_scripts %} {% block extra_scripts %}
<script src="/static/vendor/js/billing.js"></script> <script src="/static/modules/billing/vendor/js/billing.js"></script>
{% endblock %} {% endblock %}

View File

@@ -264,5 +264,5 @@
{% endblock %} {% endblock %}
{% block extra_scripts %} {% block extra_scripts %}
<script src="{{ url_for('static', path='vendor/js/customers.js') }}"></script> <script src="{{ url_for('customers_static', path='vendor/js/customers.js') }}"></script>
{% endblock %} {% endblock %}

View File

@@ -326,5 +326,5 @@
{% endblock %} {% endblock %}
{% block extra_scripts %} {% block extra_scripts %}
<script src="{{ url_for('static', path='vendor/js/email-templates.js') }}"></script> <script src="{{ url_for('messaging_static', path='vendor/js/email-templates.js') }}"></script>
{% endblock %} {% endblock %}

View File

@@ -370,5 +370,5 @@
{% endblock %} {% endblock %}
{% block extra_scripts %} {% block extra_scripts %}
<script src="{{ url_for('static', path='vendor/js/inventory.js') }}"></script> <script src="{{ url_for('inventory_static', path='vendor/js/inventory.js') }}"></script>
{% endblock %} {% endblock %}

View File

@@ -10,7 +10,7 @@
{% block alpine_data %}vendorInvoices(){% endblock %} {% block alpine_data %}vendorInvoices(){% endblock %}
{% block extra_scripts %} {% block extra_scripts %}
<script src="/static/vendor/js/invoices.js"></script> <script src="/static/modules/billing/vendor/js/invoices.js"></script>
{% endblock %} {% endblock %}
{% block content %} {% block content %}

View File

@@ -9,7 +9,7 @@
{% block alpine_data %}vendorLetzshop(){% endblock %} {% block alpine_data %}vendorLetzshop(){% endblock %}
{% block extra_scripts %} {% block extra_scripts %}
<script src="/static/vendor/js/letzshop.js"></script> <script src="/static/modules/marketplace/vendor/js/letzshop.js"></script>
{% endblock %} {% endblock %}
{% block content %} {% block content %}

View File

@@ -11,7 +11,7 @@
{% block alpine_data %}vendorMarketplace(){% endblock %} {% block alpine_data %}vendorMarketplace(){% endblock %}
{% block extra_scripts %} {% block extra_scripts %}
<script src="/static/vendor/js/marketplace.js"></script> <script src="/static/modules/marketplace/vendor/js/marketplace.js"></script>
{% endblock %} {% endblock %}
{% block content %} {% block content %}

View File

@@ -275,5 +275,5 @@
{% endblock %} {% endblock %}
{% block extra_scripts %} {% block extra_scripts %}
<script src="{{ url_for('static', path='vendor/js/messages.js') }}"></script> <script src="{{ url_for('messaging_static', path='vendor/js/messages.js') }}"></script>
{% endblock %} {% endblock %}

View File

@@ -226,5 +226,5 @@
{% endblock %} {% endblock %}
{% block extra_scripts %} {% block extra_scripts %}
<script src="{{ url_for('static', path='vendor/js/notifications.js') }}"></script> <script src="{{ url_for('messaging_static', path='vendor/js/notifications.js') }}"></script>
{% endblock %} {% endblock %}

View File

@@ -378,6 +378,6 @@
<script src="{{ url_for('static', path='shared/js/utils.js') }}"></script> <script src="{{ url_for('static', path='shared/js/utils.js') }}"></script>
<script src="{{ url_for('static', path='shared/js/api-client.js') }}"></script> <script src="{{ url_for('static', path='shared/js/api-client.js') }}"></script>
<script defer src="https://cdn.jsdelivr.net/npm/alpinejs@3.14.0/dist/cdn.min.js"></script> <script defer src="https://cdn.jsdelivr.net/npm/alpinejs@3.14.0/dist/cdn.min.js"></script>
<script src="{{ url_for('static', path='vendor/js/onboarding.js') }}"></script> <script src="{{ url_for('marketplace_static', path='vendor/js/onboarding.js') }}"></script>
</body> </body>
</html> </html>

View File

@@ -451,5 +451,5 @@
orderId: {{ order_id }} orderId: {{ order_id }}
}; };
</script> </script>
<script src="{{ url_for('static', path='vendor/js/order-detail.js') }}"></script> <script src="{{ url_for('orders_static', path='vendor/js/order-detail.js') }}"></script>
{% endblock %} {% endblock %}

View File

@@ -330,5 +330,5 @@
{% endblock %} {% endblock %}
{% block extra_scripts %} {% block extra_scripts %}
<script src="{{ url_for('static', path='vendor/js/orders.js') }}"></script> <script src="{{ url_for('orders_static', path='vendor/js/orders.js') }}"></script>
{% endblock %} {% endblock %}

View File

@@ -170,5 +170,5 @@
{% endblock %} {% endblock %}
{% block extra_scripts %} {% block extra_scripts %}
<script src="{{ url_for('static', path='vendor/js/product-create.js') }}"></script> <script src="{{ url_for('catalog_static', path='vendor/js/product-create.js') }}"></script>
{% endblock %} {% endblock %}

View File

@@ -364,5 +364,5 @@
{% endblock %} {% endblock %}
{% block extra_scripts %} {% block extra_scripts %}
<script src="{{ url_for('static', path='vendor/js/products.js') }}"></script> <script src="{{ url_for('catalog_static', path='vendor/js/products.js') }}"></script>
{% endblock %} {% endblock %}