159 lines
4.4 KiB
Python
159 lines
4.4 KiB
Python
# app/routes/frontend.py
|
|
"""
|
|
Frontend HTML route handlers.
|
|
|
|
Serves static HTML files for admin, vendor, and customer interfaces.
|
|
"""
|
|
|
|
from fastapi import APIRouter
|
|
from fastapi.responses import FileResponse
|
|
|
|
router = APIRouter(include_in_schema=False)
|
|
|
|
|
|
# ============================================================================
|
|
# ADMIN ROUTES
|
|
# ============================================================================
|
|
|
|
@router.get("/admin/")
|
|
@router.get("/admin/login")
|
|
async def admin_login():
|
|
"""Serve admin login page"""
|
|
return FileResponse("static/admin/login.html")
|
|
|
|
|
|
@router.get("/admin/dashboard")
|
|
async def admin_dashboard():
|
|
"""Serve admin dashboard page"""
|
|
return FileResponse("static/admin/dashboard.html")
|
|
|
|
|
|
@router.get("/admin/vendors")
|
|
async def admin_vendors():
|
|
"""Serve admin vendors management page"""
|
|
return FileResponse("static/admin/vendors.html")
|
|
|
|
|
|
# ============================================================================
|
|
# VENDOR ROUTES
|
|
# ============================================================================
|
|
|
|
@router.get("/vendor/")
|
|
@router.get("/vendor/login")
|
|
async def vendor_login():
|
|
"""Serve vendor login page"""
|
|
return FileResponse("static/vendor/login.html")
|
|
|
|
|
|
@router.get("/vendor/dashboard")
|
|
async def vendor_dashboard():
|
|
"""Serve vendor dashboard page"""
|
|
return FileResponse("static/vendor/dashboard.html")
|
|
|
|
|
|
@router.get("/vendor/admin/products")
|
|
async def vendor_products():
|
|
"""Serve vendor products management page"""
|
|
return FileResponse("static/vendor/admin/products.html")
|
|
|
|
|
|
@router.get("/vendor/admin/orders")
|
|
async def vendor_orders():
|
|
"""Serve vendor orders management page"""
|
|
return FileResponse("static/vendor/admin/orders.html")
|
|
|
|
|
|
@router.get("/vendor/admin/marketplace")
|
|
async def vendor_marketplace():
|
|
"""Serve vendor marketplace import page"""
|
|
return FileResponse("static/vendor/admin/marketplace.html")
|
|
|
|
|
|
@router.get("/vendor/admin/customers")
|
|
async def vendor_customers():
|
|
"""Serve vendor customers management page"""
|
|
return FileResponse("static/vendor/admin/customers.html")
|
|
|
|
|
|
@router.get("/vendor/admin/inventory")
|
|
async def vendor_inventory():
|
|
"""Serve vendor inventory management page"""
|
|
return FileResponse("static/vendor/admin/inventory.html")
|
|
|
|
|
|
@router.get("/vendor/admin/team")
|
|
async def vendor_team():
|
|
"""Serve vendor team management page"""
|
|
return FileResponse("static/vendor/admin/team.html")
|
|
|
|
|
|
# ============================================================================
|
|
# CUSTOMER/SHOP ROUTES
|
|
# ============================================================================
|
|
|
|
@router.get("/shop/")
|
|
@router.get("/shop/products")
|
|
async def shop_products():
|
|
"""Serve shop products catalog page"""
|
|
return FileResponse("static/shop/products.html")
|
|
|
|
|
|
@router.get("/shop/products/{product_id}")
|
|
async def shop_product_detail(product_id: int):
|
|
"""Serve product detail page"""
|
|
return FileResponse("static/shop/product.html")
|
|
|
|
|
|
@router.get("/shop/cart")
|
|
async def shop_cart():
|
|
"""Serve shopping cart page"""
|
|
return FileResponse("static/shop/cart.html")
|
|
|
|
|
|
@router.get("/shop/checkout")
|
|
async def shop_checkout():
|
|
"""Serve checkout page"""
|
|
return FileResponse("static/shop/checkout.html")
|
|
|
|
|
|
@router.get("/shop/account/register")
|
|
async def shop_register():
|
|
"""Serve customer registration page"""
|
|
return FileResponse("static/shop/account/register.html")
|
|
|
|
|
|
@router.get("/shop/account/login")
|
|
async def shop_login():
|
|
"""Serve customer login page"""
|
|
return FileResponse("static/shop/account/login.html")
|
|
|
|
|
|
@router.get("/shop/account/dashboard")
|
|
async def shop_account_dashboard():
|
|
"""Serve customer account dashboard"""
|
|
return FileResponse("static/shop/account/dashboard.html")
|
|
|
|
|
|
@router.get("/shop/account/orders")
|
|
async def shop_orders():
|
|
"""Serve customer orders history page"""
|
|
return FileResponse("static/shop/account/orders.html")
|
|
|
|
|
|
@router.get("/shop/account/orders/{order_id}")
|
|
async def shop_order_detail(order_id: int):
|
|
"""Serve customer order detail page"""
|
|
return FileResponse("static/shop/account/order-detail.html")
|
|
|
|
|
|
@router.get("/shop/account/profile")
|
|
async def shop_profile():
|
|
"""Serve customer profile page"""
|
|
return FileResponse("static/shop/account/profile.html")
|
|
|
|
|
|
@router.get("/shop/account/addresses")
|
|
async def shop_addresses():
|
|
"""Serve customer addresses management page"""
|
|
return FileResponse("static/shop/account/addresses.html")
|