feat: add platform marketing homepage with signup flow

Implement complete marketing homepage for Wizamart targeting Letzshop
vendors in Luxembourg. Includes:

- Marketing homepage with hero, pricing tiers, and add-ons
- 4-step signup wizard with Stripe card collection (30-day trial)
- Letzshop vendor lookup for shop claiming
- Platform API endpoints for pricing, vendors, and signup
- Stripe SetupIntent integration for trial with card upfront
- Database fields for Letzshop vendor identity tracking

🤖 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-27 10:25:36 +01:00
parent 292c66c623
commit 0fca762b33
20 changed files with 3309 additions and 15 deletions

View File

@@ -7,11 +7,11 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
{# Dynamic page title #}
<title>{% block title %}Multi-Vendor Marketplace Platform{% endblock %}</title>
<title>{% block title %}Wizamart - Order Management for Letzshop Sellers{% endblock %}</title>
{# SEO Meta Tags #}
<meta name="description" content="{% block meta_description %}Leading multi-vendor marketplace platform connecting vendors with customers worldwide.{% endblock %}">
<meta name="keywords" content="{% block meta_keywords %}marketplace, multi-vendor, e-commerce, online shopping{% endblock %}">
<meta name="description" content="{% block meta_description %}Lightweight OMS for Letzshop vendors in Luxembourg. Order management, inventory, and invoicing made simple.{% endblock %}">
<meta name="keywords" content="{% block meta_keywords %}letzshop, order management, oms, luxembourg, e-commerce, invoicing, inventory{% endblock %}">
{# Favicon #}
<link rel="icon" type="image/x-icon" href="{{ url_for('static', path='favicon.ico') }}">
@@ -57,22 +57,33 @@
{# Logo / Brand #}
<div class="flex items-center">
<a href="/" class="flex items-center space-x-3">
<div class="w-8 h-8 rounded-lg gradient-primary flex items-center justify-center">
<span class="text-white font-bold text-xl">M</span>
<div class="w-8 h-8 rounded-lg bg-gradient-to-r from-indigo-600 to-purple-600 flex items-center justify-center">
<span class="text-white font-bold text-xl">W</span>
</div>
<span class="text-xl font-bold text-gray-900 dark:text-white">
Marketplace
Wizamart
</span>
</a>
</div>
{# Desktop Navigation #}
<div class="hidden md:flex items-center space-x-8">
{# Main Navigation #}
<a href="/pricing" class="text-gray-700 dark:text-gray-300 hover:text-indigo-600 dark:hover:text-indigo-400 font-medium transition-colors">
Pricing
</a>
<a href="/find-shop" class="text-gray-700 dark:text-gray-300 hover:text-indigo-600 dark:hover:text-indigo-400 font-medium transition-colors">
Find Your Shop
</a>
<a href="/signup" class="px-4 py-2 bg-indigo-600 hover:bg-indigo-700 text-white font-medium rounded-lg transition-colors">
Start Free Trial
</a>
{# Dynamic header navigation from CMS #}
{% if header_pages %}
{% for page in header_pages %}
<a href="/{{ page.slug }}"
class="text-gray-700 dark:text-gray-300 hover:text-primary dark:hover:text-primary font-medium transition-colors">
class="text-gray-700 dark:text-gray-300 hover:text-indigo-600 dark:hover:text-indigo-400 font-medium transition-colors">
{{ page.title }}
</a>
{% endfor %}
@@ -137,15 +148,15 @@
{# Brand Column #}
<div class="col-span-1">
<div class="flex items-center space-x-3 mb-4">
<div class="w-8 h-8 rounded-lg gradient-primary flex items-center justify-center">
<span class="text-white font-bold text-xl">M</span>
<div class="w-8 h-8 rounded-lg bg-gradient-to-r from-indigo-600 to-purple-600 flex items-center justify-center">
<span class="text-white font-bold text-xl">W</span>
</div>
<span class="text-xl font-bold text-gray-900 dark:text-white">
Marketplace
Wizamart
</span>
</div>
<p class="text-gray-600 dark:text-gray-400 text-sm">
Connecting vendors with customers worldwide. Build your online store today.
Lightweight OMS for Letzshop sellers. Manage orders, inventory, and invoicing.
</p>
</div>
@@ -199,7 +210,7 @@
<div class="mt-12 pt-8 border-t border-gray-200 dark:border-gray-700">
<div class="flex flex-col md:flex-row justify-between items-center">
<p class="text-gray-600 dark:text-gray-400 text-sm">
© 2024 Marketplace Platform. All rights reserved.
© 2025 Wizamart. Built for Luxembourg e-commerce.
</p>
<div class="flex space-x-6 mt-4 md:mt-0">
<a href="/privacy" class="text-gray-600 dark:text-gray-400 hover:text-primary text-sm transition-colors">