some code improvemetns
This commit is contained in:
20
app/Http/Controllers/LocaleController.php
Normal file
20
app/Http/Controllers/LocaleController.php
Normal file
@@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class LocaleController extends Controller
|
||||
{
|
||||
/**
|
||||
* @return RedirectResponse
|
||||
*/
|
||||
public function __invoke($locale)
|
||||
{
|
||||
if (array_key_exists($locale, config('app.locales'))) {
|
||||
session()->put('locale', $locale);
|
||||
}
|
||||
|
||||
return request()->json() ? response()->noContent() : back();
|
||||
}
|
||||
}
|
||||
@@ -64,6 +64,7 @@ class Kernel extends HttpKernel
|
||||
'signed' => \App\Http\Middleware\ValidateSignature::class,
|
||||
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
|
||||
'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class,
|
||||
'un_verified' => \App\Http\Middleware\RedirectIfPhoneIsVerified::class,
|
||||
'unVerified' => \App\Http\Middleware\RedirectIfPhoneIsVerified::class,
|
||||
'setLocale' => \App\Http\Middleware\SetLocale::class,
|
||||
];
|
||||
}
|
||||
|
||||
24
app/Http/Middleware/SetLocale.php
Normal file
24
app/Http/Middleware/SetLocale.php
Normal file
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Middleware;
|
||||
|
||||
use Closure;
|
||||
use Illuminate\Http\Request;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
|
||||
class SetLocale
|
||||
{
|
||||
/**
|
||||
* Handle an incoming request.
|
||||
*
|
||||
* @param \Closure(\Illuminate\Http\Request): (\Symfony\Component\HttpFoundation\Response) $next
|
||||
*/
|
||||
public function handle(Request $request, Closure $next): Response
|
||||
{
|
||||
if (session()->has('locale')) {
|
||||
app()->setLocale(session('locale'));
|
||||
}
|
||||
|
||||
return $next($request);
|
||||
}
|
||||
}
|
||||
@@ -257,5 +257,6 @@
|
||||
"I have read the contract": "Şertnama bilen tanyşdym",
|
||||
"Go to home": "Baş sahypa git",
|
||||
"Payment is successful": "Töleg geçdi",
|
||||
"Payment has failed": "Töleg geçmedi"
|
||||
"Payment has failed": "Töleg geçmedi",
|
||||
"Help": "Kömek"
|
||||
}
|
||||
|
||||
8
public/assets/css/auth.css
Normal file
8
public/assets/css/auth.css
Normal file
@@ -0,0 +1,8 @@
|
||||
.bg-img {
|
||||
background: url(/assets/images/login-bg.jpg) no-repeat fixed var(--sc-login-bg-position, 50% 50%);
|
||||
background-size: cover;
|
||||
}
|
||||
|
||||
.login-section {
|
||||
padding: 0px 150px;
|
||||
}
|
||||
129
resources/views/vendor/nova/pages/login.blade.php
vendored
129
resources/views/vendor/nova/pages/login.blade.php
vendored
@@ -1,90 +1,51 @@
|
||||
@extends('vendor.nova.partials.auth-layout')
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="tk" dir="ltr" class="h-full font-sans antialiased">
|
||||
<head>
|
||||
<meta name="theme-color" content="#fff">
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width"/>
|
||||
<meta name="locale" content="tk"/>
|
||||
<meta name="robots" content="noindex">
|
||||
@section('content')
|
||||
<div class="login-section flex justify-between items-center h-screen">
|
||||
<div>
|
||||
<img src="assets/images/logo-login.png" width="85%">
|
||||
</div>
|
||||
<div>
|
||||
<form class="bg-white dark:bg-gray-800 shadow rounded-lg p-8 w-[25rem] mx-auto" method="POST" action="{{ route('login') }}">
|
||||
@csrf
|
||||
<div class="mb-6">
|
||||
<label class="block mb-2" for="username">
|
||||
{{ __('Username') }}
|
||||
</label>
|
||||
<input class="form-control form-input form-input-bordered w-full @error('username') form-input-border-error @enderror" id="username" type="text" name="username" autofocus="" value="{{ old('username') }}">
|
||||
|
||||
<!-- Styles -->
|
||||
<link rel="stylesheet" href="/vendor/nova/app.css?id=496e3383c5e2918c7bc875f45870e701">
|
||||
<style type="text/css">
|
||||
.bg-img {
|
||||
background: url({{ asset('assets/images/login-bg.jpg')}}) no-repeat fixed var(--sc-login-bg-position, 50% 50%);
|
||||
background-size: cover;
|
||||
}
|
||||
.login-section {
|
||||
padding: 0px 150px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="bg-img">
|
||||
<div class="bg-white flex justify-between px-4 py-1 absolute w-full">
|
||||
<div class="bg-green-500 px-8 text-white text-sm p-1 rounded uppercase font-bold"><a href="#"> Töleg barlagy </a></div>
|
||||
<div class="flex items-center">
|
||||
<a href="tel:+99312444115" class="mr-6 text-sm text-gray-900">(+99312) 44-41-15</a>
|
||||
<a href="#" class="mr-6 text-sm text-gray-900 uppercase">Kömek</a>
|
||||
<div class="flex text-sm text-gray-900 space-x-1 uppercase">
|
||||
<a href="#" class="font-bold"> Tm |</a>
|
||||
<a href="#"> En |</a>
|
||||
<a href="#"> Ru</a>
|
||||
@error('username')
|
||||
<span class="text-red-500 text-italic">
|
||||
<strong>{{ $message }}</strong>
|
||||
</span>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="login-section flex justify-between items-center h-screen">
|
||||
<div>
|
||||
<img src="{{ asset('assets/images/logo-login.png')}}" width="85%">
|
||||
</div>
|
||||
<div>
|
||||
<form class="bg-white dark:bg-gray-800 shadow rounded-lg p-8 w-[25rem] mx-auto" method="POST" action="{{ route('login') }}">
|
||||
@csrf
|
||||
<div class="mb-6">
|
||||
<label class="block mb-2" for="username">
|
||||
{{ __('Username') }}
|
||||
</label>
|
||||
<input class="form-control form-input form-input-bordered w-full @error('username') form-input-border-error @enderror" id="username" type="text" name="username" autofocus="" value="{{ old('username') }}">
|
||||
<div class="mb-6">
|
||||
<label class="block mb-2" for="password">
|
||||
{{ __('Password') }}
|
||||
</label>
|
||||
<input class="form-control form-input form-input-bordered w-full @error('username') form-input-border-error @enderror" id="password" type="password" name="password">
|
||||
|
||||
@error('username')
|
||||
<span class="text-red-500 text-italic">
|
||||
<strong>{{ $message }}</strong>
|
||||
</span>
|
||||
@enderror
|
||||
</div>
|
||||
<div class="mb-6">
|
||||
<label class="block mb-2" for="password">
|
||||
{{ __('Password') }}
|
||||
</label>
|
||||
<input class="form-control form-input form-input-bordered w-full @error('username') form-input-border-error @enderror" id="password" type="password" name="password">
|
||||
|
||||
@error('password')
|
||||
<span class="text-red-500 text-italic">
|
||||
<strong>{{ $message }}</strong>
|
||||
</span>
|
||||
@enderror
|
||||
</div>
|
||||
<div class="flex mb-6">
|
||||
<div class="ml-auto">
|
||||
<a href="{{ route('reset-password') }}" class="text-gray-500 font-bold no-underline">
|
||||
{{ __('Forgot your password?') }}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<button class="w-full flex justify-center shadow relative bg-primary-500 hover:bg-primary-400 text-white dark:text-gray-900 w-full flex justify-center cursor-pointer rounded text-sm font-bold focus:outline-none focus:ring ring-primary-200 dark:ring-gray-600 inline-flex items-center justify-center h-9 px-3 mb-3 w-full flex justify-center shadow relative bg-primary-500 hover:bg-primary-400 text-white dark:text-gray-900 w-full flex justify-center" type="submit">
|
||||
<span class=""><span>{{ __('Login') }}</span></span>
|
||||
</button>
|
||||
<a href="{{ route('register') }}" class="w-full flex justify-center shadow relative bg-primary-500 hover:bg-primary-400 text-white dark:text-gray-900 w-full flex justify-center cursor-pointer rounded text-sm font-bold focus:outline-none focus:ring ring-primary-200 dark:ring-gray-600 inline-flex items-center justify-center h-9 px-3 mb-3 w-full flex justify-center shadow relative bg-primary-500 hover:bg-primary-400 text-white dark:text-gray-900 w-full flex justify-center">
|
||||
<span class=""><span>{{ __('Register') }}</span></span>
|
||||
</a>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bg-white flex justify-between p-1 px-3 text-sm fixed bottom-0 left-0 right-0">
|
||||
<p>“Turkmenbasy” PTB-y ©</p>
|
||||
<a href="#">SoftClub</a>
|
||||
@error('password')
|
||||
<span class="text-red-500 text-italic">
|
||||
<strong>{{ $message }}</strong>
|
||||
</span>
|
||||
@enderror
|
||||
</div>
|
||||
<div class="flex mb-6">
|
||||
<div class="ml-auto">
|
||||
<a href="{{ route('reset-password') }}" class="text-gray-500 font-bold no-underline">
|
||||
{{ __('Forgot your password?') }}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<button class="w-full flex justify-center shadow relative bg-primary-500 hover:bg-primary-400 text-white dark:text-gray-900 w-full flex justify-center cursor-pointer rounded text-sm font-bold focus:outline-none focus:ring ring-primary-200 dark:ring-gray-600 inline-flex items-center justify-center h-9 px-3 mb-3 w-full flex justify-center shadow relative bg-primary-500 hover:bg-primary-400 text-white dark:text-gray-900 w-full flex justify-center" type="submit">
|
||||
<span class=""><span>{{ __('Login') }}</span></span>
|
||||
</button>
|
||||
<a href="{{ route('register') }}" class="w-full flex justify-center shadow relative bg-primary-500 hover:bg-primary-400 text-white dark:text-gray-900 w-full flex justify-center cursor-pointer rounded text-sm font-bold focus:outline-none focus:ring ring-primary-200 dark:ring-gray-600 inline-flex items-center justify-center h-9 px-3 mb-3 w-full flex justify-center shadow relative bg-primary-500 hover:bg-primary-400 text-white dark:text-gray-900 w-full flex justify-center">
|
||||
<span class=""><span>{{ __('Register') }}</span></span>
|
||||
</a>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@stop
|
||||
|
||||
48
resources/views/vendor/nova/partials/auth-layout.blade.php
vendored
Normal file
48
resources/views/vendor/nova/partials/auth-layout.blade.php
vendored
Normal file
@@ -0,0 +1,48 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="tk" dir="ltr" class="h-full font-sans antialiased">
|
||||
<head>
|
||||
<meta name="theme-color" content="#fff">
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width"/>
|
||||
<meta name="locale" content="tk"/>
|
||||
<meta name="robots" content="noindex">
|
||||
|
||||
<!-- Styles -->
|
||||
<link rel="stylesheet" href="/vendor/nova/app.css?id=496e3383c5e2918c7bc875f45870e701">
|
||||
<link rel="stylesheet" href="/assets/css/auth.css">
|
||||
</head>
|
||||
<body>
|
||||
<div class="bg-img">
|
||||
<div class="bg-white flex justify-between px-4 py-1 absolute w-full">
|
||||
<div class="px-8 text-white text-sm p-1 rounded uppercase font-bold">
|
||||
{{-- bg-green-500 --}}
|
||||
|
||||
{{-- <a href="#"> Töleg barlagy </a> --}}
|
||||
</div>
|
||||
<div class="flex items-center">
|
||||
<a href="tel:+99312444115" class="mr-6 text-sm text-gray-900">(+99312) 44-41-15</a>
|
||||
<a href="#" class="mr-6 text-sm text-gray-900 uppercase">{{ __('Help') }}</a>
|
||||
<div class="flex text-sm text-gray-900 space-x-1 uppercase">
|
||||
@foreach(config('app.locales') as $localeKey => $localeDisplayName)
|
||||
<a href="{{ route('locale.set', ['locale' => $localeKey]) }}" class="{{ session('locale') === $localeKey ? 'font-bold' : '' }}">
|
||||
{{ $localeDisplayName }}
|
||||
|
||||
@unless($loop->last)
|
||||
|
|
||||
@endif
|
||||
</a>
|
||||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@yield('content')
|
||||
|
||||
<div class="bg-white flex justify-between p-1 px-3 text-sm fixed bottom-0 left-0 right-0">
|
||||
<p>“Turkmenbasy” PTB-y ©</p>
|
||||
<a href="#">SoftClub</a>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
use App\Http\Controllers\Auth\LoginController;
|
||||
use App\Http\Controllers\Auth\RegisterController;
|
||||
use App\Http\Controllers\Auth\ResetPasswordController;
|
||||
use App\Http\Controllers\LocaleController;
|
||||
use App\Http\Controllers\OnlinePaymentController;
|
||||
use Illuminate\Support\Facades\Route;
|
||||
|
||||
@@ -17,7 +18,9 @@ use Illuminate\Support\Facades\Route;
|
||||
|
|
||||
*/
|
||||
|
||||
Route::middleware('guest')->group(function () {
|
||||
Route::middleware(['guest', 'setLocale'])->group(function () {
|
||||
Route::get('locale/{locale}', LocaleController::class)->name('locale.set');
|
||||
|
||||
Route::get('/register', [RegisterController::class, 'showNovaRegisterpageForm'])->name('register');
|
||||
Route::post('/register', [RegisterController::class, 'register']);
|
||||
|
||||
@@ -28,7 +31,7 @@ Route::middleware('guest')->group(function () {
|
||||
Route::post('reset-password', [ResetPasswordController::class, 'store']);
|
||||
});
|
||||
|
||||
Route::middleware(['auth', 'un_verified'])->group(function () {
|
||||
Route::middleware(['auth', 'unVerified'])->group(function () {
|
||||
Route::get('sms-verification', [RegisterController::class, 'smsVerification'])->name('sms-verification');
|
||||
Route::post('sms-verification', [RegisterController::class, 'verifySmsCode']);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user