Files
ladill-queue/resources/views/qms/rules/index.blade.php
T
isaaccladandCursor cfef8bee06
Deploy Ladill Queue / deploy (push) Successful in 1m6s
Replace ghost action links with shared btn components in Queue.
Aligns kiosk, appointment, queue, and admin destructive actions with the Frontdesk pill-button pattern.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-09 06:38:09 +00:00

69 lines
3.9 KiB
PHP

<x-app-layout :title="'Rules — '.$queue->name">
<div class="mb-6">
<a href="{{ route('qms.queues.index') }}" class="text-sm text-indigo-600"> Queues</a>
<h1 class="mt-2 text-2xl font-semibold">Queue rules</h1>
<p class="text-sm text-slate-600">{{ $queue->name }}</p>
</div>
@include('partials.flash')
<div class="mb-6 rounded-2xl border bg-white p-6 dark:border-slate-700 dark:bg-slate-900">
<h2 class="text-sm font-semibold">Add rule</h2>
<form method="POST" action="{{ route('qms.rules.store', $queue) }}" class="mt-4 grid gap-4 md:grid-cols-2">
@csrf
<div>
<label class="block text-sm font-medium">Type</label>
<select name="rule_type" required class="mt-1 w-full rounded-lg border-slate-300 text-sm">
@foreach ($ruleTypes as $value => $label)
<option value="{{ $value }}">{{ $label }}</option>
@endforeach
</select>
</div>
<div>
<label class="block text-sm font-medium">Overflow queue</label>
<select name="overflow_queue_id" class="mt-1 w-full rounded-lg border-slate-300 text-sm">
<option value=""></option>
@foreach (\App\Models\ServiceQueue::owned($queue->owner_ref)->where('organization_id', $queue->organization_id)->where('id', '!=', $queue->id)->get() as $q)
<option value="{{ $q->id }}">{{ $q->name }}</option>
@endforeach
</select>
</div>
<div>
<label class="block text-sm font-medium">Waiting threshold</label>
<input name="waiting_threshold" type="number" min="1" class="mt-1 w-full rounded-lg border-slate-300 text-sm">
</div>
<div>
<label class="block text-sm font-medium">Boost priority to</label>
<select name="priority" class="mt-1 w-full rounded-lg border-slate-300 text-sm">
@foreach (config('qms.ticket_priorities') as $value => $label)
<option value="{{ $value }}">{{ $label }}</option>
@endforeach
</select>
</div>
<div class="md:col-span-2"><button type="submit" class="btn-primary">Add rule</button></div>
</form>
</div>
<div class="overflow-hidden rounded-2xl border bg-white dark:border-slate-700 dark:bg-slate-900">
<table class="min-w-full divide-y divide-slate-200">
<thead class="bg-slate-50"><tr>
<th class="px-4 py-3 text-left text-xs font-semibold uppercase text-slate-500">Type</th>
<th class="px-4 py-3 text-left text-xs font-semibold uppercase text-slate-500">Conditions</th>
<th class="px-4 py-3 text-left text-xs font-semibold uppercase text-slate-500">Actions</th>
<th></th>
</tr></thead>
<tbody class="divide-y divide-slate-200">
@forelse ($rules as $rule)
<tr>
<td class="px-4 py-3 text-sm">{{ $ruleTypes[$rule->rule_type] ?? $rule->rule_type }}</td>
<td class="px-4 py-3 text-xs text-slate-600">{{ json_encode($rule->conditions) }}</td>
<td class="px-4 py-3 text-xs text-slate-600">{{ json_encode($rule->actions) }}</td>
<td class="px-4 py-3 text-right">
<form method="POST" action="{{ route('qms.rules.destroy', [$queue, $rule]) }}">@csrf @method('DELETE')<x-btn type="submit" variant="danger" size="sm">Remove</x-btn></form>
</td>
</tr>
@empty
<tr><td colspan="4" class="px-6 py-8 text-center text-sm text-slate-500">No rules yet.</td></tr>
@endforelse
</tbody>
</table>
</div>
</x-app-layout>