diff --git a/app/Http/Controllers/Frontdesk/DeviceController.php b/app/Http/Controllers/Frontdesk/DeviceController.php index 7e77c26..3e242b4 100644 --- a/app/Http/Controllers/Frontdesk/DeviceController.php +++ b/app/Http/Controllers/Frontdesk/DeviceController.php @@ -61,7 +61,7 @@ class DeviceController extends Controller 'reception_desk_id' => ['nullable', 'integer'], ]); - $token = in_array($validated['type'], ['kiosk', 'badge_printer', 'qr_scanner'], true) + $token = in_array($validated['type'], config('frontdesk.device_token_types', []), true) ? $devices->generateToken() : null; diff --git a/config/frontdesk.php b/config/frontdesk.php index dc2b9d1..ac120e9 100644 --- a/config/frontdesk.php +++ b/config/frontdesk.php @@ -87,6 +87,24 @@ return [ 'signature_pad' => 'Signature Pad', ], + /* + | Device types that receive a server-generated token for unattended API/kiosk access. + */ + 'device_token_types' => ['kiosk', 'badge_printer', 'qr_scanner'], + + /* + | Contextual copy for the register / edit device forms (keyed by device type). + */ + 'device_registration_hints' => [ + 'reception_computer' => 'Tracked for your team only. Staff sign in on this machine — no device token or automatic connection is created.', + 'kiosk' => 'A device token is created after registration. Open the kiosk URL on your tablet to run self-service check-in without staff login.', + 'tablet' => 'Tracked for inventory. Use Visitor Kiosk if this tablet should run unattended check-in.', + 'badge_printer' => 'A device token is created for unattended printing. The printer connects when your print agent sends requests with that token.', + 'qr_scanner' => 'A device token is created for unattended scanning. The scanner connects when it calls Frontdesk with that token.', + 'camera' => 'Tracked for inventory at this reception desk or branch — no device token is issued.', + 'signature_pad' => 'Tracked for inventory at this reception desk or branch — no device token is issued.', + ], + 'notification_channels' => [ 'email' => 'Email', 'sms' => 'SMS', diff --git a/resources/views/components/frontdesk/device-type-field.blade.php b/resources/views/components/frontdesk/device-type-field.blade.php new file mode 100644 index 0000000..0f11326 --- /dev/null +++ b/resources/views/components/frontdesk/device-type-field.blade.php @@ -0,0 +1,25 @@ +@props([ + 'deviceTypes', + 'selected' => 'reception_computer', +]) + +@php + $hints = config('frontdesk.device_registration_hints', []); +@endphp + +
merge(['class' => '']) }} + x-data="{ + type: @js(old('type', $selected)), + hints: @js($hints), + hint() { return this.hints[this.type] ?? ''; }, + }" +> + + +

+
diff --git a/resources/views/frontdesk/devices/create.blade.php b/resources/views/frontdesk/devices/create.blade.php index ec98b36..47279c5 100644 --- a/resources/views/frontdesk/devices/create.blade.php +++ b/resources/views/frontdesk/devices/create.blade.php @@ -7,14 +7,7 @@ -
- - -
+
-

Kiosks and printers receive a device token for unattended access.

diff --git a/resources/views/frontdesk/devices/edit.blade.php b/resources/views/frontdesk/devices/edit.blade.php index bf70036..338cceb 100644 --- a/resources/views/frontdesk/devices/edit.blade.php +++ b/resources/views/frontdesk/devices/edit.blade.php @@ -7,14 +7,7 @@ -
- - -
+