Initial PHP rebuild of the app
This commit is contained in:
690 files changed
+33944
-12046
No files matched your search
@@ -0,0 +1,3 @@
|
||||
<x-layouts.public :business="$business">
|
||||
<main class="bg-stone text-ink min-h-screen flex flex-col px-6 py-12"><div class="flex-1 flex flex-col justify-center max-w-md mx-auto w-full"><header class="mb-10"><a href="{{ route('auth.signin') }}" class="w-10 h-10 rounded-full border border-line flex items-center justify-center mb-8"><i class="fa-solid fa-arrow-left text-sm"></i></a><h1 class="text-3xl font-bold tracking-tight">Reset Password</h1><p class="text-muted mt-2">Enter your email and we'll send you a link to reset your password.</p></header>@if (session('status'))<div class="mb-6 rounded-2xl bg-accent/10 p-4 text-sm text-accent-foreground">{{ session('status') }}</div>@endif<form method="POST" action="{{ route('auth.forgot.store') }}" class="space-y-6">@csrf<div><label class="block text-[10px] font-bold uppercase tracking-widest text-muted mb-2 ml-1">Email Address</label><input name="email" type="email" value="{{ old('email') }}" placeholder="name@example.com" required class="w-full bg-surface border border-line rounded-xl px-5 py-4 focus:ring-2 focus:ring-ink outline-none transition-all"></div><button type="submit" class="w-full bg-ink text-white py-5 rounded-full font-bold uppercase tracking-widest hover:bg-black transition-all shadow-lg">Send Reset Link</button></form></div></main>
|
||||
</x-layouts.public>
|
||||
@@ -0,0 +1,17 @@
|
||||
<x-layouts.public :business="$business">
|
||||
<main class="bg-stone text-ink min-h-screen flex flex-col px-6 py-12">
|
||||
<div class="flex-1 max-w-md mx-auto w-full">
|
||||
<header class="mb-10"><a href="{{ route('public.home') }}" class="w-10 h-10 rounded-full border border-line flex items-center justify-center mb-8"><i class="fa-solid fa-arrow-left text-sm"></i></a><h1 class="text-3xl font-bold tracking-tight">Create Account</h1><p class="text-muted mt-2">Join {{ $business->shortName ?: $business->name }} to track your appointments and loyalty.</p></header>
|
||||
@if ($errors->any())<div class="mb-5 rounded-2xl border border-red-200 bg-red-50 p-4 text-sm text-red-700">{{ $errors->first() }}</div>@endif
|
||||
<form method="POST" action="{{ route('auth.register.store') }}" class="space-y-4">@csrf
|
||||
<div class="grid grid-cols-2 gap-4"><div><label class="block text-[10px] font-bold uppercase tracking-widest text-muted mb-2 ml-1">First Name</label><input name="firstName" value="{{ old('firstName') }}" type="text" placeholder="John" required class="w-full bg-surface border border-line rounded-xl px-5 py-4 focus:ring-2 focus:ring-ink outline-none transition-all"></div><div><label class="block text-[10px] font-bold uppercase tracking-widest text-muted mb-2 ml-1">Last Name</label><input name="lastName" value="{{ old('lastName') }}" type="text" placeholder="Doe" required class="w-full bg-surface border border-line rounded-xl px-5 py-4 focus:ring-2 focus:ring-ink outline-none transition-all"></div></div>
|
||||
<div><label class="block text-[10px] font-bold uppercase tracking-widest text-muted mb-2 ml-1">Email Address</label><input name="email" value="{{ old('email') }}" type="email" placeholder="name@example.com" required class="w-full bg-surface border border-line rounded-xl px-5 py-4 focus:ring-2 focus:ring-ink outline-none transition-all"></div>
|
||||
<div><label class="block text-[10px] font-bold uppercase tracking-widest text-muted mb-2 ml-1">Phone Number</label><input name="phone" value="{{ old('phone') }}" type="tel" placeholder="+1 (555) 000-0000" class="w-full bg-surface border border-line rounded-xl px-5 py-4 focus:ring-2 focus:ring-ink outline-none transition-all"></div>
|
||||
<div><label class="block text-[10px] font-bold uppercase tracking-widest text-muted mb-2 ml-1">Password</label><input name="password" type="password" placeholder="••••••••" required class="w-full bg-surface border border-line rounded-xl px-5 py-4 focus:ring-2 focus:ring-ink outline-none transition-all"></div>
|
||||
<div><label class="block text-[10px] font-bold uppercase tracking-widest text-muted mb-2 ml-1">Confirm Password</label><input name="password_confirmation" type="password" placeholder="••••••••" required class="w-full bg-surface border border-line rounded-xl px-5 py-4 focus:ring-2 focus:ring-ink outline-none transition-all"></div>
|
||||
<p class="text-[10px] text-muted leading-relaxed px-1">By creating an account, you agree to our <a href="#" class="underline">Terms of Service</a> and <a href="#" class="underline">Privacy Policy</a>.</p><button type="submit" class="w-full bg-ink text-white py-5 rounded-full font-bold uppercase tracking-widest hover:bg-black transition-all shadow-lg mt-4">Sign Up</button>
|
||||
</form>
|
||||
<p class="mt-10 text-center text-sm text-muted">Already have an account? <a href="{{ route('auth.signin') }}" class="text-ink font-bold border-b border-ink">Log in</a></p>
|
||||
</div>
|
||||
</main>
|
||||
</x-layouts.public>
|
||||
@@ -0,0 +1,21 @@
|
||||
<x-layouts.public :business="$business">
|
||||
<main class="bg-stone text-ink min-h-screen flex flex-col p-6">
|
||||
<div class="flex-1 flex flex-col justify-center max-w-md mx-auto w-full">
|
||||
<header class="mb-12">
|
||||
<a href="{{ route('public.home') }}" class="w-16 h-16 bg-ink text-white rounded-[1.25rem] flex items-center justify-center text-3xl mb-8 shadow-xl shadow-ink/20"><i class="fa-solid fa-scissors"></i></a>
|
||||
<h1 class="text-4xl font-bold tracking-tight mb-2">Welcome</h1>
|
||||
<p class="text-muted leading-relaxed">Please enter your credentials to access your appointments.</p>
|
||||
</header>
|
||||
@if ($errors->any())<div class="mb-5 rounded-2xl border border-red-200 bg-red-50 p-4 text-sm text-red-700">{{ $errors->first() }}</div>@endif
|
||||
<form method="POST" action="{{ route('auth.signin.store') }}" class="space-y-4">
|
||||
@csrf
|
||||
<div><label class="block text-[10px] font-bold uppercase tracking-[0.2em] text-muted mb-2 ml-1">Email Address</label><div class="relative"><i class="fa-regular fa-envelope absolute left-5 top-1/2 -translate-y-1/2 text-muted"></i><input name="email" type="email" value="{{ old('email') }}" placeholder="name@example.com" required autofocus class="w-full bg-white border border-line rounded-2xl pl-12 pr-5 py-4 focus:ring-2 focus:ring-ink outline-none transition-all"></div></div>
|
||||
<div><div class="flex justify-between items-center mb-2 ml-1"><label class="text-[10px] font-bold uppercase tracking-[0.2em] text-muted">Password</label><a href="{{ route('auth.forgot') }}" class="text-[10px] font-bold uppercase tracking-[0.2em] text-muted">Forgot?</a></div><div class="relative"><i class="fa-solid fa-lock absolute left-5 top-1/2 -translate-y-1/2 text-muted"></i><input name="password" type="password" placeholder="••••••••" required class="w-full bg-white border border-line rounded-2xl pl-12 pr-12 py-4 focus:ring-2 focus:ring-ink outline-none transition-all"></div></div>
|
||||
<label class="flex items-center gap-2 text-xs text-muted"><input name="remember" type="checkbox" value="1" class="rounded border-line text-accent"> Remember me</label>
|
||||
<button type="submit" class="w-full bg-ink text-white py-5 rounded-full font-bold uppercase tracking-[0.15em] hover:bg-black transition-all shadow-xl shadow-ink/10 mt-6">Sign In</button>
|
||||
</form>
|
||||
<div class="mt-10"><div class="relative flex items-center justify-center mb-8"><div class="absolute inset-0 flex items-center"><div class="w-full border-t border-line"></div></div><span class="relative bg-stone px-4 text-[10px] font-bold text-muted uppercase tracking-[0.2em]">Or continue with</span></div><div class="grid grid-cols-2 gap-4"><button type="button" class="flex items-center justify-center gap-3 bg-white border border-line py-4 rounded-2xl hover:bg-stone/50 transition-all font-bold text-xs uppercase tracking-widest"><i class="fa-brands fa-google text-red-500"></i> Google</button><button type="button" class="flex items-center justify-center gap-3 bg-white border border-line py-4 rounded-2xl hover:bg-stone/50 transition-all font-bold text-xs uppercase tracking-widest"><i class="fa-brands fa-apple"></i> Apple</button></div></div>
|
||||
<p class="mt-12 text-center text-sm text-muted">Don't have an account? <a href="{{ route('auth.register') }}" class="text-ink font-bold border-b-2 border-ink">Create one</a></p>
|
||||
</div>
|
||||
</main>
|
||||
</x-layouts.public>
|
||||
@@ -0,0 +1,3 @@
|
||||
<x-layouts.public :business="$business">
|
||||
<main class="mx-auto flex min-h-screen max-w-md flex-col justify-center px-6 py-12 text-center"><a href="{{ route('auth.signin') }}" class="absolute left-6 top-6 flex h-10 w-10 items-center justify-center rounded-full border border-line bg-white"><i class="fa-solid fa-arrow-left text-sm"></i></a><div class="mx-auto flex h-16 w-16 items-center justify-center rounded-2xl bg-ink text-2xl text-white"><i class="fa-solid fa-envelope"></i></div><h1 class="mt-8 text-3xl font-black tracking-tight">Verify your account</h1><p class="mt-3 text-sm leading-6 text-muted">Check your email for a verification link to finish setting up your account.</p><button type="button" class="mt-8 w-full rounded-full bg-ink py-5 text-xs font-bold uppercase tracking-widest text-white">Resend email</button><a href="{{ route('auth.signin') }}" class="mt-6 text-xs font-bold uppercase tracking-widest text-muted">Back to sign in</a></main>
|
||||
</x-layouts.public>
|
||||
@@ -0,0 +1,3 @@
|
||||
<x-layouts.public :business="$business">
|
||||
<main class="relative flex min-h-screen flex-col justify-end overflow-hidden bg-ink px-6 pb-12 text-white"><img src="{{ $business->welcomeBackgroundMobileUrl ?: 'https://storage.googleapis.com/uxpilot-auth.appspot.com/gen_7e6e0f551f0f4e45e0f1b6ea0c1acb39.png' }}" alt="{{ $business->name }}" class="absolute inset-0 h-full w-full object-cover opacity-60"><div class="absolute inset-0 bg-gradient-to-t from-ink via-ink/40 to-ink/10"></div><div class="relative z-10"><div class="mb-10 flex h-16 w-16 items-center justify-center rounded-2xl bg-white text-3xl text-ink"><i class="fa-solid fa-scissors"></i></div><p class="text-xs font-bold uppercase tracking-[0.3em] text-white/60">{{ $business->shortName ?: $business->name }}</p><h1 class="mt-3 text-5xl font-black tracking-tight">Welcome</h1><p class="mt-4 max-w-xs text-sm leading-6 text-white/70">Book your next appointment in a few taps.</p><div class="mt-10 space-y-3"><a href="{{ route('auth.register') }}" class="block w-full rounded-full bg-white py-5 text-center text-xs font-bold uppercase tracking-widest text-ink">Create account</a><a href="{{ route('auth.signin') }}" class="block w-full rounded-full border border-white/30 py-5 text-center text-xs font-bold uppercase tracking-widest text-white">Sign in</a><a href="{{ route('public.home') }}" class="block py-3 text-center text-xs font-bold uppercase tracking-widest text-white/60">Continue as guest</a></div></div></main>
|
||||
</x-layouts.public>
|
||||
Reference in new issue
Block a user