refactor: rename shop to storefront for consistency

Rename all "shop" directories and references to "storefront" to match
the API and route naming convention already in use.

Renamed directories:
- app/templates/shop/ → app/templates/storefront/
- static/shop/ → static/storefront/
- app/templates/shared/macros/shop/ → .../macros/storefront/
- docs/frontend/shop/ → docs/frontend/storefront/

Renamed files:
- shop.css → storefront.css
- shop-layout.js → storefront-layout.js

Updated references in:
- app/routes/storefront_pages.py (21 template references)
- app/modules/cms/routes/pages/vendor.py
- app/templates/storefront/base.html (static paths)
- All storefront templates (extends/includes)
- docs/architecture/frontend-structure.md

This aligns the template/static naming with:
- Route file: storefront_pages.py
- API directory: app/api/v1/storefront/
- Module routes: */routes/api/storefront.py
- URL paths: /storefront/*

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-01-30 22:58:28 +01:00
parent 9decb9c29e
commit 7245f79f7b
62 changed files with 94 additions and 94 deletions

View File

@@ -1,5 +1,5 @@
{# app/templates/shop/account/addresses.html #}
{% extends "shop/base.html" %}
{# app/templates/storefront/account/addresses.html #}
{% extends "storefront/base.html" %}
{% block title %}My Addresses - {{ vendor.name }}{% endblock %}

View File

@@ -1,5 +1,5 @@
{# app/templates/shop/account/dashboard.html #}
{% extends "shop/base.html" %}
{# app/templates/storefront/account/dashboard.html #}
{% extends "storefront/base.html" %}
{% from 'shared/macros/modals.html' import confirm_modal %}
{% block title %}My Account - {{ vendor.name }}{% endblock %}

View File

@@ -1,4 +1,4 @@
{# app/templates/shop/account/forgot-password.html #}
{# app/templates/storefront/account/forgot-password.html #}
{# standalone #}
<!DOCTYPE html>
<html :class="{ 'dark': dark }" x-data="forgotPassword()" lang="en">

View File

@@ -1,4 +1,4 @@
{# app/templates/shop/account/login.html #}
{# app/templates/storefront/account/login.html #}
<!DOCTYPE html>
<html :class="{ 'dark': dark }" x-data="customerLogin()" lang="en">
<head>

View File

@@ -1,5 +1,5 @@
{# app/templates/shop/account/messages.html #}
{% extends "shop/base.html" %}
{# app/templates/storefront/account/messages.html #}
{% extends "storefront/base.html" %}
{% block title %}Messages - {{ vendor.name }}{% endblock %}

View File

@@ -1,5 +1,5 @@
{# app/templates/shop/account/order-detail.html #}
{% extends "shop/base.html" %}
{# app/templates/storefront/account/order-detail.html #}
{% extends "storefront/base.html" %}
{% block title %}Order Details - {{ vendor.name }}{% endblock %}

View File

@@ -1,5 +1,5 @@
{# app/templates/shop/account/orders.html #}
{% extends "shop/base.html" %}
{# app/templates/storefront/account/orders.html #}
{% extends "storefront/base.html" %}
{% block title %}Order History - {{ vendor.name }}{% endblock %}

View File

@@ -1,5 +1,5 @@
{# app/templates/shop/account/profile.html #}
{% extends "shop/base.html" %}
{# app/templates/storefront/account/profile.html #}
{% extends "storefront/base.html" %}
{% block title %}My Profile - {{ vendor.name }}{% endblock %}

View File

@@ -1,4 +1,4 @@
{# app/templates/shop/account/register.html #}
{# app/templates/storefront/account/register.html #}
{# standalone #}
<!DOCTYPE html>
<html :class="{ 'dark': dark }" x-data="customerRegistration()" lang="en">

View File

@@ -1,4 +1,4 @@
{# app/templates/shop/account/reset-password.html #}
{# app/templates/storefront/account/reset-password.html #}
{# standalone #}
<!DOCTYPE html>
<html :class="{ 'dark': dark }" x-data="resetPassword()" lang="en">

View File

@@ -1,4 +1,4 @@
{# app/templates/shop/base.html #}
{# app/templates/storefront/base.html #}
{# Base template for vendor shop frontend with theme support #}
<!DOCTYPE html>
<html lang="en" x-data="{% block alpine_data %}shopLayoutData(){% endblock %}" x-bind:class="{ 'dark': dark }">
@@ -38,7 +38,7 @@
</style>
{# Tailwind CSS v4 (built locally via standalone CLI) #}
<link rel="stylesheet" href="{{ url_for('static', path='shop/css/tailwind.output.css') }}">
<link rel="stylesheet" href="{{ url_for('static', path='storefront/css/tailwind.output.css') }}">
{# Flag Icons for Language Selector with local fallback #}
<link
@@ -48,7 +48,7 @@
/>
{# Base Shop Styles #}
<link rel="stylesheet" href="{{ url_for('static', path='shop/css/shop.css') }}">
<link rel="stylesheet" href="{{ url_for('static', path='storefront/css/storefront.css') }}">
{% block extra_head %}{% endblock %}
</head>
@@ -321,7 +321,7 @@
<script src="{{ url_for('static', path='shared/js/icons.js') }}"></script>
{# 4. Base Shop Layout (Alpine.js component - must load before Alpine) #}
<script src="{{ url_for('static', path='shop/js/shop-layout.js') }}"></script>
<script src="{{ url_for('static', path='storefront/js/storefront-layout.js') }}"></script>
{# 5. Utilities #}
<script src="{{ url_for('static', path='shared/js/utils.js') }}"></script>

View File

@@ -1,5 +1,5 @@
{# app/templates/shop/cart.html #}
{% extends "shop/base.html" %}
{# app/templates/storefront/cart.html #}
{% extends "storefront/base.html" %}
{% block title %}Shopping Cart{% endblock %}

View File

@@ -1,5 +1,5 @@
{# app/templates/shop/checkout.html #}
{% extends "shop/base.html" %}
{# app/templates/storefront/checkout.html #}
{% extends "storefront/base.html" %}
{% block title %}Checkout - {{ vendor.name }}{% endblock %}

View File

@@ -1,6 +1,6 @@
{# app/templates/shop/content-page.html #}
{# app/templates/storefront/content-page.html #}
{# Generic CMS content page template #}
{% extends "shop/base.html" %}
{% extends "storefront/base.html" %}
{# Dynamic title from CMS #}
{% block title %}{{ page.title }}{% endblock %}

View File

@@ -1,6 +1,6 @@
{# app/templates/shop/errors/400.html #}
{# app/templates/storefront/errors/400.html #}
{# 400 Bad Request error page #}
{% extends "shop/errors/base.html" %}
{% extends "storefront/errors/base.html" %}
{% block icon %}❌{% endblock %}

View File

@@ -1,6 +1,6 @@
{# app/templates/shop/errors/401.html #}
{# app/templates/storefront/errors/401.html #}
{# 401 Unauthorized error page - prompts login #}
{% extends "shop/errors/base.html" %}
{% extends "storefront/errors/base.html" %}
{% block icon %}🔐{% endblock %}

View File

@@ -1,6 +1,6 @@
{# app/templates/shop/errors/403.html #}
{# app/templates/storefront/errors/403.html #}
{# 403 Forbidden error page - access restricted #}
{% extends "shop/errors/base.html" %}
{% extends "storefront/errors/base.html" %}
{% block icon %}🔒{% endblock %}

View File

@@ -1,6 +1,6 @@
{# app/templates/shop/errors/404.html #}
{# app/templates/storefront/errors/404.html #}
{# 404 Not Found error page - uses base template with custom icon and message #}
{% extends "shop/errors/base.html" %}
{% extends "storefront/errors/base.html" %}
{% block icon %}🔍{% endblock %}

View File

@@ -1,6 +1,6 @@
{# app/templates/shop/errors/422.html #}
{# app/templates/storefront/errors/422.html #}
{# 422 Unprocessable Entity error page - validation errors #}
{% extends "shop/errors/base.html" %}
{% extends "storefront/errors/base.html" %}
{% block icon %}📝{% endblock %}

View File

@@ -1,6 +1,6 @@
{# app/templates/shop/errors/429.html #}
{# app/templates/storefront/errors/429.html #}
{# 429 Too Many Requests error page - rate limiting #}
{% extends "shop/errors/base.html" %}
{% extends "storefront/errors/base.html" %}
{% block icon %}⏱️{% endblock %}

View File

@@ -1,6 +1,6 @@
{# app/templates/shop/errors/500.html #}
{# app/templates/storefront/errors/500.html #}
{# 500 Internal Server Error page #}
{% extends "shop/errors/base.html" %}
{% extends "storefront/errors/base.html" %}
{% block icon %}😔{% endblock %}

View File

@@ -1,6 +1,6 @@
{# app/templates/shop/errors/502.html #}
{# app/templates/storefront/errors/502.html #}
{# 502 Bad Gateway error page - upstream service unavailable #}
{% extends "shop/errors/base.html" %}
{% extends "storefront/errors/base.html" %}
{% block icon %}🔧{% endblock %}

View File

@@ -1,4 +1,4 @@
{# app/templates/shop/errors/base.html #}
{# app/templates/storefront/errors/base.html #}
{# Error page base template using Tailwind CSS with vendor theme support #}
<!DOCTYPE html>
<html lang="en" class="h-full">

View File

@@ -1,6 +1,6 @@
{# app/templates/shop/errors/generic.html #}
{# app/templates/storefront/errors/generic.html #}
{# Generic error page - fallback for any error code #}
{% extends "shop/errors/base.html" %}
{% extends "storefront/errors/base.html" %}
{% block icon %}⚠️{% endblock %}

View File

@@ -1,5 +1,5 @@
{# app/templates/shop/home.html #}
{% extends "shop/base.html" %}
{# app/templates/storefront/home.html #}
{% extends "storefront/base.html" %}
{% block title %}Home{% endblock %}

View File

@@ -1,5 +1,5 @@
{# app/templates/shop/product.html #}
{% extends "shop/base.html" %}
{# app/templates/storefront/product.html #}
{% extends "storefront/base.html" %}
{% block title %}{{ product.name if product else 'Product' }}{% endblock %}

View File

@@ -1,5 +1,5 @@
{# app/templates/shop/products.html #}
{% extends "shop/base.html" %}
{# app/templates/storefront/products.html #}
{% extends "storefront/base.html" %}
{% block title %}Products{% endblock %}

View File

@@ -1,6 +1,6 @@
{# app/templates/shop/search.html #}
{# app/templates/storefront/search.html #}
{# noqa: FE-001 - Shop uses custom pagination with vendor-themed styling (CSS variables) #}
{% extends "shop/base.html" %}
{% extends "storefront/base.html" %}
{% block title %}Search Results{% if query %} for "{{ query }}"{% endif %}{% endblock %}