Replace React/Vite frontend + Fastify API with a single PHP application. - Front controller router in public/index.php (clean URLs via .htaccess) - Session-based auth (no JWT) — register, login, verify email, forgot/reset password, logout - Stripe checkout sessions, billing portal, webhook handler (checkout.session.completed, subscription.updated/deleted) - License IP change via internal licensing server API - PHP classes: DB (PDO), Auth, Mailer (PHPMailer), StripeClient - Views: home, pricing, install, login, register, dashboard, verify-email, forgot-password, reset-password, 404 - Tailwind CSS via CDN — no build step required - Composer dependencies: stripe/stripe-php, phpmailer/phpmailer, vlucas/phpdotenv, ramsey/uuid - CSRF protection on all POST forms - PRG pattern with session flash messages Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
26 lines
1.6 KiB
PHP
26 lines
1.6 KiB
PHP
<header class="border-b border-gray-800 bg-gray-950/80 backdrop-blur-sm sticky top-0 z-40">
|
|
<div class="max-w-6xl mx-auto px-4 sm:px-6 lg:px-8 h-16 flex items-center justify-between">
|
|
<a href="/" class="flex items-center gap-2">
|
|
<span class="text-xl font-bold text-white">Nix<span class="text-brand-500">Panel</span></span>
|
|
</a>
|
|
|
|
<nav class="hidden md:flex items-center gap-6 text-sm text-gray-400">
|
|
<a href="/" class="hover:text-white transition-colors">Home</a>
|
|
<a href="/pricing" class="hover:text-white transition-colors">Pricing</a>
|
|
<a href="/install" class="hover:text-white transition-colors">Install</a>
|
|
<a href="https://docs.nixpanel.io" target="_blank" rel="noreferrer" class="hover:text-white transition-colors">Docs</a>
|
|
</nav>
|
|
|
|
<div class="flex items-center gap-3">
|
|
<?php if (\NixPanel\Auth::isLoggedIn()): ?>
|
|
<a href="/dashboard" class="text-sm text-gray-300 hover:text-white transition-colors">Dashboard</a>
|
|
<a href="/logout" class="text-sm px-4 py-2 rounded-lg border border-gray-700 text-gray-300 hover:border-gray-500 hover:text-white transition-colors">Sign out</a>
|
|
<?php else: ?>
|
|
<a href="/login" class="text-sm text-gray-300 hover:text-white transition-colors">Sign in</a>
|
|
<a href="/register" class="text-sm px-4 py-2 rounded-lg bg-brand-600 hover:bg-brand-700 text-white font-semibold transition-colors">Get started</a>
|
|
<?php endif ?>
|
|
</div>
|
|
</div>
|
|
</header>
|
|
<main class="flex-1">
|