feat: add withdraw request functionality and UI components

This commit is contained in:
2026-08-27 02:39:57 +03:30
parent aeef95339d
commit 4ce663c669
115 changed files with 4064 additions and 315 deletions
+27
View File
@@ -4,6 +4,10 @@ use Illuminate\Support\Facades\Route;
use Inertia\Inertia;
use App\Http\Controllers\Client\AuthController;
use App\Http\Controllers\Client\FastRequestController;
use App\Http\Controllers\Client\InvoiceController;
use App\Http\Controllers\Client\PaymentController;
use App\Http\Controllers\Client\ProfileController;
use App\Http\Controllers\Client\WalletController;
use App\Http\Controllers\Client\Doctor\DashboardController;
use App\Http\Controllers\Client\Doctor\CaseController;
use App\Http\Controllers\Client\Doctor\DocumentController;
@@ -14,6 +18,14 @@ Route::get('/', function () {
return Inertia::client('index', []);
});
// TODO: temporary local-only debug login, remove before commit
if (app()->environment('local')) {
Route::get('/__dev-login-admin', function () {
\Illuminate\Support\Facades\Auth::login(\App\Models\User::where('email', 'admin@gmail.com')->firstOrFail());
return redirect('/admin/shifts/create');
});
}
Route::group(['prefix' => 'auth','middleware' => 'guest'] , function (){
Route::prefix('login')->group(function () {
@@ -42,8 +54,23 @@ Route::group(['prefix' => 'dashboard' , 'middleware' => 'auth' , 'as' => 'dashbo
Route::get('fast-requests/create', [FastRequestController::class, 'create'])->name('fastRequests.create');
Route::post('fast-requests', [FastRequestController::class, 'store'])->name('fastRequests.store');
Route::post('profile', [ProfileController::class, 'update'])->name('profile.update');
Route::post('payments', [PaymentController::class, 'store'])->name('payments.store');
Route::get('payments/callback', [PaymentController::class, 'callback'])->name('payments.callback');
Route::get('wallet', [WalletController::class, 'index'])->name('wallet.index');
Route::post('wallet/deposit', [WalletController::class, 'deposit'])->name('wallet.deposit');
Route::post('wallet/withdraw-requests', [WalletController::class, 'storeWithdrawRequest'])->name('wallet.withdrawRequests.store');
Route::post('wallet/bank-cards', [WalletController::class, 'storeBankCard'])->name('wallet.bankCards.store');
Route::delete('wallet/bank-cards/{bankCard}', [WalletController::class, 'destroyBankCard'])->name('wallet.bankCards.destroy');
Route::get('invoices', [InvoiceController::class, 'index'])->name('invoices.index');
Route::post('invoices/{invoice}/pay-wallet', [InvoiceController::class, 'payWithWallet'])->name('invoices.payWallet');
Route::resource('/documents', DocumentController::class);
Route::resource('cases', CaseController::class);
Route::post('cases/{case}/reject', [CaseController::class, 'reject'])->name('cases.reject');
Route::resource('reports', ReportController::class);
Route::resource('shifts', ShiftController::class)->only(['index', 'update', 'destroy']);