withRouting( web: __DIR__.'/../routes/web.php', commands: __DIR__.'/../routes/console.php', health: '/up', ) ->withMiddleware(function (Middleware $middleware): void { $middleware->encryptCookies(except: ['appearance', 'sidebar_state']); $middleware->web(append: [ HandleAppearance::class, HandleInertiaRequests::class, AddLinkHeadersForPreloadedAssets::class, ]); }) ->withSchedule(function (Schedule $schedule) { $schedule->command('payroll:generate')->monthlyOn(1, '00:00'); }) ->withExceptions(function (Exceptions $exceptions): void { $exceptions->respond(function ($response) { if (in_array($response->getStatusCode(), [500, 503, 404, 403])) { return Inertia::render('error', ['status' => $response->getStatusCode()]) ->toResponse(request()) ->setStatusCode($response->getStatusCode()); } return $response; }); })->create();