Complete foundation for the EZSCALE billing platform replacing WHMCS: - Install Composer deps (Fortify, Passport, Cashier, PayPal, Spatie Permissions, Inertia) - Install Vue 3 + Inertia.js with Vite, 3 layouts (App, Auth, Admin) - Configure subdomain routing (marketing, account, admin) with domain-based route files - Create 30 database migrations (15 custom tables + package defaults) - Create 14 Eloquent models with relationships, factories, and encrypted casts - Set up Fortify auth with 7 Vue pages (Login, Register, ForgotPassword, ResetPassword, VerifyEmail, ConfirmPassword, TwoFactorChallenge) - Add 2FA TOTP setup page with QR code and recovery codes - Configure middleware (Inertia, Spatie roles/permissions, EnsureUserNotSuspended) - Create seeders for roles/permissions, sample plans, and admin user - Build dashboard controllers and Vue pages for customer and admin panels - Add 4 shared Vue components (Card, Button, NavLink, FlashMessages) - Generate Passport OAuth2 keys for future SSO/API use - Write 24 Pest tests (auth, role-based access, models) — all passing Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
23 lines
436 B
Vue
23 lines
436 B
Vue
<script setup>
|
|
import { Link } from '@inertiajs/vue3';
|
|
|
|
defineProps({
|
|
href: String,
|
|
active: Boolean,
|
|
});
|
|
</script>
|
|
|
|
<template>
|
|
<Link
|
|
:href="href"
|
|
:class="[
|
|
'px-3 py-2 rounded-md text-sm font-medium',
|
|
active
|
|
? 'bg-gray-100 text-gray-900'
|
|
: 'text-gray-700 hover:text-gray-900 hover:bg-gray-100',
|
|
]"
|
|
>
|
|
<slot />
|
|
</Link>
|
|
</template>
|