diff --git a/resources/css/app.css b/resources/css/app.css
index 1e5e0af..64167e9 100644
--- a/resources/css/app.css
+++ b/resources/css/app.css
@@ -167,6 +167,119 @@ html.qr-mobile-page body {
pointer-events: none;
}
+ .btn-warning {
+ display: inline-flex;
+ align-items: center;
+ justify-content: center;
+ gap: 0.5rem;
+ border-radius: 9999px;
+ border: 1px solid rgb(252 211 77);
+ background-color: #fff;
+ padding: 0.5rem 1rem;
+ font-size: 0.875rem;
+ line-height: 1.25rem;
+ font-weight: 600;
+ color: rgb(180 83 9);
+ box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
+ transition: background-color 0.15s ease, border-color 0.15s ease;
+ }
+
+ .btn-warning:hover {
+ background-color: rgb(255 251 235);
+ border-color: rgb(245 158 11);
+ }
+
+ .btn-warning:disabled {
+ opacity: 0.6;
+ pointer-events: none;
+ }
+
+ .btn-danger {
+ display: inline-flex;
+ align-items: center;
+ justify-content: center;
+ gap: 0.5rem;
+ border-radius: 9999px;
+ border: 1px solid rgb(254 202 202);
+ background-color: #fff;
+ padding: 0.5rem 1rem;
+ font-size: 0.875rem;
+ line-height: 1.25rem;
+ font-weight: 600;
+ color: rgb(185 28 28);
+ box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
+ transition: background-color 0.15s ease, border-color 0.15s ease;
+ }
+
+ .btn-danger:hover {
+ background-color: rgb(254 242 242);
+ border-color: rgb(252 165 165);
+ }
+
+ .btn-danger:disabled {
+ opacity: 0.6;
+ pointer-events: none;
+ }
+
+ .btn-danger-plain {
+ padding: 0;
+ border: none;
+ background: transparent;
+ border-radius: 0;
+ box-shadow: none;
+ font-weight: 500;
+ }
+
+ .btn-danger-plain:hover {
+ background: transparent;
+ text-decoration: underline;
+ }
+
+ .btn-link {
+ display: inline-flex;
+ align-items: center;
+ justify-content: center;
+ gap: 0.375rem;
+ border-radius: 9999px;
+ border: 1px solid transparent;
+ background-color: transparent;
+ padding: 0.5rem 0.75rem;
+ font-size: 0.875rem;
+ line-height: 1.25rem;
+ font-weight: 600;
+ color: rgb(67 56 202);
+ transition: background-color 0.15s ease, color 0.15s ease;
+ }
+
+ .btn-link:hover {
+ background-color: rgb(238 242 255);
+ color: rgb(55 48 163);
+ }
+
+ .btn-link:disabled {
+ opacity: 0.6;
+ pointer-events: none;
+ }
+
+ .btn-link-plain {
+ padding: 0;
+ border: none;
+ background: transparent;
+ border-radius: 0;
+ font-weight: 500;
+ }
+
+ .btn-link-plain:hover {
+ background: transparent;
+ text-decoration: underline;
+ }
+
+ .btn-sm {
+ padding: 0.25rem 0.625rem;
+ font-size: 0.75rem;
+ line-height: 1rem;
+ }
+
.btn-group {
display: flex;
flex-wrap: wrap;
diff --git a/resources/views/components/btn.blade.php b/resources/views/components/btn.blade.php
new file mode 100644
index 0000000..ca40175
--- /dev/null
+++ b/resources/views/components/btn.blade.php
@@ -0,0 +1,34 @@
+@props([
+ 'variant' => 'primary',
+ 'href' => null,
+ 'type' => 'button',
+ 'size' => null,
+ 'plain' => false,
+])
+
+@php
+ $tag = $href ? 'a' : 'button';
+
+ $variantClass = match ($variant) {
+ 'secondary' => 'btn-secondary',
+ 'warning' => 'btn-warning',
+ 'danger' => 'btn-danger',
+ 'link' => 'btn-link',
+ default => 'btn-primary',
+ };
+
+ $classes = collect([
+ $variantClass,
+ $size === 'sm' ? 'btn-sm' : null,
+ ($plain && $variant === 'link') ? 'btn-link-plain' : null,
+ ($plain && $variant === 'danger') ? 'btn-danger-plain' : null,
+ ])->filter()->implode(' ');
+@endphp
+
+<{{ $tag }}
+ @if ($href) href="{{ $href }}" @endif
+ @if ($tag === 'button') type="{{ $type }}" @endif
+ {{ $attributes->class([$classes]) }}
+>
+ {{ $slot }}
+{{ $tag }}>
diff --git a/resources/views/components/danger-zone.blade.php b/resources/views/components/danger-zone.blade.php
new file mode 100644
index 0000000..c24603b
--- /dev/null
+++ b/resources/views/components/danger-zone.blade.php
@@ -0,0 +1,12 @@
+@props([
+ 'title' => null,
+])
+
+
class(['mt-6 space-y-3 rounded-2xl border border-slate-200 bg-slate-50/80 p-4']) }}>
+ @if ($title)
+
{{ $title }}
+ @endif
+
+ {{ $slot }}
+
+
diff --git a/resources/views/frontdesk/admin/branches/index.blade.php b/resources/views/frontdesk/admin/branches/index.blade.php
index 92ee23d..9165f4c 100644
--- a/resources/views/frontdesk/admin/branches/index.blade.php
+++ b/resources/views/frontdesk/admin/branches/index.blade.php
@@ -37,7 +37,7 @@
{{ $branch->address ?? 'No address' }} · {{ $branch->buildings_count }} building(s)
diff --git a/resources/views/frontdesk/admin/buildings/index.blade.php b/resources/views/frontdesk/admin/buildings/index.blade.php
index e51fd31..e8145f8 100644
--- a/resources/views/frontdesk/admin/buildings/index.blade.php
+++ b/resources/views/frontdesk/admin/buildings/index.blade.php
@@ -1,7 +1,7 @@
@@ -20,11 +20,11 @@
{{ $building->name }}
{{ $building->reception_desks_count }} desk(s)
-
diff --git a/resources/views/frontdesk/admin/desks/index.blade.php b/resources/views/frontdesk/admin/desks/index.blade.php
index a014f5b..dc68976 100644
--- a/resources/views/frontdesk/admin/desks/index.blade.php
+++ b/resources/views/frontdesk/admin/desks/index.blade.php
@@ -1,5 +1,5 @@
- ← Buildings
+ ← Buildings
{{ $building->name }}
@empty
diff --git a/resources/views/frontdesk/admin/members/index.blade.php b/resources/views/frontdesk/admin/members/index.blade.php
index 2995bc1..3d94dcf 100644
--- a/resources/views/frontdesk/admin/members/index.blade.php
+++ b/resources/views/frontdesk/admin/members/index.blade.php
@@ -40,7 +40,7 @@
@if ($member->user_ref !== auth()->user()->public_id)
@endif
diff --git a/resources/views/frontdesk/audit/index.blade.php b/resources/views/frontdesk/audit/index.blade.php
index 3501dea..512103f 100644
--- a/resources/views/frontdesk/audit/index.blade.php
+++ b/resources/views/frontdesk/audit/index.blade.php
@@ -5,7 +5,7 @@
Security and compliance activity
@if ($canExport)
- Export CSV
+ Export CSV
@endif
@@ -19,7 +19,7 @@
-
+ Filter
diff --git a/resources/views/frontdesk/compliance/recovery.blade.php b/resources/views/frontdesk/compliance/recovery.blade.php
index a3ed5ba..4f50c6d 100644
--- a/resources/views/frontdesk/compliance/recovery.blade.php
+++ b/resources/views/frontdesk/compliance/recovery.blade.php
@@ -15,7 +15,7 @@
@empty
@@ -35,7 +35,7 @@
@empty
diff --git a/resources/views/frontdesk/devices/edit.blade.php b/resources/views/frontdesk/devices/edit.blade.php
index 539f671..265c16b 100644
--- a/resources/views/frontdesk/devices/edit.blade.php
+++ b/resources/views/frontdesk/devices/edit.blade.php
@@ -40,7 +40,14 @@
Device token
{{ $device->device_token }}
@if ($device->type === 'kiosk')
- Open kiosk URL
+ Open kiosk URL
@if (! empty($kioskQrSvg))
Provision Ladill Kiosk app
@@ -53,21 +60,33 @@
@endif
-
Back
-
+
Back
+
Save
@if ($device->device_token)
-
@endif
-
-
diff --git a/resources/views/frontdesk/devices/index.blade.php b/resources/views/frontdesk/devices/index.blade.php
index 6b19099..283cd5f 100644
--- a/resources/views/frontdesk/devices/index.blade.php
+++ b/resources/views/frontdesk/devices/index.blade.php
@@ -53,10 +53,18 @@
{{ $device->last_online_at?->diffForHumans() ?? 'Never' }} |
@if ($canManage)
- Edit
- @endif
- @if ($device->type === 'kiosk' && $device->device_token)
- Open kiosk
+
+ Edit
+ @if ($device->type === 'kiosk' && $device->device_token)
+ Open kiosk
+ @endif
+
@endif
|
diff --git a/resources/views/frontdesk/employee-portal/index.blade.php b/resources/views/frontdesk/employee-portal/index.blade.php
index 2890396..4952043 100644
--- a/resources/views/frontdesk/employee-portal/index.blade.php
+++ b/resources/views/frontdesk/employee-portal/index.blade.php
@@ -51,7 +51,7 @@
@endif
@@ -64,7 +64,7 @@
@endif
diff --git a/resources/views/frontdesk/employees/edit.blade.php b/resources/views/frontdesk/employees/edit.blade.php
index 65154e5..a2698b8 100644
--- a/resources/views/frontdesk/employees/edit.blade.php
+++ b/resources/views/frontdesk/employees/edit.blade.php
@@ -64,13 +64,15 @@
@endif
-
Back
-
+
Back
+
Save
-
diff --git a/resources/views/frontdesk/employees/index.blade.php b/resources/views/frontdesk/employees/index.blade.php
index 6294c93..51fd138 100644
--- a/resources/views/frontdesk/employees/index.blade.php
+++ b/resources/views/frontdesk/employees/index.blade.php
@@ -55,7 +55,7 @@
Badge
- Edit
+ Edit
|
@empty
diff --git a/resources/views/frontdesk/host-portal/index.blade.php b/resources/views/frontdesk/host-portal/index.blade.php
index e84a07f..5cbe653 100644
--- a/resources/views/frontdesk/host-portal/index.blade.php
+++ b/resources/views/frontdesk/host-portal/index.blade.php
@@ -7,9 +7,7 @@
Pre-register visitor
diff --git a/resources/views/frontdesk/host-portal/schedule.blade.php b/resources/views/frontdesk/host-portal/schedule.blade.php
index d0a0718..862b94a 100644
--- a/resources/views/frontdesk/host-portal/schedule.blade.php
+++ b/resources/views/frontdesk/host-portal/schedule.blade.php
@@ -47,8 +47,8 @@
-
Cancel
-
+
Cancel
+
Schedule visit
diff --git a/resources/views/frontdesk/hosts/index.blade.php b/resources/views/frontdesk/hosts/index.blade.php
index c21d5c3..8c4c98c 100644
--- a/resources/views/frontdesk/hosts/index.blade.php
+++ b/resources/views/frontdesk/hosts/index.blade.php
@@ -39,7 +39,7 @@
{{ $host->office ?? '—' }} |
{{ $host->email ?? $host->phone ?? '—' }} |
- Edit
+ Edit
|
@empty
diff --git a/resources/views/frontdesk/reports/index.blade.php b/resources/views/frontdesk/reports/index.blade.php
index f9a99a6..ccdf331 100644
--- a/resources/views/frontdesk/reports/index.blade.php
+++ b/resources/views/frontdesk/reports/index.blade.php
@@ -12,7 +12,7 @@
@@ -76,7 +76,7 @@
Staff attendance
@if ($canExport)
-
Export HR CSV
+
Export HR CSV
@endif
diff --git a/resources/views/frontdesk/security/index.blade.php b/resources/views/frontdesk/security/index.blade.php
index 225ad07..b1cb3e2 100644
--- a/resources/views/frontdesk/security/index.blade.php
+++ b/resources/views/frontdesk/security/index.blade.php
@@ -5,12 +5,8 @@
{{ $occupancy->count() }} visitors · {{ $staffOnSite->where('status', 'on_site')->count() }} staff on site · {{ $staffOnSite->where('status', 'stepped_out')->count() }} stepped out
@@ -45,7 +41,7 @@
@if ($canCheckout)
@endif
diff --git a/resources/views/frontdesk/security/verify.blade.php b/resources/views/frontdesk/security/verify.blade.php
index 55363f7..5daa499 100644
--- a/resources/views/frontdesk/security/verify.blade.php
+++ b/resources/views/frontdesk/security/verify.blade.php
@@ -36,7 +36,7 @@
Watchlist{{ str_replace('_', ' ', $visit->visitor->watchlist_status) }}
- View full visit record
+ View full visit record
@else
No matching visit found for “{{ $lookup }}”.
diff --git a/resources/views/frontdesk/service-queues/console.blade.php b/resources/views/frontdesk/service-queues/console.blade.php
index ff01946..a41f932 100644
--- a/resources/views/frontdesk/service-queues/console.blade.php
+++ b/resources/views/frontdesk/service-queues/console.blade.php
@@ -9,7 +9,7 @@
-
← Service queues
+
← Service queues
{{ $counter['name'] ?? 'Counter' }}
{{ $counter['branch'] ?? '' }} · Ladill Queue console
diff --git a/resources/views/frontdesk/visitors/show.blade.php b/resources/views/frontdesk/visitors/show.blade.php
index 6c03387..6e2759e 100644
--- a/resources/views/frontdesk/visitors/show.blade.php
+++ b/resources/views/frontdesk/visitors/show.blade.php
@@ -5,11 +5,13 @@
{{ $visitor->company }} · {{ $visitor->visit_count }} visits · {{ ucfirst(str_replace('_', ' ', $visitor->watchlist_status)) }}
@if ($canManage)
- Quick check-in
-
+
+ Quick check-in
+
+
@endif
@@ -69,7 +71,7 @@
@endforeach
-
+ Update watchlist
@endif
diff --git a/resources/views/frontdesk/visits/create.blade.php b/resources/views/frontdesk/visits/create.blade.php
index ae26970..bf44461 100644
--- a/resources/views/frontdesk/visits/create.blade.php
+++ b/resources/views/frontdesk/visits/create.blade.php
@@ -20,7 +20,7 @@
Frequent
@endif
- Quick check-in
+ Quick check-in
@endforeach
diff --git a/resources/views/frontdesk/visits/index.blade.php b/resources/views/frontdesk/visits/index.blade.php
index d1cbe9e..af8248b 100644
--- a/resources/views/frontdesk/visits/index.blade.php
+++ b/resources/views/frontdesk/visits/index.blade.php
@@ -26,7 +26,7 @@
@endforeach
-
+ Filter
diff --git a/resources/views/frontdesk/visits/show.blade.php b/resources/views/frontdesk/visits/show.blade.php
index 6afafbb..52460fa 100644
--- a/resources/views/frontdesk/visits/show.blade.php
+++ b/resources/views/frontdesk/visits/show.blade.php
@@ -5,32 +5,32 @@
{{ $visit->visitor->full_name }}
{{ ucfirst(str_replace('_', ' ', $visit->visitor_type)) }} · Badge {{ $visit->badge_code }}
-
+
@if ($visit->isInside())
-
Print badge
-
Preview
+
Print badge
+
Preview
@elseif ($canManage && $visit->awaitingApproval())
@elseif ($canManage && $visit->canActivateCheckIn())
-
@elseif ($canManage && ! $visit->isInside())
@endif
@@ -41,17 +41,17 @@
@endif
@if ($canManage && $visit->isPending() && ! $visit->awaitingApproval())
-
+
@if (in_array($visit->status, ['expected', 'scheduled', 'overdue'], true))
@endif
@endif
diff --git a/resources/views/frontdesk/watchlist/index.blade.php b/resources/views/frontdesk/watchlist/index.blade.php
index ab0dfc4..624640a 100644
--- a/resources/views/frontdesk/watchlist/index.blade.php
+++ b/resources/views/frontdesk/watchlist/index.blade.php
@@ -30,7 +30,7 @@
@endif
@endforeach
-
+
Filter