git commit -m "add register page, validation and auth routes"

This commit is contained in:
2026-08-15 15:52:54 +03:30
parent a8c4c30bfc
commit cd74c1848a
7 changed files with 471 additions and 72 deletions
+327 -65
View File
@@ -1,74 +1,336 @@
@extends('layouts.app')
@section('content')
<div class="theme-hero-area-bg-wrap">
<div class="theme-hero-area-bg" style="background-image:url(img/adult-book-business-cactus-297755_1500x800.jpg);"></div>
<div class="theme-hero-area-mask theme-hero-area-mask-strong"></div>
</div>
<div class="theme-hero-area-body">
<div class="theme-page-section _pt-100 theme-page-section-xl">
<div class="container">
<div class="row">
<div class="col-md-4 col-md-offset-4">
<div class="theme-login theme-login-white">
<div class="theme-login-header">
<h1 class="theme-login-title">ثبت نام</h1>
<p class="theme-login-subtitle">حساب Bookify جدید ایجاد کنید</p>
</div>
<div class="theme-login-box">
<div class="theme-login-box-inner">
<form class="theme-login-form" action="{{ route('auth.register.post') }}" method="POST">
@csrf
<div class="form-group theme-login-form-group">
<input class="form-control" type="text" placeholder="آدرس ایمیل">
</div>
<div class="form-group theme-login-form-group">
<input class="form-control" type="password" placeholder="رمز عبور ایجاد کنید">
</div>
<a class="btn btn-uc btn-dark btn-block btn-lg" href="#">ایجاد حساب کاربری</a>
</form>
<div class="theme-login-social-separator">
<p>یا با شبکه های اجتماعی ثبت نام کنید</p>
</div>
<div class="theme-login-social-login">
<div class="row" data-gutter="10">
<div class="col-xs-6">
<a class="theme-login-social-login-facebook" href="#">
<i class="fa fa-facebook-square"></i>
<span>با
<br>
<b>فیس بوک ثبت نام کنید</b>
</span>
</a>
</div>
<div class="col-xs-6">
<a class="theme-login-social-login-google" href="#">
<i class="fa fa-google-plus-circle"></i>
<span>با
<br>
<b>گوگل ثبت نام کنید</b>
</span>
</a>
</div>
</div>
</div>
</div>
<div class="theme-login-box-alt">
<p>از قبل حساب کاربری دارید؟ &nbsp;
<a href="login-2.html">ورود.</a>
</p>
</div>
</div>
<p class="theme-login-terms"><a href="#">با ثبت نام، شرایط استفاده</a>
<br> و
<a href="#">سیاست حفظ حریم خصوصی</a> ما را می پذیرید
.
</p>
<div class="theme-hero-area-bg-wrap">
<div class="theme-hero-area-bg"
style="background-image:url(img/adult-book-business-cactus-297755_1500x800.jpg);"></div>
<div class="theme-hero-area-mask theme-hero-area-mask-strong"></div>
</div>
<div class="theme-hero-area-body">
<div class="theme-page-section _pt-100 theme-page-section-xl">
<div class="container">
<div class="row">
<div class="col-md-4 col-md-offset-4">
<div class="theme-login theme-login-white">
<div class="theme-login-header">
<h1 class="theme-login-title">ثبت نام</h1>
<p class="theme-login-subtitle">حساب Bookify جدید ایجاد کنید</p>
</div>
</div>
</div>
<div class="theme-login-box">
<div class="theme-login-box-inner">
<form class="theme-login-form" action="{{ route('auth.register.post') }}"
method="POST"
enctype="multipart/form-data">>
@csrf
<div>
<label for="first_name"
class="block text-sm/6 font-medium text-gray-500 dark:text-gray-300">
نام
</label>
<div class="mt-3">
<input
type="text"
id="first_name"
name="first_name"
autofocus
tabindex="1"
value="{{old('first_name')}}"
class="block w-full p-3 text-base outline dark:outline-none outline-1 -outline-offset-1 placeholder:text-gray-400 sm:text-sm/6 transition-all text-gray-800 dark:text-gray-100 dark:bg-gray-900 bg-slate-100 border border-transparent hover:border-slate-200 appearance-none rounded-md outline-none focus:bg-white focus:border-indigo-400 focus:ring-2 focus:ring-indigo-100 dark:focus:ring-blue-400"
/>
</div>
@error('first_name')
<span>{{$message}}</span>
@enderror
</div>
<div>
<label for="last_name"
class="block text-sm/6 font-medium text-gray-500 dark:text-gray-300">
نام خانوادگی
</label>
<div class="mt-3">
<input
type="text"
id="last_name"
name="last_name"
autofocus
tabindex="1"
value="{{old('last_name')}}"
class="block w-full p-3 text-base outline dark:outline-none outline-1 -outline-offset-1 placeholder:text-gray-400 sm:text-sm/6 transition-all text-gray-800 dark:text-gray-100 dark:bg-gray-900 bg-slate-100 border border-transparent hover:border-slate-200 appearance-none rounded-md outline-none focus:bg-white focus:border-indigo-400 focus:ring-2 focus:ring-indigo-100 dark:focus:ring-blue-400"
/>
</div>
@error('last_name')
<span>{{$message}}</span>
@enderror
</div>
<div>
<label for="national_code"
class="block text-sm/6 font-medium text-gray-500 dark:text-gray-300">
کدملی
</label>
<div class="mt-3">
<input
type="text"
id="national_code"
name="national_code"
autofocus
tabindex="1"
value="{{old('national_code')}}"
class="block w-full p-3 text-base outline dark:outline-none outline-1 -outline-offset-1 placeholder:text-gray-400 sm:text-sm/6 transition-all text-gray-800 dark:text-gray-100 dark:bg-gray-900 bg-slate-100 border border-transparent hover:border-slate-200 appearance-none rounded-md outline-none focus:bg-white focus:border-indigo-400 focus:ring-2 focus:ring-indigo-100 dark:focus:ring-blue-400"
/>
</div>
@error('national_code')
<span>{{$message}}</span>
@enderror
</div>
<div class="row" data-gutter="10">
<div class="col-md-6">
<select class="form-control"
name="gender">
<option value="">
جنسیت
</option>
<option value="0">
مرد
</option>
<option value="1">
زن
</option>
</select>
@error('gender')
<span>{{$message}}</span>
@enderror
</div>
<div class="col-md-6">
<select class="form-control"
name="marital_status">
<option value="">
وضعیت تاهل
</option>
<option value="0">
مجرد
</option>
<option value="1">
متاهل
</option>
<option value="2">
متارکه
</option>
</select>
</div>
@error('marital_status')
<span>{{$message}}</span>
@enderror
</div>
<div>
<label for="spouse_name"
class="block text-sm/6 font-medium text-gray-500 dark:text-gray-300">
نام نام خانوادگی همسر
</label>
<div class="mt-3">
<input
type="text"
id="spouse_name"
name="spouse_name"
autofocus
tabindex="1"
value="{{old('spouse_name')}}"
class="block w-full p-3 text-base outline dark:outline-none outline-1 -outline-offset-1 placeholder:text-gray-400 sm:text-sm/6 transition-all text-gray-800 dark:text-gray-100 dark:bg-gray-900 bg-slate-100 border border-transparent hover:border-slate-200 appearance-none rounded-md outline-none focus:bg-white focus:border-indigo-400 focus:ring-2 focus:ring-indigo-100 dark:focus:ring-blue-400"
/>
</div>
@error('spouse_name')
<span>{{$message}}</span>
@enderror
</div>
<div>
<label for="mobile"
class="block text-sm/6 font-medium text-gray-500 dark:text-gray-300">
موبایل
</label>
<div class="mt-3">
<input
type="text"
id="mobile"
name="mobile"
autofocus
tabindex="1"
value="{{old('mobile')}}"
class="block w-full p-3 text-base outline dark:outline-none outline-1 -outline-offset-1 placeholder:text-gray-400 sm:text-sm/6 transition-all text-gray-800 dark:text-gray-100 dark:bg-gray-900 bg-slate-100 border border-transparent hover:border-slate-200 appearance-none rounded-md outline-none focus:bg-white focus:border-indigo-400 focus:ring-2 focus:ring-indigo-100 dark:focus:ring-blue-400"
/>
</div>
@error('mobile')
<span>{{$message}}</span>
@enderror
</div>
<div>
<label for="email"
class="block text-sm/6 font-medium text-gray-500 dark:text-gray-300">
ایمیل
</label>
<div class="mt-3">
<input
type="text"
id="email"
name="email"
autofocus
tabindex="1"
value="{{old('email')}}"
class="block w-full p-3 text-base outline dark:outline-none outline-1 -outline-offset-1 placeholder:text-gray-400 sm:text-sm/6 transition-all text-gray-800 dark:text-gray-100 dark:bg-gray-900 bg-slate-100 border border-transparent hover:border-slate-200 appearance-none rounded-md outline-none focus:bg-white focus:border-indigo-400 focus:ring-2 focus:ring-indigo-100 dark:focus:ring-blue-400"
/>
</div>
@error('email')
<span>{{$message}}</span>
@enderror
</div>
<div>
<label for="profile_image"
class="block text-sm/6 font-medium text-gray-500 dark:text-gray-300">
عکس
</label>
<div class="mt-3">
<input
type="text"
id="profile_image"
name="profile_image"
autofocus
tabindex="1"
value="{{old('profile_image')}}"
class="block w-full p-3 text-base outline dark:outline-none outline-1 -outline-offset-1 placeholder:text-gray-400 sm:text-sm/6 transition-all text-gray-800 dark:text-gray-100 dark:bg-gray-900 bg-slate-100 border border-transparent hover:border-slate-200 appearance-none rounded-md outline-none focus:bg-white focus:border-indigo-400 focus:ring-2 focus:ring-indigo-100 dark:focus:ring-blue-400"
/>
</div>
@error('profile_image')
<span>{{$message}}</span>
@enderror
</div>
<div>
<label for="username"
class="block text-sm/6 font-medium text-gray-500 dark:text-gray-300">
نام کاربری
</label>
<div class="mt-3">
<input
type="text"
id="username"
name="username"
autofocus
tabindex="1"
value="{{old('username')}}"
class="block w-full p-3 text-base outline dark:outline-none outline-1 -outline-offset-1 placeholder:text-gray-400 sm:text-sm/6 transition-all text-gray-800 dark:text-gray-100 dark:bg-gray-900 bg-slate-100 border border-transparent hover:border-slate-200 appearance-none rounded-md outline-none focus:bg-white focus:border-indigo-400 focus:ring-2 focus:ring-indigo-100 dark:focus:ring-blue-400"
/>
</div>
@error('username')
<span>{{$message}}</span>
@enderror
</div>
<div>
<label for="password"
class="block text-sm/6 font-medium text-gray-500 dark:text-gray-300">
رمز عبور
</label>
<div class="mt-3">
<input
type="text"
id="password"
name="password"
autofocus
tabindex="1"
class="block w-full p-3 text-base outline dark:outline-none outline-1 -outline-offset-1 placeholder:text-gray-400 sm:text-sm/6 transition-all text-gray-800 dark:text-gray-100 dark:bg-gray-900 bg-slate-100 border border-transparent hover:border-slate-200 appearance-none rounded-md outline-none focus:bg-white focus:border-indigo-400 focus:ring-2 focus:ring-indigo-100 dark:focus:ring-blue-400"
/>
</div>
@error('password')
<span>{{$message}}</span>
@enderror
</div>
<div>
<label for="password"
class="block text-sm/6 font-medium text-gray-500 dark:text-gray-300">
تکرار رمز عبور
</label>
<div class="mt-3">
<input
type="password"
tabindex="6"
id="password"
name="password_confirmation"
class="block w-full p-3 text-base outline dark:outline-none outline-1 -outline-offset-1 placeholder:text-gray-400 sm:text-sm/6 transition-all text-gray-800 dark:text-gray-100 dark:bg-gray-900 bg-slate-100 border border-transparent hover:border-slate-200 appearance-none rounded-md outline-none focus:bg-white focus:border-indigo-400 focus:ring-2 focus:ring-indigo-100 dark:focus:ring-blue-400"
/>
</div>
</div>
<div>
<label for="province"
class="block text-sm/6 font-medium text-gray-500 dark:text-gray-300">
استان
</label>
<div class="mt-3">
<input
type="text"
id="province"
name="province"
autofocus
tabindex="1"
value="{{old('province')}}"
class="block w-full p-3 text-base outline dark:outline-none outline-1 -outline-offset-1 placeholder:text-gray-400 sm:text-sm/6 transition-all text-gray-800 dark:text-gray-100 dark:bg-gray-900 bg-slate-100 border border-transparent hover:border-slate-200 appearance-none rounded-md outline-none focus:bg-white focus:border-indigo-400 focus:ring-2 focus:ring-indigo-100 dark:focus:ring-blue-400"
/>
</div>
@error('province')
<span>{{$message}}</span>
@enderror
</div>
<div>
<label for="city"
class="block text-sm/6 font-medium text-gray-500 dark:text-gray-300">
شهرستان </label>
<div class="mt-3">
<input
type="text"
id="city"
name="city"
autofocus
tabindex="1"
value="{{old('city')}}"
class="block w-full p-3 text-base outline dark:outline-none outline-1 -outline-offset-1 placeholder:text-gray-400 sm:text-sm/6 transition-all text-gray-800 dark:text-gray-100 dark:bg-gray-900 bg-slate-100 border border-transparent hover:border-slate-200 appearance-none rounded-md outline-none focus:bg-white focus:border-indigo-400 focus:ring-2 focus:ring-indigo-100 dark:focus:ring-blue-400"
/>
</div>
@error('city')
<span>{{$message}}</span>
@enderror
</div>
<div>
<button type="submit" class="submit-btn" tabindex="7" >ساخت حساب کاربری</button>
</div>
</form>
<p class="mt-8 text-center text-sm/6 text-gray-500 dark:text-gray-300">
حساب کاربری دارید ؟
<a class="text-blue-400" href="{{route('auth.login.index')}}">ورود</a>
</p>
</div>
</div>
</div>
</div>
</div>
@endsection