Visitor management app with SSO, kiosk, badges, reports, and Gitea CI deploy to frontdesk.ladill.com. Co-authored-by: Cursor <cursoragent@cursor.com>
61 lines
3.2 KiB
PHP
61 lines
3.2 KiB
PHP
<x-app-layout title="Set up Frontdesk">
|
|
<div class="mx-auto max-w-xl">
|
|
<h1 class="text-2xl font-semibold text-slate-900">Welcome to Ladill Frontdesk</h1>
|
|
<p class="mt-2 text-sm text-slate-600">Set up your organization to start managing visitors.</p>
|
|
|
|
<form method="POST" action="{{ route('frontdesk.onboarding.store') }}" class="mt-8 space-y-5 rounded-2xl border border-slate-200 bg-white p-6">
|
|
@csrf
|
|
|
|
<div>
|
|
<label class="block text-sm font-medium text-slate-700">Organization name</label>
|
|
<input type="text" name="organization_name" value="{{ old('organization_name', $user->name."'s Organization") }}" required
|
|
class="mt-1 w-full rounded-lg border-slate-300 text-sm">
|
|
</div>
|
|
|
|
<div>
|
|
<label class="block text-sm font-medium text-slate-700">Primary branch / location</label>
|
|
<input type="text" name="branch_name" value="{{ old('branch_name', 'Main Office') }}" required
|
|
class="mt-1 w-full rounded-lg border-slate-300 text-sm">
|
|
</div>
|
|
|
|
<div>
|
|
<label class="block text-sm font-medium text-slate-700">Branch address</label>
|
|
<input type="text" name="branch_address" value="{{ old('branch_address') }}"
|
|
class="mt-1 w-full rounded-lg border-slate-300 text-sm">
|
|
</div>
|
|
|
|
<div>
|
|
<label class="block text-sm font-medium text-slate-700">Timezone</label>
|
|
<select name="timezone" class="mt-1 w-full rounded-lg border-slate-300 text-sm">
|
|
@foreach ($timezones as $tz)
|
|
<option value="{{ $tz }}" @selected(old('timezone', config('app.timezone')) === $tz)>{{ $tz }}</option>
|
|
@endforeach
|
|
</select>
|
|
</div>
|
|
|
|
<div class="grid gap-4 sm:grid-cols-2">
|
|
<div>
|
|
<label class="block text-sm font-medium text-slate-700">Badge expiry (hours)</label>
|
|
<input type="number" name="badge_expiry_hours" value="{{ old('badge_expiry_hours', 8) }}" min="1" max="24"
|
|
class="mt-1 w-full rounded-lg border-slate-300 text-sm">
|
|
</div>
|
|
<div>
|
|
<label class="block text-sm font-medium text-slate-700">Kiosk reset (seconds)</label>
|
|
<input type="number" name="kiosk_reset_seconds" value="{{ old('kiosk_reset_seconds', 120) }}" min="30" max="600"
|
|
class="mt-1 w-full rounded-lg border-slate-300 text-sm">
|
|
</div>
|
|
</div>
|
|
|
|
<div>
|
|
<label class="block text-sm font-medium text-slate-700">Visitor policy (optional)</label>
|
|
<textarea name="visitor_policy" rows="4" class="mt-1 w-full rounded-lg border-slate-300 text-sm"
|
|
placeholder="Paste your visitor policy text for kiosk display…">{{ old('visitor_policy') }}</textarea>
|
|
</div>
|
|
|
|
<button type="submit" class="w-full rounded-lg bg-teal-600 px-4 py-3 text-sm font-semibold text-white hover:bg-teal-700">
|
|
Complete setup
|
|
</button>
|
|
</form>
|
|
</div>
|
|
</x-app-layout>
|