From 16c85ce38ac7fe7eb9b37c21947143e70a72cd16 Mon Sep 17 00:00:00 2001 From: isaacclad Date: Sat, 27 Jun 2026 22:23:26 +0000 Subject: [PATCH] Replace free-text visit purpose with configurable dropdown options. Add visit_purposes config and shared select on kiosk, reception check-in, and scheduling forms. Co-authored-by: Cursor --- config/frontdesk.php | 11 ++++++++++ .../frontdesk/host-portal/schedule.blade.php | 3 ++- .../views/frontdesk/kiosk/index.blade.php | 7 ++++++- .../partials/purpose-select.blade.php | 20 +++++++++++++++++++ .../frontdesk/visitors/check-in.blade.php | 2 +- .../views/frontdesk/visits/create.blade.php | 2 +- .../views/frontdesk/visits/schedule.blade.php | 2 +- 7 files changed, 42 insertions(+), 5 deletions(-) create mode 100644 resources/views/frontdesk/partials/purpose-select.blade.php diff --git a/config/frontdesk.php b/config/frontdesk.php index 1653215..dc2b9d1 100644 --- a/config/frontdesk.php +++ b/config/frontdesk.php @@ -22,6 +22,17 @@ return [ 'delivery' => 'Delivery Personnel', ], + 'visit_purposes' => [ + 'meeting' => 'Business meeting', + 'interview' => 'Job interview', + 'delivery' => 'Delivery or pickup', + 'maintenance' => 'Maintenance or repairs', + 'sales' => 'Sales or vendor visit', + 'training' => 'Training or workshop', + 'personal' => 'Personal visit', + 'other' => 'Other', + ], + 'visit_statuses' => [ 'scheduled' => 'Scheduled', 'expected' => 'Expected', diff --git a/resources/views/frontdesk/host-portal/schedule.blade.php b/resources/views/frontdesk/host-portal/schedule.blade.php index 05af75f..d0a0718 100644 --- a/resources/views/frontdesk/host-portal/schedule.blade.php +++ b/resources/views/frontdesk/host-portal/schedule.blade.php @@ -35,7 +35,8 @@
- + + @include('frontdesk.partials.purpose-select', ['value' => old('purpose'), 'class' => 'mt-1 w-full rounded-lg border-slate-300 text-sm'])
diff --git a/resources/views/frontdesk/kiosk/index.blade.php b/resources/views/frontdesk/kiosk/index.blade.php index 872bd53..a71986b 100644 --- a/resources/views/frontdesk/kiosk/index.blade.php +++ b/resources/views/frontdesk/kiosk/index.blade.php @@ -155,7 +155,12 @@ @endforeach - +
diff --git a/resources/views/frontdesk/partials/purpose-select.blade.php b/resources/views/frontdesk/partials/purpose-select.blade.php new file mode 100644 index 0000000..60fcc99 --- /dev/null +++ b/resources/views/frontdesk/partials/purpose-select.blade.php @@ -0,0 +1,20 @@ +@props([ + 'name' => 'purpose', + 'id' => 'purpose', + 'value' => null, + 'class' => 'mt-1 w-full rounded-lg border-slate-300 text-sm', + 'placeholder' => 'Select purpose of visit', + 'required' => false, +]) + +@php + $purposes = config('frontdesk.visit_purposes', []); + $selected = old($name, $value); +@endphp + + diff --git a/resources/views/frontdesk/visitors/check-in.blade.php b/resources/views/frontdesk/visitors/check-in.blade.php index 346eca5..2189be1 100644 --- a/resources/views/frontdesk/visitors/check-in.blade.php +++ b/resources/views/frontdesk/visitors/check-in.blade.php @@ -50,7 +50,7 @@
- + @include('frontdesk.partials.purpose-select', ['id' => 'purpose'])