Initial commit - Physiotherapy Clinic Management System

This commit is contained in:
Deploy committed 2026-03-10 00:38:51 +03:00
commit dbb326f2cc
300 files changed
+144285

No files matched your search

@@ -0,0 +1,46 @@
@extends('layouts.app')
@section('title', __('app.two_factor_auth'))
@section('content')
<div class="login-box">
<div class="login-logo">
<a href="#"><b>{{ __('app.clinic_management_system') }}</b></a>
</div>
<!-- /.login-logo -->
<div class="card">
<div class="card-body login-card-body">
<p class="login-box-msg">{{ __('app.two_factor_auth') }}</p>
<form action="{{ route('2fa.challenge') }}" method="POST">
@csrf
<div class="input-group mb-3">
<input type="text" name="code" class="form-control @error('code') is-invalid @enderror" placeholder="{{ __('app.verify_code') }}" required autofocus autocomplete="one-time-code">
<div class="input-group-append">
<div class="input-group-text">
<span class="fas fa-shield-alt"></span>
</div>
</div>
@error('code')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
<div class="row">
<div class="col-12">
<button type="submit" class="btn btn-primary btn-block">{{ __('app.verify_and_enable') }}</button>
</div>
<!-- /.col -->
</div>
</form>
<p class="mt-3 mb-0 text-center">
<small>{{ __('app.enter_code_from_app') }}</small>
</p>
</div>
<!-- /.login-card-body -->
</div>
</div>
<!-- /.login-box -->
@endsection
+42
View File
@@ -0,0 +1,42 @@
@extends('layouts.app')
@section('title', __('app.enable_2fa'))
@section('page_title', __('app.enable_2fa'))
@section('content')
<div class="container-fluid">
<div class="row">
<div class="col-md-6">
<div class="card">
<div class="card-header">
<h3 class="card-title">{{ __('app.enable_2fa') }}</h3>
</div>
<div class="card-body text-center">
<p>{{ __('app.scan_qr_code') }}</p>
<div class="mb-4">
{!! $qrCodeSvg !!}
</div>
<div class="alert alert-secondary">
<strong>Secret:</strong> {{ $secret }}
<br><small>{{ __('app.enter_code_from_app') }}</small>
</div>
<form action="{{ route('2fa.confirm') }}" method="POST">
@csrf
<div class="form-group">
<input type="text" name="code" class="form-control @error('code') is-invalid @enderror" placeholder="000000" maxlength="6" required>
@error('code')
<span class="invalid-feedback">{{ $message }}</span>
@enderror
</div>
<button type="submit" class="btn btn-primary">{{ __('app.verify_and_enable') }}</button>
<a href="{{ route('2fa.settings') }}" class="btn btn-secondary">{{ __('app.cancel') }}</a>
</form>
</div>
</div>
</div>
</div>
</div>
@endsection
@@ -0,0 +1,36 @@
@extends('layouts.app')
@section('title', __('app.recovery_codes'))
@section('page_title', __('app.recovery_codes'))
@section('content')
<div class="container-fluid">
<div class="row">
<div class="col-md-8">
<div class="card">
<div class="card-header">
<h3 class="card-title">{{ __('app.recovery_codes') }}</h3>
</div>
<div class="card-body">
<div class="alert alert-warning">
<i class="fas fa-exclamation-triangle"></i> {{ __('app.save_recovery_codes') }}
</div>
<div class="row">
@foreach($recoveryCodes as $code)
<div class="col-md-6 mb-2">
<code class="d-block p-2 bg-light border rounded text-center" style="font-size: 1.2em;">{{ $code }}</code>
</div>
@endforeach
</div>
<hr>
<a href="{{ route('2fa.settings') }}" class="btn btn-primary">{{ __('app.save') }}</a>
<a href="{{ route('2fa.recovery-codes') }}" class="btn btn-secondary">{{ __('app.regenerate_recovery_codes') }}</a>
</div>
</div>
</div>
</div>
</div>
@endsection
@@ -0,0 +1,60 @@
@extends('layouts.app')
@section('title', __('app.two_factor_auth'))
@section('page_title', __('app.two_factor_auth'))
@section('content')
<div class="container-fluid">
<div class="row">
<div class="col-md-8">
<div class="card">
<div class="card-header">
<h3 class="card-title">{{ __('app.two_factor_auth') }}</h3>
</div>
<div class="card-body">
@if($user->isTwoFactorEnabled())
<div class="alert alert-success">
<i class="fas fa-check-circle"></i> {{ __('auth.2fa_enabled') }}
</div>
<p>{{ __('app.save_recovery_codes') }}</p>
<form action="{{ route('2fa.disable') }}" method="POST">
@csrf
<div class="form-group">
<label>{{ __('app.password') }}</label>
<input type="password" name="password" class="form-control @error('password') is-invalid @enderror" required>
@error('password')
<span class="invalid-feedback">{{ $message }}</span>
@enderror
</div>
<div class="form-group">
<label>{{ __('app.verify_code') }} ({{ __('app.optional') }})</label>
<input type="text" name="code" class="form-control @error('code') is-invalid @enderror" placeholder="000000">
@error('code')
<span class="invalid-feedback">{{ $message }}</span>
@enderror
</div>
<button type="submit" class="btn btn-danger">{{ __('app.disable_2fa') }}</button>
</form>
<hr>
<a href="{{ route('2fa.recovery-codes') }}" class="btn btn-info">
{{ __('app.regenerate_recovery_codes') }}
</a>
@else
<div class="alert alert-info">
<i class="fas fa-info-circle"></i> {{ __('auth.2fa_not_enabled') }}
</div>
<p>{{ __('app.two_factor_auth_info') ?? 'Two-factor authentication adds an extra layer of security to your account. Once enabled, you will need to enter a code from your authenticator app in addition to your password when logging in.' }}</p>
<a href="{{ route('2fa.enable') }}" class="btn btn-primary">{{ __('app.enable_2fa') }}</a>
@endif
</div>
</div>
</div>
</div>
</div>
@endsection
+71
View File
@@ -0,0 +1,71 @@
@extends('layouts.app')
@section('title', __('app.login'))
@section('content')
<div class="login-box">
<div class="login-logo">
<a href="#"><b>{{ __('app.clinic_management_system') }}</b></a>
</div>
<!-- /.login-logo -->
<div class="card">
<div class="card-body login-card-body">
<p class="login-box-msg">{{ __('app.login') }}</p>
<form action="{{ route('login') }}" method="POST">
@csrf
<div class="input-group mb-3">
<input type="email" name="email" class="form-control @error('email') is-invalid @enderror" placeholder="{{ __('app.email') }}" required autofocus value="{{ old('email') }}">
<div class="input-group-append">
<div class="input-group-text">
<span class="fas fa-envelope"></span>
</div>
</div>
@error('email')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
<div class="input-group mb-3">
<input type="password" name="password" class="form-control @error('password') is-invalid @enderror" placeholder="{{ __('app.password') }}" required>
<div class="input-group-append">
<div class="input-group-text">
<span class="fas fa-lock"></span>
</div>
</div>
@error('password')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
<div class="row">
<div class="col-8">
<div class="icheck-primary">
<input type="checkbox" name="remember" id="remember">
<label for="remember">
{{ __('app.remember_me') }}
</label>
</div>
</div>
<!-- /.col -->
<div class="col-4">
<button type="submit" class="btn btn-primary btn-block">{{ __('app.login') }}</button>
</div>
<!-- /.col -->
</div>
</form>
<p class="mb-1">
<a href="#">{{ __('app.forgot_password') }}</a>
</p>
<p class="mb-0">
<a href="{{ route('register') }}" class="text-center">{{ __('app.register') }}</a>
</p>
</div>
<!-- /.login-card-body -->
</div>
</div>
<!-- /.login-box -->
@endsection
+78
View File
@@ -0,0 +1,78 @@
@extends('layouts.app')
@section('title', __('app.register'))
@section('content')
<div class="register-box">
<div class="register-logo">
<a href="#"><b>{{ __('app.clinic_management_system') }}</b></a>
</div>
<div class="card">
<div class="card-body register-card-body">
<p class="login-box-msg">{{ __('app.register') }}</p>
<form action="{{ route('register') }}" method="POST">
@csrf
<div class="input-group mb-3">
<input type="text" name="name" class="form-control @error('name') is-invalid @enderror" placeholder="{{ __('app.name') }}" required autofocus value="{{ old('name') }}">
<div class="input-group-append">
<div class="input-group-text">
<span class="fas fa-user"></span>
</div>
</div>
@error('name')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
<div class="input-group mb-3">
<input type="email" name="email" class="form-control @error('email') is-invalid @enderror" placeholder="{{ __('app.email') }}" required value="{{ old('email') }}">
<div class="input-group-append">
<div class="input-group-text">
<span class="fas fa-envelope"></span>
</div>
</div>
@error('email')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
<div class="input-group mb-3">
<input type="password" name="password" class="form-control @error('password') is-invalid @enderror" placeholder="{{ __('app.password') }}" required>
<div class="input-group-append">
<div class="input-group-text">
<span class="fas fa-lock"></span>
</div>
</div>
@error('password')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
<div class="input-group mb-3">
<input type="password" name="password_confirmation" class="form-control" placeholder="{{ __('app.password_confirmation') }}" required>
<div class="input-group-append">
<div class="input-group-text">
<span class="fas fa-lock"></span>
</div>
</div>
</div>
<div class="row">
<div class="col-4">
<button type="submit" class="btn btn-primary btn-block">{{ __('app.register') }}</button>
</div>
<!-- /.col -->
</div>
</form>
<a href="{{ route('login') }}" class="text-center">{{ __('app.login') }}</a>
</div>
<!-- /.form-box -->
</div><!-- /.card -->
</div>
<!-- /.register-box -->
@endsection