feature flags and a bit on the design

This commit is contained in:
Doar Mihai
2026-02-15 16:24:47 +02:00
parent 4bc77d455b
commit 5a0e6e4165
22 changed files with 663 additions and 102 deletions
+10 -10
View File
@@ -4,21 +4,21 @@
<div class="min-h-screen flex items-center justify-center py-12 px-4 sm:px-6 lg:px-8">
<div class="max-w-md w-full space-y-8">
<div>
<h2 class="mt-6 text-center text-3xl font-extrabold text-gray-900">
<h2 class="mt-6 text-center text-3xl font-extrabold text-gray-900 dark:text-white">
{{ __('Login') }}
</h2>
</div>
<div class="bg-white py-8 px-4 shadow sm:rounded-lg sm:px-10">
<div class="bg-white dark:bg-gray-800 py-8 px-4 shadow sm:rounded-lg sm:px-10">
<form method="POST" action="{{ route('login') }}" class="space-y-6">
@csrf
<div>
<label for="email" class="block text-sm font-medium text-gray-700">
<label for="email" class="block text-sm font-medium text-gray-700 dark:text-gray-300">
{{ __('Email Address') }}
</label>
<div class="mt-1">
<input id="email" type="email" name="email" value="{{ old('email') }}" required autocomplete="email" autofocus
class="appearance-none block w-full px-3 py-2 border border-gray-300 rounded-md shadow-sm placeholder-gray-400 focus:outline-none focus:ring-primary-500 focus:border-primary-500 sm:text-sm @error('email') border-red-300 text-red-900 placeholder-red-300 focus:ring-red-500 focus:border-red-500 @enderror">
class="appearance-none block w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md shadow-sm placeholder-gray-400 dark:placeholder-gray-500 bg-white dark:bg-gray-700 text-gray-900 dark:text-white focus:outline-none focus:ring-primary-500 focus:border-primary-500 sm:text-sm @error('email') border-red-300 text-red-900 placeholder-red-300 focus:ring-red-500 focus:border-red-500 @enderror">
@error('email')
<p class="mt-2 text-sm text-red-600">{{ $message }}</p>
@enderror
@@ -26,12 +26,12 @@
</div>
<div>
<label for="password" class="block text-sm font-medium text-gray-700">
<label for="password" class="block text-sm font-medium text-gray-700 dark:text-gray-300">
{{ __('Password') }}
</label>
<div class="mt-1">
<input id="password" type="password" name="password" required autocomplete="current-password"
class="appearance-none block w-full px-3 py-2 border border-gray-300 rounded-md shadow-sm placeholder-gray-400 focus:outline-none focus:ring-primary-500 focus:border-primary-500 sm:text-sm @error('password') border-red-300 text-red-900 placeholder-red-300 focus:ring-red-500 focus:border-red-500 @enderror">
class="appearance-none block w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md shadow-sm placeholder-gray-400 dark:placeholder-gray-500 bg-white dark:bg-gray-700 text-gray-900 dark:text-white focus:outline-none focus:ring-primary-500 focus:border-primary-500 sm:text-sm @error('password') border-red-300 text-red-900 placeholder-red-300 focus:ring-red-500 focus:border-red-500 @enderror">
@error('password')
<p class="mt-2 text-sm text-red-600">{{ $message }}</p>
@enderror
@@ -41,8 +41,8 @@
<div class="flex items-center justify-between">
<div class="flex items-center">
<input id="remember" name="remember" type="checkbox" {{ old('remember') ? 'checked' : '' }}
class="h-4 w-4 text-primary-600 focus:ring-primary-500 border-gray-300 rounded">
<label for="remember" class="ml-2 block text-sm text-gray-900">
class="h-4 w-4 text-primary-600 focus:ring-primary-500 border-gray-300 dark:border-gray-600 dark:bg-gray-700 rounded">
<label for="remember" class="ml-2 block text-sm text-gray-900 dark:text-gray-300">
{{ __('Remember Me') }}
</label>
</div>
@@ -65,8 +65,8 @@
@if (Route::has('register'))
<div class="text-sm text-center">
<span class="text-gray-600">{{ __("Don't have an account?") }}</span>
<a href="{{ route('register') }}" class="font-medium text-primary-600 hover:text-primary-500">
<span class="text-gray-600 dark:text-gray-400">{{ __("Don't have an account?") }}</span>
<a href="{{ route('register') }}" class="font-medium text-primary-600 dark:text-primary-400 hover:text-primary-500 dark:hover:text-primary-300">
{{ __('Register') }}
</a>
</div>
@@ -4,23 +4,23 @@
<div class="min-h-screen flex items-center justify-center py-12 px-4 sm:px-6 lg:px-8">
<div class="max-w-md w-full space-y-8">
<div>
<h2 class="mt-6 text-center text-3xl font-extrabold text-gray-900">
<h2 class="mt-6 text-center text-3xl font-extrabold text-gray-900 dark:text-white">
{{ __('Reset Password') }}
</h2>
</div>
<div class="bg-white py-8 px-4 shadow sm:rounded-lg sm:px-10">
<div class="bg-white dark:bg-gray-800 py-8 px-4 shadow sm:rounded-lg sm:px-10">
<form method="POST" action="{{ route('password.update') }}" class="space-y-6">
@csrf
<input type="hidden" name="token" value="{{ $token }}">
<div>
<label for="email" class="block text-sm font-medium text-gray-700">
<label for="email" class="block text-sm font-medium text-gray-700 dark:text-gray-300">
{{ __('Email Address') }}
</label>
<div class="mt-1">
<input id="email" type="email" name="email" value="{{ $email ?? old('email') }}" required autocomplete="email" autofocus
class="appearance-none block w-full px-3 py-2 border border-gray-300 rounded-md shadow-sm placeholder-gray-400 focus:outline-none focus:ring-primary-500 focus:border-primary-500 sm:text-sm @error('email') border-red-300 text-red-900 placeholder-red-300 focus:ring-red-500 focus:border-red-500 @enderror">
class="appearance-none block w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md shadow-sm placeholder-gray-400 dark:placeholder-gray-500 bg-white dark:bg-gray-700 text-gray-900 dark:text-white focus:outline-none focus:ring-primary-500 focus:border-primary-500 sm:text-sm @error('email') border-red-300 text-red-900 placeholder-red-300 focus:ring-red-500 focus:border-red-500 @enderror">
@error('email')
<p class="mt-2 text-sm text-red-600">{{ $message }}</p>
@enderror
@@ -28,12 +28,12 @@
</div>
<div>
<label for="password" class="block text-sm font-medium text-gray-700">
<label for="password" class="block text-sm font-medium text-gray-700 dark:text-gray-300">
{{ __('Password') }}
</label>
<div class="mt-1">
<input id="password" type="password" name="password" required autocomplete="new-password"
class="appearance-none block w-full px-3 py-2 border border-gray-300 rounded-md shadow-sm placeholder-gray-400 focus:outline-none focus:ring-primary-500 focus:border-primary-500 sm:text-sm @error('password') border-red-300 text-red-900 placeholder-red-300 focus:ring-red-500 focus:border-red-500 @enderror">
class="appearance-none block w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md shadow-sm placeholder-gray-400 dark:placeholder-gray-500 bg-white dark:bg-gray-700 text-gray-900 dark:text-white focus:outline-none focus:ring-primary-500 focus:border-primary-500 sm:text-sm @error('password') border-red-300 text-red-900 placeholder-red-300 focus:ring-red-500 focus:border-red-500 @enderror">
@error('password')
<p class="mt-2 text-sm text-red-600">{{ $message }}</p>
@enderror
@@ -41,12 +41,12 @@
</div>
<div>
<label for="password-confirm" class="block text-sm font-medium text-gray-700">
<label for="password-confirm" class="block text-sm font-medium text-gray-700 dark:text-gray-300">
{{ __('Confirm Password') }}
</label>
<div class="mt-1">
<input id="password-confirm" type="password" name="password_confirmation" required autocomplete="new-password"
class="appearance-none block w-full px-3 py-2 border border-gray-300 rounded-md shadow-sm placeholder-gray-400 focus:outline-none focus:ring-primary-500 focus:border-primary-500 sm:text-sm">
class="appearance-none block w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md shadow-sm placeholder-gray-400 dark:placeholder-gray-500 bg-white dark:bg-gray-700 text-gray-900 dark:text-white focus:outline-none focus:ring-primary-500 focus:border-primary-500 sm:text-sm">
</div>
</div>
+11 -11
View File
@@ -4,21 +4,21 @@
<div class="min-h-screen flex items-center justify-center py-12 px-4 sm:px-6 lg:px-8">
<div class="max-w-md w-full space-y-8">
<div>
<h2 class="mt-6 text-center text-3xl font-extrabold text-gray-900">
<h2 class="mt-6 text-center text-3xl font-extrabold text-gray-900 dark:text-white">
{{ __('Register') }}
</h2>
</div>
<div class="bg-white py-8 px-4 shadow sm:rounded-lg sm:px-10">
<div class="bg-white dark:bg-gray-800 py-8 px-4 shadow sm:rounded-lg sm:px-10">
<form method="POST" action="{{ route('register') }}" class="space-y-6">
@csrf
<div>
<label for="name" class="block text-sm font-medium text-gray-700">
<label for="name" class="block text-sm font-medium text-gray-700 dark:text-gray-300">
{{ __('Name') }}
</label>
<div class="mt-1">
<input id="name" type="text" name="name" value="{{ old('name') }}" required autocomplete="name" autofocus
class="appearance-none block w-full px-3 py-2 border border-gray-300 rounded-md shadow-sm placeholder-gray-400 focus:outline-none focus:ring-primary-500 focus:border-primary-500 sm:text-sm @error('name') border-red-300 text-red-900 placeholder-red-300 focus:ring-red-500 focus:border-red-500 @enderror">
class="appearance-none block w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md shadow-sm placeholder-gray-400 dark:placeholder-gray-500 bg-white dark:bg-gray-700 text-gray-900 dark:text-white focus:outline-none focus:ring-primary-500 focus:border-primary-500 sm:text-sm @error('name') border-red-300 text-red-900 placeholder-red-300 focus:ring-red-500 focus:border-red-500 @enderror">
@error('name')
<p class="mt-2 text-sm text-red-600">{{ $message }}</p>
@enderror
@@ -26,12 +26,12 @@
</div>
<div>
<label for="email" class="block text-sm font-medium text-gray-700">
<label for="email" class="block text-sm font-medium text-gray-700 dark:text-gray-300">
{{ __('Email Address') }}
</label>
<div class="mt-1">
<input id="email" type="email" name="email" value="{{ old('email') }}" required autocomplete="email"
class="appearance-none block w-full px-3 py-2 border border-gray-300 rounded-md shadow-sm placeholder-gray-400 focus:outline-none focus:ring-primary-500 focus:border-primary-500 sm:text-sm @error('email') border-red-300 text-red-900 placeholder-red-300 focus:ring-red-500 focus:border-red-500 @enderror">
class="appearance-none block w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md shadow-sm placeholder-gray-400 dark:placeholder-gray-500 bg-white dark:bg-gray-700 text-gray-900 dark:text-white focus:outline-none focus:ring-primary-500 focus:border-primary-500 sm:text-sm @error('email') border-red-300 text-red-900 placeholder-red-300 focus:ring-red-500 focus:border-red-500 @enderror">
@error('email')
<p class="mt-2 text-sm text-red-600">{{ $message }}</p>
@enderror
@@ -39,12 +39,12 @@
</div>
<div>
<label for="password" class="block text-sm font-medium text-gray-700">
<label for="password" class="block text-sm font-medium text-gray-700 dark:text-gray-300">
{{ __('Password') }}
</label>
<div class="mt-1">
<input id="password" type="password" name="password" required autocomplete="new-password"
class="appearance-none block w-full px-3 py-2 border border-gray-300 rounded-md shadow-sm placeholder-gray-400 focus:outline-none focus:ring-primary-500 focus:border-primary-500 sm:text-sm @error('password') border-red-300 text-red-900 placeholder-red-300 focus:ring-red-500 focus:border-red-500 @enderror">
class="appearance-none block w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md shadow-sm placeholder-gray-400 dark:placeholder-gray-500 bg-white dark:bg-gray-700 text-gray-900 dark:text-white focus:outline-none focus:ring-primary-500 focus:border-primary-500 sm:text-sm @error('password') border-red-300 text-red-900 placeholder-red-300 focus:ring-red-500 focus:border-red-500 @enderror">
@error('password')
<p class="mt-2 text-sm text-red-600">{{ $message }}</p>
@enderror
@@ -52,12 +52,12 @@
</div>
<div>
<label for="password-confirm" class="block text-sm font-medium text-gray-700">
<label for="password-confirm" class="block text-sm font-medium text-gray-700 dark:text-gray-300">
{{ __('Confirm Password') }}
</label>
<div class="mt-1">
<input id="password-confirm" type="password" name="password_confirmation" required autocomplete="new-password"
class="appearance-none block w-full px-3 py-2 border border-gray-300 rounded-md shadow-sm placeholder-gray-400 focus:outline-none focus:ring-primary-500 focus:border-primary-500 sm:text-sm">
class="appearance-none block w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md shadow-sm placeholder-gray-400 dark:placeholder-gray-500 bg-white dark:bg-gray-700 text-gray-900 dark:text-white focus:outline-none focus:ring-primary-500 focus:border-primary-500 sm:text-sm">
</div>
</div>
@@ -70,7 +70,7 @@
@if (Route::has('login'))
<div class="text-sm text-center">
<span class="text-gray-600">{{ __("Already have an account?") }}</span>
<span class="text-gray-600 dark:text-gray-400">{{ __("Already have an account?") }}</span>
<a href="{{ route('login') }}" class="font-medium text-primary-600 hover:text-primary-500">
{{ __('Login') }}
</a>