some code improvemetns

This commit is contained in:
2024-02-21 21:03:39 +05:00
parent 51f675b84a
commit 94c28efe7f
8 changed files with 154 additions and 88 deletions

View 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();
}
}

View File

@@ -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,
];
}

View 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);
}
}

View File

@@ -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"
}

View 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;
}

View File

@@ -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

View 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>

View File

@@ -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']);
});