Align Frontdesk buttons and accents with sibling Ladill apps.
Deploy Ladill Frontdesk / deploy (push) Successful in 25s
Deploy Ladill Frontdesk / deploy (push) Successful in 25s
Replace inline teal button classes with shared btn-primary and indigo nav/link styling used by CRM and POS. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -7,7 +7,7 @@
|
||||
<div><label class="block text-sm font-medium">Code</label><input type="text" name="code" class="mt-1 w-full rounded-lg border-slate-300 text-sm"></div>
|
||||
<div><label class="block text-sm font-medium">Address</label><input type="text" name="address" class="mt-1 w-full rounded-lg border-slate-300 text-sm"></div>
|
||||
<div><label class="block text-sm font-medium">Phone</label><input type="tel" name="phone" class="mt-1 w-full rounded-lg border-slate-300 text-sm"></div>
|
||||
<button type="submit" class="w-full rounded-lg bg-teal-600 py-2 text-sm font-semibold text-white">Save</button>
|
||||
<button type="submit" class="btn-primary w-full">Save</button>
|
||||
</form>
|
||||
</div>
|
||||
</x-app-layout>
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
<div><label class="block text-sm font-medium">Address</label><input type="text" name="address" value="{{ old('address', $branch->address) }}" class="mt-1 w-full rounded-lg border-slate-300 text-sm"></div>
|
||||
<div><label class="block text-sm font-medium">Phone</label><input type="tel" name="phone" value="{{ old('phone', $branch->phone) }}" class="mt-1 w-full rounded-lg border-slate-300 text-sm"></div>
|
||||
<label class="flex items-center gap-2 text-sm"><input type="checkbox" name="is_active" value="1" @checked(old('is_active', $branch->is_active))> Active</label>
|
||||
<button type="submit" class="w-full rounded-lg bg-teal-600 py-2 text-sm font-semibold text-white">Update</button>
|
||||
<button type="submit" class="btn-primary w-full">Update</button>
|
||||
</form>
|
||||
</div>
|
||||
</x-app-layout>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<div class="flex items-center justify-between">
|
||||
<h1 class="text-xl font-semibold text-slate-900">Branches</h1>
|
||||
@if (app(\App\Services\Frontdesk\FrontdeskPermissions::class)->can(auth()->user() ? app(\App\Services\Frontdesk\OrganizationResolver::class)->memberFor(auth()->user(), $organization) : null, 'admin.branches.manage'))
|
||||
<a href="{{ route('frontdesk.branches.create') }}" class="rounded-lg bg-teal-600 px-4 py-2 text-sm font-medium text-white">Add branch</a>
|
||||
<a href="{{ route('frontdesk.branches.create') }}" class="btn-primary">Add branch</a>
|
||||
@endif
|
||||
</div>
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
<p class="text-sm text-slate-500">{{ $branch->address ?? 'No address' }} · {{ $branch->buildings_count }} building(s)</p>
|
||||
</div>
|
||||
<div class="flex gap-2">
|
||||
<a href="{{ route('frontdesk.buildings.index', $branch) }}" class="text-sm text-teal-600 hover:text-teal-700">Buildings</a>
|
||||
<a href="{{ route('frontdesk.buildings.index', $branch) }}" class="text-sm text-indigo-600 hover:text-indigo-700">Buildings</a>
|
||||
<a href="{{ route('frontdesk.branches.edit', $branch) }}" class="text-sm text-slate-600 hover:text-slate-800">Edit</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<x-app-layout :title="$branch->name.' buildings'">
|
||||
<div class="flex items-center justify-between">
|
||||
<div>
|
||||
<a href="{{ route('frontdesk.branches.index') }}" class="text-sm text-teal-600">← Branches</a>
|
||||
<a href="{{ route('frontdesk.branches.index') }}" class="text-sm text-indigo-600">← Branches</a>
|
||||
<h1 class="mt-1 text-xl font-semibold text-slate-900">{{ $branch->name }}</h1>
|
||||
</div>
|
||||
</div>
|
||||
@@ -10,7 +10,7 @@
|
||||
@csrf
|
||||
<input type="text" name="name" placeholder="Building name" required class="flex-1 rounded-lg border-slate-300 text-sm">
|
||||
<input type="text" name="floor_count" placeholder="Floors" class="w-24 rounded-lg border-slate-300 text-sm">
|
||||
<button type="submit" class="rounded-lg bg-teal-600 px-4 py-2 text-sm font-medium text-white">Add</button>
|
||||
<button type="submit" class="btn-primary">Add</button>
|
||||
</form>
|
||||
|
||||
<div class="mt-4 space-y-2">
|
||||
@@ -21,7 +21,7 @@
|
||||
<p class="text-xs text-slate-500">{{ $building->reception_desks_count }} desk(s)</p>
|
||||
</div>
|
||||
<div class="flex gap-3">
|
||||
<a href="{{ route('frontdesk.desks.index', $building) }}" class="text-sm text-teal-600">Desks</a>
|
||||
<a href="{{ route('frontdesk.desks.index', $building) }}" class="text-sm text-indigo-600">Desks</a>
|
||||
<form method="POST" action="{{ route('frontdesk.buildings.destroy', [$branch, $building]) }}" onsubmit="return confirm('Remove this building?')">
|
||||
@csrf @method('DELETE')
|
||||
<button type="submit" class="text-sm text-red-600">Remove</button>
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
<x-app-layout :title="$building->name.' desks'">
|
||||
<a href="{{ route('frontdesk.buildings.index', $building->branch) }}" class="text-sm text-teal-600">← Buildings</a>
|
||||
<a href="{{ route('frontdesk.buildings.index', $building->branch) }}" class="text-sm text-indigo-600">← Buildings</a>
|
||||
<h1 class="mt-1 text-xl font-semibold text-slate-900">{{ $building->name }}</h1>
|
||||
|
||||
<form method="POST" action="{{ route('frontdesk.desks.store', $building) }}" class="mt-6 flex gap-2 rounded-2xl border border-slate-200 bg-white p-4">
|
||||
@csrf
|
||||
<input type="text" name="name" placeholder="Desk name" required class="flex-1 rounded-lg border-slate-300 text-sm">
|
||||
<input type="text" name="location" placeholder="Location" class="flex-1 rounded-lg border-slate-300 text-sm">
|
||||
<button type="submit" class="rounded-lg bg-teal-600 px-4 py-2 text-sm font-medium text-white">Add</button>
|
||||
<button type="submit" class="btn-primary">Add</button>
|
||||
</form>
|
||||
|
||||
<div class="mt-4 space-y-2">
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
<button type="submit" class="w-full rounded-lg bg-teal-600 py-2 text-sm font-semibold text-white">Save member</button>
|
||||
<button type="submit" class="btn-primary w-full">Save member</button>
|
||||
</form>
|
||||
</div>
|
||||
</x-app-layout>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<x-app-layout title="Team members">
|
||||
<div class="flex items-center justify-between">
|
||||
<h1 class="text-xl font-semibold text-slate-900">Team members</h1>
|
||||
<a href="{{ route('frontdesk.members.create') }}" class="rounded-lg bg-teal-600 px-4 py-2 text-sm font-medium text-white">Add member</a>
|
||||
<a href="{{ route('frontdesk.members.create') }}" class="btn-primary">Add member</a>
|
||||
</div>
|
||||
|
||||
<div class="mt-4 overflow-hidden rounded-2xl border border-slate-200 bg-white">
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
<input type="text" name="footer_text" value="{{ old('footer_text', $template['footer_text'] ?? '') }}" class="mt-1 w-full rounded-lg border-slate-300 text-sm dark:border-slate-600 dark:bg-slate-800">
|
||||
</div>
|
||||
@if ($canManage)
|
||||
<button type="submit" class="rounded-lg bg-teal-600 px-4 py-2 text-sm font-semibold text-white hover:bg-teal-700">Save template</button>
|
||||
<button type="submit" class="btn-primary">Save template</button>
|
||||
@endif
|
||||
</section>
|
||||
</form>
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
</div>
|
||||
<form method="POST" action="{{ route('frontdesk.compliance.visitors.restore', $visitor->id) }}">
|
||||
@csrf
|
||||
<button type="submit" class="text-sm text-teal-600 hover:text-teal-800">Restore</button>
|
||||
<button type="submit" class="text-sm text-indigo-600 hover:text-indigo-800">Restore</button>
|
||||
</form>
|
||||
</div>
|
||||
@empty
|
||||
@@ -35,7 +35,7 @@
|
||||
</div>
|
||||
<form method="POST" action="{{ route('frontdesk.compliance.visits.restore', $visit->id) }}">
|
||||
@csrf
|
||||
<button type="submit" class="text-sm text-teal-600 hover:text-teal-800">Restore</button>
|
||||
<button type="submit" class="text-sm text-indigo-600 hover:text-indigo-800">Restore</button>
|
||||
</form>
|
||||
</div>
|
||||
@empty
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
<a href="{{ route('frontdesk.visits.schedule') }}" class="inline-flex items-center rounded-lg border border-slate-200 px-4 py-2 text-sm font-medium text-slate-700 hover:bg-slate-50">
|
||||
Pre-register
|
||||
</a>
|
||||
<a href="{{ route('frontdesk.visits.create') }}" class="inline-flex items-center rounded-lg bg-teal-600 px-4 py-2 text-sm font-medium text-white hover:bg-teal-700">
|
||||
<a href="{{ route('frontdesk.visits.create') }}" class="btn-primary">
|
||||
Check in visitor
|
||||
</a>
|
||||
</div>
|
||||
@@ -30,7 +30,7 @@
|
||||
|
||||
<div class="grid grid-cols-2 gap-4 lg:grid-cols-4">
|
||||
@foreach ($cards as $card)
|
||||
<a href="{{ $card['href'] }}" class="rounded-2xl border border-slate-200 bg-white p-5 transition hover:border-teal-300 hover:shadow-sm">
|
||||
<a href="{{ $card['href'] }}" class="rounded-2xl border border-slate-200 bg-white p-5 transition hover:border-indigo-300 hover:shadow-sm">
|
||||
<p class="text-xs font-medium uppercase tracking-wide text-slate-500">{{ $card['label'] }}</p>
|
||||
<p class="mt-2 text-2xl font-semibold text-slate-900">{{ $card['value'] }}</p>
|
||||
</a>
|
||||
@@ -41,11 +41,11 @@
|
||||
<section class="rounded-2xl border border-slate-200 bg-white">
|
||||
<div class="flex items-center justify-between border-b border-slate-100 px-5 py-4">
|
||||
<h2 class="text-sm font-semibold text-slate-900">Currently inside</h2>
|
||||
<a href="{{ route('frontdesk.security.index') }}" class="text-xs font-medium text-teal-600 hover:text-teal-700">Security view</a>
|
||||
<a href="{{ route('frontdesk.security.index') }}" class="text-xs font-medium text-indigo-600 hover:text-indigo-700">Security view</a>
|
||||
</div>
|
||||
@forelse ($currentVisitors as $visit)
|
||||
<a href="{{ route('frontdesk.visits.show', $visit) }}" class="flex items-center gap-3 border-b border-slate-50 px-5 py-3 last:border-0 hover:bg-slate-50">
|
||||
<span class="flex h-10 w-10 items-center justify-center rounded-full bg-teal-50 text-sm font-semibold text-teal-700">{{ strtoupper(substr($visit->visitor->full_name, 0, 1)) }}</span>
|
||||
<span class="flex h-10 w-10 items-center justify-center rounded-full bg-indigo-50 text-sm font-semibold text-indigo-700">{{ strtoupper(substr($visit->visitor->full_name, 0, 1)) }}</span>
|
||||
<div class="min-w-0 flex-1">
|
||||
<p class="truncate text-sm font-medium text-slate-800">{{ $visit->visitor->full_name }}</p>
|
||||
<p class="truncate text-xs text-slate-400">Host: {{ $visit->host?->name ?? '—' }} · {{ $visit->checked_in_at?->diffForHumans() }}</p>
|
||||
@@ -59,7 +59,7 @@
|
||||
<section class="rounded-2xl border border-slate-200 bg-white">
|
||||
<div class="flex items-center justify-between border-b border-slate-100 px-5 py-4">
|
||||
<h2 class="text-sm font-semibold text-slate-900">Expected today</h2>
|
||||
<a href="{{ route('frontdesk.visits.calendar') }}" class="text-xs font-medium text-teal-600 hover:text-teal-700">Calendar</a>
|
||||
<a href="{{ route('frontdesk.visits.calendar') }}" class="text-xs font-medium text-indigo-600 hover:text-indigo-700">Calendar</a>
|
||||
</div>
|
||||
@forelse ($expectedVisitors as $visit)
|
||||
<a href="{{ route('frontdesk.visits.show', $visit) }}" class="flex items-center gap-3 border-b border-slate-50 px-5 py-3 last:border-0 hover:bg-slate-50 @if($visit->status === 'overdue') bg-amber-50/50 @endif">
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
</select>
|
||||
</div>
|
||||
<p class="text-xs text-slate-500">Kiosks and printers receive a device token for unattended access.</p>
|
||||
<button type="submit" class="w-full rounded-lg bg-teal-600 py-2 text-sm font-semibold text-white">Register device</button>
|
||||
<button type="submit" class="btn-primary w-full">Register device</button>
|
||||
</form>
|
||||
</div>
|
||||
</x-app-layout>
|
||||
|
||||
@@ -47,14 +47,14 @@
|
||||
<p class="text-xs font-medium uppercase text-slate-500">Device token</p>
|
||||
<code class="mt-1 block break-all text-xs text-slate-700">{{ $device->device_token }}</code>
|
||||
@if ($device->type === 'kiosk')
|
||||
<a href="{{ route('frontdesk.kiosk.device', $device->device_token) }}" target="_blank" class="mt-2 inline-block text-sm text-teal-700 hover:underline">Open kiosk URL</a>
|
||||
<a href="{{ route('frontdesk.kiosk.device', $device->device_token) }}" target="_blank" class="mt-2 inline-block text-sm text-indigo-700 hover:underline">Open kiosk URL</a>
|
||||
@endif
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<div class="flex gap-3 pt-2">
|
||||
<a href="{{ route('frontdesk.devices.index') }}" class="flex-1 rounded-lg border border-slate-200 py-2 text-center text-sm">Back</a>
|
||||
<button type="submit" class="flex-1 rounded-lg bg-teal-600 py-2 text-sm font-semibold text-white">Save</button>
|
||||
<button type="submit" class="btn-primary flex-1">Save</button>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<p class="text-sm text-slate-500">Kiosks, printers, and reception hardware</p>
|
||||
</div>
|
||||
@if ($canManage)
|
||||
<a href="{{ route('frontdesk.devices.create') }}" class="rounded-lg bg-teal-600 px-4 py-2 text-sm font-medium text-white hover:bg-teal-700">Add device</a>
|
||||
<a href="{{ route('frontdesk.devices.create') }}" class="btn-primary">Add device</a>
|
||||
@endif
|
||||
</div>
|
||||
|
||||
@@ -40,10 +40,10 @@
|
||||
<td class="px-4 py-3 text-slate-500">{{ $device->last_online_at?->diffForHumans() ?? 'Never' }}</td>
|
||||
<td class="px-4 py-3 text-right">
|
||||
@if ($canManage)
|
||||
<a href="{{ route('frontdesk.devices.edit', $device) }}" class="text-teal-700 hover:underline">Edit</a>
|
||||
<a href="{{ route('frontdesk.devices.edit', $device) }}" class="text-indigo-700 hover:underline">Edit</a>
|
||||
@endif
|
||||
@if ($device->type === 'kiosk' && $device->device_token)
|
||||
<a href="{{ route('frontdesk.kiosk.device', $device->device_token) }}" target="_blank" class="ml-3 text-teal-700 hover:underline">Open kiosk</a>
|
||||
<a href="{{ route('frontdesk.kiosk.device', $device->device_token) }}" target="_blank" class="ml-3 text-indigo-700 hover:underline">Open kiosk</a>
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
{{ $host->is_available ? 'Mark unavailable' : 'Mark available' }}
|
||||
</button>
|
||||
</form>
|
||||
<a href="{{ route('frontdesk.host.schedule') }}" class="rounded-lg bg-teal-600 px-4 py-2 text-sm font-medium text-white hover:bg-teal-700">Pre-register visitor</a>
|
||||
<a href="{{ route('frontdesk.host.schedule') }}" class="btn-primary">Pre-register visitor</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
</div>
|
||||
<form method="POST" action="{{ route('frontdesk.host.approve', $visit) }}">
|
||||
@csrf
|
||||
<button type="submit" class="rounded-lg bg-teal-600 px-4 py-2 text-sm font-semibold text-white hover:bg-teal-700">Approve</button>
|
||||
<button type="submit" class="btn-primary">Approve</button>
|
||||
</form>
|
||||
</div>
|
||||
@endforeach
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
</div>
|
||||
<div class="flex gap-3">
|
||||
<a href="{{ route('frontdesk.host.index') }}" class="flex-1 rounded-lg border border-slate-200 py-2 text-center text-sm font-medium">Cancel</a>
|
||||
<button type="submit" class="flex-1 rounded-lg bg-teal-600 py-2 text-sm font-semibold text-white">Schedule visit</button>
|
||||
<button type="submit" class="btn-primary flex-1">Schedule visit</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
<button type="submit" class="w-full rounded-lg bg-teal-600 px-4 py-2 text-sm font-semibold text-white">Save host</button>
|
||||
<button type="submit" class="btn-primary w-full">Save host</button>
|
||||
</form>
|
||||
</div>
|
||||
</x-app-layout>
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
<input type="text" name="user_ref" value="{{ old('user_ref', $host->user_ref) }}" placeholder="User public_id for host portal access" class="mt-1 w-full rounded-lg border-slate-300 text-sm">
|
||||
<p class="mt-1 text-xs text-slate-500">When set, this user can access the host self-service portal.</p>
|
||||
</div>
|
||||
<button type="submit" class="w-full rounded-lg bg-teal-600 py-2 text-sm font-semibold text-white">Save changes</button>
|
||||
<button type="submit" class="btn-primary w-full">Save changes</button>
|
||||
</form>
|
||||
</div>
|
||||
</x-app-layout>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<x-app-layout title="Host directory">
|
||||
<div class="flex items-center justify-between">
|
||||
<h1 class="text-xl font-semibold text-slate-900">Host directory</h1>
|
||||
<a href="{{ route('frontdesk.hosts.create') }}" class="rounded-lg bg-teal-600 px-4 py-2 text-sm font-medium text-white hover:bg-teal-700">Add host</a>
|
||||
<a href="{{ route('frontdesk.hosts.create') }}" class="btn-primary">Add host</a>
|
||||
</div>
|
||||
|
||||
<div class="mt-4 overflow-hidden rounded-2xl border border-slate-200 bg-white">
|
||||
@@ -23,7 +23,7 @@
|
||||
<td class="px-4 py-3 text-slate-600">{{ $host->office ?? '—' }}</td>
|
||||
<td class="px-4 py-3 text-slate-600">{{ $host->email ?? $host->phone ?? '—' }}</td>
|
||||
<td class="px-4 py-3 text-right">
|
||||
<a href="{{ route('frontdesk.hosts.edit', $host) }}" class="text-sm text-teal-600">Edit</a>
|
||||
<a href="{{ route('frontdesk.hosts.edit', $host) }}" class="text-sm text-indigo-600">Edit</a>
|
||||
</td>
|
||||
</tr>
|
||||
@empty
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<label class="flex items-center gap-2 text-sm"><input type="checkbox" name="webhook_active" value="1" @checked(old('webhook_active', $webhook?->is_active ?? true))> Active</label>
|
||||
<button type="submit" class="rounded-lg bg-teal-600 px-4 py-2 text-sm font-semibold text-white">Save integrations</button>
|
||||
<button type="submit" class="btn-primary">Save integrations</button>
|
||||
</section>
|
||||
</form>
|
||||
@endif
|
||||
|
||||
@@ -93,7 +93,7 @@
|
||||
<input type="checkbox" x-model="form.policies_accepted" required class="h-5 w-5 rounded">
|
||||
I have read and accept the visitor policies
|
||||
</label>
|
||||
<button type="submit" :disabled="loading" class="w-full rounded-xl bg-teal-600 py-4 text-lg font-bold text-white disabled:opacity-50">
|
||||
<button type="submit" :disabled="loading" class="btn-primary btn-primary-lg w-full disabled:opacity-50">
|
||||
<span x-text="loading ? 'Submitting…' : 'Complete check-in'"></span>
|
||||
</button>
|
||||
</form>
|
||||
@@ -101,14 +101,14 @@
|
||||
|
||||
<template x-if="step === 'done'">
|
||||
<div class="rounded-3xl bg-white p-8 text-center text-slate-800 shadow-xl">
|
||||
<div class="mx-auto mb-4 flex h-20 w-20 items-center justify-center rounded-full bg-teal-100 text-4xl">✓</div>
|
||||
<div class="mx-auto mb-4 flex h-20 w-20 items-center justify-center rounded-full bg-indigo-100 text-4xl">✓</div>
|
||||
<h2 class="text-2xl font-bold" x-text="result?.awaiting_approval ? 'Submitted for approval' : 'You\'re checked in!'"></h2>
|
||||
<p class="mt-2 text-slate-600" x-text="result?.visitor_name"></p>
|
||||
<template x-if="!result?.awaiting_approval">
|
||||
<p class="mt-1 text-sm text-slate-500">Badge code: <span class="font-mono font-bold" x-text="result?.badge_code"></span></p>
|
||||
</template>
|
||||
<p class="mt-4 text-sm text-slate-500" x-text="result?.awaiting_approval ? 'Please wait at reception.' : 'Your host has been notified.'"></p>
|
||||
<button @click="reset()" class="mt-8 rounded-xl bg-teal-600 px-8 py-3 font-semibold text-white">Done</button>
|
||||
<button @click="reset()" class="btn-primary btn-primary-lg mt-8">Done</button>
|
||||
</div>
|
||||
</template>
|
||||
</main>
|
||||
|
||||
@@ -52,7 +52,7 @@
|
||||
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">
|
||||
<button type="submit" class="btn-primary btn-primary-lg w-full">
|
||||
Complete setup
|
||||
</button>
|
||||
</form>
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<input type="checkbox" name="type_fields[{{ $field['name'] }}]" value="1"
|
||||
@if($field['required']) required @endif
|
||||
@checked(old('type_fields.'.$field['name']))
|
||||
class="rounded border-slate-300 text-teal-600">
|
||||
class="rounded border-slate-300 text-indigo-600">
|
||||
Yes
|
||||
</label>
|
||||
@elseif ($field['type'] === 'photo')
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<p class="text-sm text-slate-500 dark:text-slate-400">{{ $organization->name }}</p>
|
||||
</div>
|
||||
@if ($canExport)
|
||||
<a href="{{ route('frontdesk.reports.export', request()->query()) }}" class="rounded-lg bg-teal-600 px-4 py-2 text-sm font-medium text-white hover:bg-teal-700">Export CSV</a>
|
||||
<a href="{{ route('frontdesk.reports.export', request()->query()) }}" class="btn-primary">Export CSV</a>
|
||||
@endif
|
||||
</div>
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
@php $maxPeak = max(1, collect($peakHours)->max('count')); @endphp
|
||||
@foreach ($peakHours as $row)
|
||||
<div class="flex-1 flex flex-col items-center gap-1">
|
||||
<div class="w-full rounded-t bg-teal-500/80" style="height: {{ max(4, ($row['count'] / $maxPeak) * 100) }}%"></div>
|
||||
<div class="w-full rounded-t bg-indigo-500/80" style="height: {{ max(4, ($row['count'] / $maxPeak) * 100) }}%"></div>
|
||||
<span class="text-[10px] text-slate-400">{{ $row['hour'] }}</span>
|
||||
</div>
|
||||
@endforeach
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
@if ($canCheckout)
|
||||
<form method="POST" action="{{ route('frontdesk.security.checkout', $visit) }}">
|
||||
@csrf
|
||||
<button type="submit" class="text-sm text-teal-600 hover:text-teal-800">Check out</button>
|
||||
<button type="submit" class="text-sm text-indigo-600 hover:text-indigo-800">Check out</button>
|
||||
</form>
|
||||
@endif
|
||||
</td>
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
<input type="text" name="lookup" value="{{ $lookup ?? '' }}" required autofocus
|
||||
placeholder="Badge code or QR token"
|
||||
class="flex-1 rounded-lg border-slate-300 text-sm uppercase">
|
||||
<button type="submit" class="rounded-lg bg-teal-600 px-4 py-2 text-sm font-medium text-white hover:bg-teal-700">Verify</button>
|
||||
<button type="submit" class="btn-primary">Verify</button>
|
||||
</form>
|
||||
|
||||
@isset($lookup)
|
||||
@@ -20,7 +20,7 @@
|
||||
<p class="text-sm text-slate-500">{{ ucfirst(str_replace('_', ' ', $visit->visitor_type)) }} · {{ $visit->host?->name }}</p>
|
||||
</div>
|
||||
@if ($visit->isInside() && ! $visit->isBadgeExpired())
|
||||
<span class="rounded-full bg-teal-50 px-3 py-1 text-xs font-semibold text-teal-700">Valid</span>
|
||||
<span class="rounded-full bg-indigo-50 px-3 py-1 text-xs font-semibold text-indigo-700">Valid</span>
|
||||
@elseif ($visit->isInside() && $visit->isBadgeExpired())
|
||||
<span class="rounded-full bg-amber-50 px-3 py-1 text-xs font-semibold text-amber-700">Expired badge</span>
|
||||
@else
|
||||
@@ -36,7 +36,7 @@
|
||||
<div class="flex justify-between"><dt class="text-slate-500">Watchlist</dt><dd class="capitalize">{{ str_replace('_', ' ', $visit->visitor->watchlist_status) }}</dd></div>
|
||||
</dl>
|
||||
|
||||
<a href="{{ route('frontdesk.visits.show', $visit) }}" class="mt-4 inline-block text-sm font-medium text-teal-600 hover:text-teal-700">View full visit record</a>
|
||||
<a href="{{ route('frontdesk.visits.show', $visit) }}" class="mt-4 inline-block text-sm font-medium text-indigo-600 hover:text-indigo-700">View full visit record</a>
|
||||
</div>
|
||||
@else
|
||||
<p class="mt-6 rounded-xl border border-red-200 bg-red-50 p-4 text-sm text-red-800">No matching visit found for “{{ $lookup }}”.</p>
|
||||
|
||||
@@ -84,35 +84,35 @@
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<button type="submit" class="rounded-lg bg-teal-600 px-4 py-2 text-sm font-semibold text-white hover:bg-teal-700">Save settings</button>
|
||||
<button type="submit" class="btn-primary">Save settings</button>
|
||||
@endif
|
||||
</form>
|
||||
|
||||
<div class="mt-8 grid gap-4 lg:grid-cols-3">
|
||||
@if ($canManage)
|
||||
<a href="{{ route('frontdesk.branches.index') }}" class="rounded-2xl border border-slate-200 bg-white p-5 hover:border-teal-300">
|
||||
<a href="{{ route('frontdesk.branches.index') }}" class="rounded-2xl border border-slate-200 bg-white p-5 hover:border-indigo-300">
|
||||
<h3 class="font-semibold text-slate-900">Branches</h3>
|
||||
<p class="mt-1 text-sm text-slate-500">{{ $branchCount }} branch{{ $branchCount === 1 ? '' : 'es' }}</p>
|
||||
</a>
|
||||
<a href="{{ route('frontdesk.members.index') }}" class="rounded-2xl border border-slate-200 bg-white p-5 hover:border-teal-300">
|
||||
<a href="{{ route('frontdesk.members.index') }}" class="rounded-2xl border border-slate-200 bg-white p-5 hover:border-indigo-300">
|
||||
<h3 class="font-semibold text-slate-900">Team members</h3>
|
||||
<p class="mt-1 text-sm text-slate-500">Manage roles and access</p>
|
||||
</a>
|
||||
@endif
|
||||
<a href="{{ route('frontdesk.kiosk') }}" class="rounded-2xl border border-slate-200 bg-white p-5 hover:border-teal-300">
|
||||
<a href="{{ route('frontdesk.kiosk') }}" class="rounded-2xl border border-slate-200 bg-white p-5 hover:border-indigo-300">
|
||||
<h3 class="font-semibold text-slate-900">Kiosk mode</h3>
|
||||
<p class="mt-1 text-sm text-slate-500">Open self-service check-in</p>
|
||||
</a>
|
||||
@if ($canManage)
|
||||
<a href="{{ route('frontdesk.settings.badge') }}" class="rounded-2xl border border-slate-200 bg-white p-5 hover:border-teal-300">
|
||||
<a href="{{ route('frontdesk.settings.badge') }}" class="rounded-2xl border border-slate-200 bg-white p-5 hover:border-indigo-300">
|
||||
<h3 class="font-semibold text-slate-900">Badge template</h3>
|
||||
<p class="mt-1 text-sm text-slate-500">Layout, photo, and QR settings</p>
|
||||
</a>
|
||||
<a href="{{ route('frontdesk.integrations.edit') }}" class="rounded-2xl border border-slate-200 bg-white p-5 hover:border-teal-300">
|
||||
<a href="{{ route('frontdesk.integrations.edit') }}" class="rounded-2xl border border-slate-200 bg-white p-5 hover:border-indigo-300">
|
||||
<h3 class="font-semibold text-slate-900">Integrations</h3>
|
||||
<p class="mt-1 text-sm text-slate-500">Webhooks and calendar feeds</p>
|
||||
</a>
|
||||
<a href="{{ route('frontdesk.devices.index') }}" class="rounded-2xl border border-slate-200 bg-white p-5 hover:border-teal-300">
|
||||
<a href="{{ route('frontdesk.devices.index') }}" class="rounded-2xl border border-slate-200 bg-white p-5 hover:border-indigo-300">
|
||||
<h3 class="font-semibold text-slate-900">Devices</h3>
|
||||
<p class="mt-1 text-sm text-slate-500">Kiosks, printers, and hardware</p>
|
||||
</a>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<p class="mt-1 text-sm text-slate-500">
|
||||
Returning visitor · {{ $visitor->full_name }}
|
||||
@if ($visitor->is_frequent)
|
||||
<span class="rounded bg-teal-50 px-2 py-0.5 text-xs text-teal-700">Frequent</span>
|
||||
<span class="rounded bg-indigo-50 px-2 py-0.5 text-xs text-indigo-700">Frequent</span>
|
||||
@endif
|
||||
</p>
|
||||
|
||||
@@ -54,11 +54,11 @@
|
||||
</div>
|
||||
|
||||
<label class="flex items-start gap-2 text-sm text-slate-600">
|
||||
<input type="checkbox" name="policies_accepted" value="1" required class="mt-1 rounded border-slate-300 text-teal-600">
|
||||
<input type="checkbox" name="policies_accepted" value="1" required class="mt-1 rounded border-slate-300 text-indigo-600">
|
||||
Visitor has read and accepted visitor policies.
|
||||
</label>
|
||||
|
||||
<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">
|
||||
<button type="submit" class="btn-primary btn-primary-lg w-full">
|
||||
Check in now
|
||||
</button>
|
||||
</form>
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
<tbody class="divide-y divide-slate-50">
|
||||
@forelse ($visitors as $visitor)
|
||||
<tr class="hover:bg-slate-50">
|
||||
<td class="px-4 py-3"><a href="{{ route('frontdesk.visitors.show', $visitor) }}" class="font-medium text-teal-700">{{ $visitor->full_name }}</a></td>
|
||||
<td class="px-4 py-3"><a href="{{ route('frontdesk.visitors.show', $visitor) }}" class="font-medium text-indigo-700">{{ $visitor->full_name }}</a></td>
|
||||
<td class="px-4 py-3 text-slate-600">{{ $visitor->company ?? '—' }}</td>
|
||||
<td class="px-4 py-3 text-slate-600">{{ $visitor->visit_count }}</td>
|
||||
<td class="px-4 py-3 capitalize text-slate-600">{{ str_replace('_', ' ', $visitor->watchlist_status) }}</td>
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<p class="text-sm text-slate-500">{{ $visitor->company }} · {{ $visitor->visit_count }} visits · {{ ucfirst(str_replace('_', ' ', $visitor->watchlist_status)) }}</p>
|
||||
</div>
|
||||
@if ($canManage)
|
||||
<a href="{{ route('frontdesk.visitors.check-in', $visitor) }}" class="rounded-lg bg-teal-600 px-4 py-2 text-sm font-medium text-white hover:bg-teal-700">Quick check-in</a>
|
||||
<a href="{{ route('frontdesk.visitors.check-in', $visitor) }}" class="btn-primary">Quick check-in</a>
|
||||
<form method="POST" action="{{ route('frontdesk.visitors.destroy', $visitor) }}" onsubmit="return confirm('Archive this visitor?')">
|
||||
@csrf @method('DELETE')
|
||||
<button type="submit" class="rounded-lg border border-red-200 px-4 py-2 text-sm text-red-700 hover:bg-red-50">Archive</button>
|
||||
@@ -55,7 +55,7 @@
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
<button type="submit" class="rounded-lg bg-teal-600 px-3 py-1.5 text-sm font-medium text-white">Save profile</button>
|
||||
<button type="submit" class="btn-primary btn-primary-sm">Save profile</button>
|
||||
</form>
|
||||
|
||||
<form method="POST" action="{{ route('frontdesk.visitors.watchlist', $visitor) }}" class="mt-4 max-w-md space-y-3 rounded-2xl border border-slate-200 bg-white p-4">
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
class="rounded-lg border border-slate-200 px-3 py-2 text-sm text-slate-700 hover:bg-slate-50">Previous</a>
|
||||
<a href="{{ route('frontdesk.visits.calendar', ['start' => $start->copy()->addWeek()->toDateString()]) }}"
|
||||
class="rounded-lg border border-slate-200 px-3 py-2 text-sm text-slate-700 hover:bg-slate-50">Next</a>
|
||||
<a href="{{ route('frontdesk.visits.schedule') }}" class="rounded-lg bg-teal-600 px-4 py-2 text-sm font-medium text-white hover:bg-teal-700">Schedule</a>
|
||||
<a href="{{ route('frontdesk.visits.schedule') }}" class="btn-primary">Schedule</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
<form method="GET" class="mt-4">
|
||||
<input type="search" name="q" value="{{ request('q') }}" placeholder="Search returning visitors…"
|
||||
class="w-full rounded-lg border-slate-300 text-sm shadow-sm focus:border-teal-500 focus:ring-teal-500">
|
||||
class="w-full rounded-lg border-slate-300 text-sm shadow-sm focus:border-indigo-500 focus:ring-indigo-500">
|
||||
</form>
|
||||
|
||||
@if ($returningVisitors->isNotEmpty())
|
||||
@@ -17,10 +17,10 @@
|
||||
class="flex flex-1 items-center gap-3 text-left hover:bg-slate-50">
|
||||
<span class="font-medium text-slate-800">{{ $visitor->full_name }}</span>
|
||||
@if ($visitor->is_frequent)
|
||||
<span class="rounded bg-teal-50 px-2 py-0.5 text-xs text-teal-700">Frequent</span>
|
||||
<span class="rounded bg-indigo-50 px-2 py-0.5 text-xs text-indigo-700">Frequent</span>
|
||||
@endif
|
||||
</button>
|
||||
<a href="{{ route('frontdesk.visitors.check-in', $visitor) }}" class="shrink-0 text-xs font-medium text-teal-600 hover:text-teal-700">Quick check-in</a>
|
||||
<a href="{{ route('frontdesk.visitors.check-in', $visitor) }}" class="shrink-0 text-xs font-medium text-indigo-600 hover:text-indigo-700">Quick check-in</a>
|
||||
</div>
|
||||
@endforeach
|
||||
</div>
|
||||
@@ -91,11 +91,11 @@
|
||||
</div>
|
||||
|
||||
<label class="flex items-start gap-2 text-sm text-slate-600">
|
||||
<input type="checkbox" name="policies_accepted" value="1" required class="mt-1 rounded border-slate-300 text-teal-600">
|
||||
<input type="checkbox" name="policies_accepted" value="1" required class="mt-1 rounded border-slate-300 text-indigo-600">
|
||||
Visitor has read and accepted visitor policies.
|
||||
</label>
|
||||
|
||||
<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">
|
||||
<button type="submit" class="btn-primary btn-primary-lg w-full">
|
||||
Check in & print badge
|
||||
</button>
|
||||
</form>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<h1 class="text-xl font-semibold text-slate-900">Visits</h1>
|
||||
<div class="flex gap-2">
|
||||
<a href="{{ route('frontdesk.visits.schedule') }}" class="rounded-lg border border-slate-200 px-4 py-2 text-sm font-medium text-slate-700 hover:bg-slate-50">Schedule</a>
|
||||
<a href="{{ route('frontdesk.visits.create') }}" class="rounded-lg bg-teal-600 px-4 py-2 text-sm font-medium text-white hover:bg-teal-700">Check in</a>
|
||||
<a href="{{ route('frontdesk.visits.create') }}" class="btn-primary">Check in</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
<tbody class="divide-y divide-slate-50">
|
||||
@forelse ($visits as $visit)
|
||||
<tr class="hover:bg-slate-50">
|
||||
<td class="px-4 py-3"><a href="{{ route('frontdesk.visits.show', $visit) }}" class="font-medium text-teal-700">{{ $visit->visitor->full_name }}</a></td>
|
||||
<td class="px-4 py-3"><a href="{{ route('frontdesk.visits.show', $visit) }}" class="font-medium text-indigo-700">{{ $visit->visitor->full_name }}</a></td>
|
||||
<td class="px-4 py-3 text-slate-600">{{ $visit->host?->name ?? '—' }}</td>
|
||||
<td class="px-4 py-3 capitalize text-slate-600">{{ str_replace('_', ' ', $visit->visitor_type) }}</td>
|
||||
<td class="px-4 py-3 capitalize text-slate-600">{{ str_replace('_', ' ', $visit->status) }}</td>
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
<form method="GET" class="mt-4">
|
||||
<input type="search" name="q" value="{{ request('q') }}" placeholder="Search returning visitors…"
|
||||
class="w-full rounded-lg border-slate-300 text-sm shadow-sm focus:border-teal-500 focus:ring-teal-500">
|
||||
class="w-full rounded-lg border-slate-300 text-sm shadow-sm focus:border-indigo-500 focus:ring-indigo-500">
|
||||
</form>
|
||||
|
||||
@if ($returningVisitors->isNotEmpty())
|
||||
@@ -16,7 +16,7 @@
|
||||
class="flex w-full items-center gap-3 border-b border-slate-50 px-4 py-3 text-left last:border-0 hover:bg-slate-50">
|
||||
<span class="font-medium text-slate-800">{{ $visitor->full_name }}</span>
|
||||
@if ($visitor->is_frequent)
|
||||
<span class="rounded bg-teal-50 px-2 py-0.5 text-xs text-teal-700">Frequent</span>
|
||||
<span class="rounded bg-indigo-50 px-2 py-0.5 text-xs text-indigo-700">Frequent</span>
|
||||
@endif
|
||||
</button>
|
||||
@endforeach
|
||||
@@ -94,7 +94,7 @@
|
||||
<textarea name="notes" id="notes" rows="2" class="mt-1 w-full rounded-lg border-slate-300 text-sm"></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">
|
||||
<button type="submit" class="btn-primary btn-primary-lg w-full">
|
||||
Schedule visit
|
||||
</button>
|
||||
</form>
|
||||
|
||||
@@ -16,16 +16,16 @@
|
||||
@elseif ($canManage && $visit->awaitingApproval())
|
||||
<form method="POST" action="{{ route('frontdesk.visits.approve', $visit) }}">
|
||||
@csrf
|
||||
<button type="submit" class="rounded-lg bg-teal-600 px-3 py-2 text-sm font-medium text-white hover:bg-teal-700">Approve & check in</button>
|
||||
<button type="submit" class="btn-primary">Approve & check in</button>
|
||||
</form>
|
||||
@elseif ($canManage && $visit->canActivateCheckIn())
|
||||
<form method="POST" action="{{ route('frontdesk.visits.activate', $visit) }}" class="flex items-center gap-2">
|
||||
@csrf
|
||||
<label class="flex items-center gap-1 text-xs text-slate-600">
|
||||
<input type="checkbox" name="policies_accepted" value="1" required class="rounded border-slate-300 text-teal-600">
|
||||
<input type="checkbox" name="policies_accepted" value="1" required class="rounded border-slate-300 text-indigo-600">
|
||||
Policies accepted
|
||||
</label>
|
||||
<button type="submit" class="rounded-lg bg-teal-600 px-3 py-2 text-sm font-medium text-white hover:bg-teal-700">Check in</button>
|
||||
<button type="submit" class="btn-primary">Check in</button>
|
||||
</form>
|
||||
@elseif ($canManage && ! $visit->isInside())
|
||||
<form method="POST" action="{{ route('frontdesk.visits.destroy', $visit) }}" onsubmit="return confirm('Archive this visit?')">
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
<textarea name="reason" rows="3" class="mt-1 w-full rounded-lg border-slate-300 text-sm"></textarea>
|
||||
</div>
|
||||
|
||||
<button type="submit" class="rounded-lg bg-teal-600 px-4 py-2 text-sm font-semibold text-white hover:bg-teal-700">Save entry</button>
|
||||
<button type="submit" class="btn-primary">Save entry</button>
|
||||
</form>
|
||||
</div>
|
||||
</x-app-layout>
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<p class="text-sm text-slate-500">Flagged and blocked visitors</p>
|
||||
</div>
|
||||
@if ($canManage)
|
||||
<a href="{{ route('frontdesk.watchlist.create') }}" class="rounded-lg bg-teal-600 px-4 py-2 text-sm font-medium text-white hover:bg-teal-700">Add entry</a>
|
||||
<a href="{{ route('frontdesk.watchlist.create') }}" class="btn-primary">Add entry</a>
|
||||
@endif
|
||||
</div>
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
<tr>
|
||||
<td class="px-4 py-3 font-medium">
|
||||
@if ($entry->visitor)
|
||||
<a href="{{ route('frontdesk.visitors.show', $entry->visitor) }}" class="text-teal-700">{{ $entry->full_name }}</a>
|
||||
<a href="{{ route('frontdesk.visitors.show', $entry->visitor) }}" class="text-indigo-700">{{ $entry->full_name }}</a>
|
||||
@else
|
||||
{{ $entry->full_name }}
|
||||
@endif
|
||||
|
||||
@@ -77,8 +77,8 @@
|
||||
@endphp
|
||||
<nav class="flex-1 space-y-0.5 overflow-y-auto px-3 py-4">
|
||||
@foreach($nav as $item)
|
||||
<a href="{{ $item['route'] }}" class="group flex items-center gap-3 rounded-lg px-3 py-2 text-[13px] transition {{ $item['active'] ? 'bg-teal-50 text-teal-700 font-semibold' : 'text-slate-600 hover:bg-slate-50 hover:text-slate-900' }}">
|
||||
<svg class="h-[18px] w-[18px] shrink-0 {{ $item['active'] ? 'text-teal-600' : 'text-slate-400' }}" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor">{!! $item['icon'] !!}</svg>
|
||||
<a href="{{ $item['route'] }}" class="group flex items-center gap-3 rounded-lg px-3 py-2 text-[13px] transition {{ $item['active'] ? 'bg-indigo-50 text-indigo-700 font-semibold' : 'text-slate-600 hover:bg-slate-50 hover:text-slate-900' }}">
|
||||
<svg class="h-[18px] w-[18px] shrink-0 {{ $item['active'] ? 'text-indigo-600' : 'text-slate-400' }}" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor">{!! $item['icon'] !!}</svg>
|
||||
<span>{{ $item['name'] }}</span>
|
||||
</a>
|
||||
@endforeach
|
||||
@@ -86,7 +86,7 @@
|
||||
@if (count($adminNav) > 0 || count($complianceNav) > 0)
|
||||
<p class="mb-1 mt-4 px-3 text-[10px] font-semibold uppercase tracking-wider text-slate-400">Compliance</p>
|
||||
@foreach ($complianceNav as $item)
|
||||
<a href="{{ $item['route'] }}" class="group flex items-center gap-3 rounded-lg px-3 py-2 text-[13px] transition {{ $item['active'] ? 'bg-teal-50 text-teal-700 font-semibold' : 'text-slate-600 hover:bg-slate-50 hover:text-slate-900' }}">
|
||||
<a href="{{ $item['route'] }}" class="group flex items-center gap-3 rounded-lg px-3 py-2 text-[13px] transition {{ $item['active'] ? 'bg-indigo-50 text-indigo-700 font-semibold' : 'text-slate-600 hover:bg-slate-50 hover:text-slate-900' }}">
|
||||
<span>{{ $item['name'] }}</span>
|
||||
</a>
|
||||
@endforeach
|
||||
@@ -95,7 +95,7 @@
|
||||
@if (count($adminNav) > 0)
|
||||
<p class="mb-1 mt-4 px-3 text-[10px] font-semibold uppercase tracking-wider text-slate-400">Administration</p>
|
||||
@foreach ($adminNav as $item)
|
||||
<a href="{{ $item['route'] }}" class="group flex items-center gap-3 rounded-lg px-3 py-2 text-[13px] transition {{ $item['active'] ? 'bg-teal-50 text-teal-700 font-semibold' : 'text-slate-600 hover:bg-slate-50 hover:text-slate-900' }}">
|
||||
<a href="{{ $item['route'] }}" class="group flex items-center gap-3 rounded-lg px-3 py-2 text-[13px] transition {{ $item['active'] ? 'bg-indigo-50 text-indigo-700 font-semibold' : 'text-slate-600 hover:bg-slate-50 hover:text-slate-900' }}">
|
||||
<span>{{ $item['name'] }}</span>
|
||||
</a>
|
||||
@endforeach
|
||||
@@ -104,8 +104,8 @@
|
||||
|
||||
<div class="shrink-0 border-t border-slate-100 px-3 py-3">
|
||||
<a href="{{ route('frontdesk.settings') }}"
|
||||
class="group flex items-center gap-3 rounded-lg px-3 py-2 text-[13px] transition {{ request()->routeIs('frontdesk.settings*') ? 'bg-teal-50 text-teal-700 font-semibold' : 'text-slate-600 hover:bg-slate-50 hover:text-slate-900' }}">
|
||||
<svg class="h-[18px] w-[18px] shrink-0 {{ request()->routeIs('frontdesk.settings*') ? 'text-teal-600' : 'text-slate-400' }}" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor">
|
||||
class="group flex items-center gap-3 rounded-lg px-3 py-2 text-[13px] transition {{ request()->routeIs('frontdesk.settings*') ? 'bg-indigo-50 text-indigo-700 font-semibold' : 'text-slate-600 hover:bg-slate-50 hover:text-slate-900' }}">
|
||||
<svg class="h-[18px] w-[18px] shrink-0 {{ request()->routeIs('frontdesk.settings*') ? 'text-indigo-600' : 'text-slate-400' }}" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M9.594 3.94c.09-.542.56-.94 1.11-.94h2.593c.55 0 1.02.398 1.11.94l.213 1.281c.063.374.313.686.645.87.074.04.147.083.22.127.325.196.72.257 1.075.124l1.217-.456a1.125 1.125 0 0 1 1.37.49l1.296 2.247a1.125 1.125 0 0 1-.26 1.431l-1.003.827c-.293.241-.438.613-.43.992a7.723 7.723 0 0 1 0 .255c-.008.378.137.75.43.991l1.004.827c.424.35.534.955.26 1.43l-1.298 2.247a1.125 1.125 0 0 1-1.369.491l-1.217-.456c-.355-.133-.75-.072-1.076.124a6.47 6.47 0 0 1-.22.128c-.331.183-.581.495-.644.869l-.213 1.281c-.09.543-.56.94-1.11.94h-2.594c-.55 0-1.019-.398-1.11-.94l-.213-1.281c-.062-.374-.312-.686-.644-.87a6.52 6.52 0 0 1-.22-.127c-.325-.196-.72-.257-1.076-.124l-1.217.456a1.125 1.125 0 0 1-1.369-.49l-1.297-2.247a1.125 1.125 0 0 1 .26-1.431l1.004-.827c.292-.241.437-.613.43-.992a6.932 6.932 0 0 1 0-.255c.007-.378-.138-.75-.43-.991l-1.004-.827a1.125 1.125 0 0 1-.26-1.43l1.297-2.247a1.125 1.125 0 0 1 1.37-.491l1.216.456c.356.133.751.072 1.076-.124.072-.044.146-.086.22-.128.332-.183.582-.495.644-.869l.214-1.281Z" /><path stroke-linecap="round" stroke-linejoin="round" d="M15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z" />
|
||||
</svg>
|
||||
<span class="flex-1 truncate">Settings</span>
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
<svg class="pointer-events-none absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-slate-400" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" d="m21 21-5.197-5.197m0 0A7.5 7.5 0 1 0 5.196 5.196a7.5 7.5 0 0 0 10.607 10.607Z"/></svg>
|
||||
<input x-ref="search" type="search" name="q" value="{{ request('q') }}"
|
||||
placeholder="Search visitors…"
|
||||
class="w-full rounded-xl border border-slate-200 bg-slate-50 py-2 pl-9 pr-10 text-sm text-slate-700 placeholder-slate-400 transition focus:border-teal-300 focus:bg-white focus:ring-2 focus:ring-teal-100 focus:outline-none">
|
||||
class="w-full rounded-xl border border-slate-200 bg-slate-50 py-2 pl-9 pr-10 text-sm text-slate-700 placeholder-slate-400 transition focus:border-indigo-300 focus:bg-white focus:ring-2 focus:ring-indigo-100 focus:outline-none">
|
||||
<kbd class="pointer-events-none absolute right-3 top-1/2 hidden -translate-y-1/2 rounded-md border border-slate-200 bg-white px-1.5 py-0.5 text-[10px] font-medium text-slate-400 sm:inline-block">/</kbd>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user