Replace Upgrade to Pro with Report Issue for staff.
Deploy Ladill Queue / deploy (push) Successful in 38s

Non-owners submit Queue issues to Ladill admin via Identity.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
isaacclad
2026-07-14 22:23:48 +00:00
co-authored by Cursor
parent 6e66f7c584
commit 7c8a8f889e
5 changed files with 155 additions and 9 deletions
+20 -9
View File
@@ -100,16 +100,27 @@
</a>
@endif
@php $proActive = request()->routeIs('qms.pro.*'); @endphp
@if (! empty($hasPaidPlan))
<a href="{{ route('qms.pro.index') }}" class="group {{ $permissions->can($member, 'settings.view') ? 'mt-0.5' : '' }} flex items-center gap-3 rounded-lg px-3 py-2 text-[13px] transition {{ $proActive ? '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 text-amber-500" viewBox="0 0 24 24" fill="currentColor"><path d="M12 2.25c.3 0 .58.18.7.46l2.36 5.5 5.96.5a.75.75 0 0 1 .43 1.31l-4.53 3.9 1.36 5.83a.75.75 0 0 1-1.12.81L12 17.77l-5.16 3a.75.75 0 0 1-1.12-.81l1.36-5.83-4.53-3.9a.75.75 0 0 1 .43-1.31l5.96-.5 2.36-5.5c.12-.28.4-.46.7-.46Z"/></svg>
<span>{{ ! empty($isEnterprise) ? 'Queue Enterprise' : 'Queue Pro' }}</span>
</a>
@php
$proActive = request()->routeIs('qms.pro.*');
$issueActive = request()->routeIs('qms.issues.*');
$isAccountOwner = \App\Support\StaffUx::showBilling(auth()->user());
@endphp
@if ($isAccountOwner)
@if (! empty($hasPaidPlan))
<a href="{{ route('qms.pro.index') }}" class="group {{ $permissions->can($member, 'settings.view') ? 'mt-0.5' : '' }} flex items-center gap-3 rounded-lg px-3 py-2 text-[13px] transition {{ $proActive ? '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 text-amber-500" viewBox="0 0 24 24" fill="currentColor"><path d="M12 2.25c.3 0 .58.18.7.46l2.36 5.5 5.96.5a.75.75 0 0 1 .43 1.31l-4.53 3.9 1.36 5.83a.75.75 0 0 1-1.12.81L12 17.77l-5.16 3a.75.75 0 0 1-1.12-.81l1.36-5.83-4.53-3.9a.75.75 0 0 1 .43-1.31l5.96-.5 2.36-5.5c.12-.28.4-.46.7-.46Z"/></svg>
<span>{{ ! empty($isEnterprise) ? 'Queue Enterprise' : 'Queue Pro' }}</span>
</a>
@else
<a href="{{ route('qms.pro.index') }}" class="group {{ $permissions->can($member, 'settings.view') ? 'mt-0.5' : '' }} flex items-center gap-3 rounded-lg bg-gradient-to-r from-indigo-600 to-emerald-500 px-3 py-2 text-[13px] font-semibold text-white shadow-sm transition hover:opacity-95">
<svg class="h-[18px] w-[18px] shrink-0" viewBox="0 0 24 24" fill="currentColor"><path d="M12 2.25c.3 0 .58.18.7.46l2.36 5.5 5.96.5a.75.75 0 0 1 .43 1.31l-4.53 3.9 1.36 5.83a.75.75 0 0 1-1.12.81L12 17.77l-5.16 3a.75.75 0 0 1-1.12-.81l1.36-5.83-4.53-3.9a.75.75 0 0 1 .43-1.31l5.96-.5 2.36-5.5c.12-.28.4-.46.7-.46Z"/></svg>
<span>Upgrade to Pro</span>
</a>
@endif
@else
<a href="{{ route('qms.pro.index') }}" class="group {{ $permissions->can($member, 'settings.view') ? 'mt-0.5' : '' }} flex items-center gap-3 rounded-lg bg-gradient-to-r from-indigo-600 to-emerald-500 px-3 py-2 text-[13px] font-semibold text-white shadow-sm transition hover:opacity-95">
<svg class="h-[18px] w-[18px] shrink-0" viewBox="0 0 24 24" fill="currentColor"><path d="M12 2.25c.3 0 .58.18.7.46l2.36 5.5 5.96.5a.75.75 0 0 1 .43 1.31l-4.53 3.9 1.36 5.83a.75.75 0 0 1-1.12.81L12 17.77l-5.16 3a.75.75 0 0 1-1.12-.81l1.36-5.83-4.53-3.9a.75.75 0 0 1 .43-1.31l5.96-.5 2.36-5.5c.12-.28.4-.46.7-.46Z"/></svg>
<span>Upgrade to Pro</span>
<a href="{{ route('qms.issues.create') }}" class="group mt-0.5 flex items-center gap-3 rounded-lg bg-gradient-to-r from-indigo-600 to-emerald-500 px-3 py-2 text-[13px] font-semibold text-white shadow-sm transition hover:opacity-95 {{ $issueActive ? 'ring-2 ring-indigo-300' : '' }}">
<svg class="h-[18px] w-[18px] shrink-0" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M12 9v3.75m9-.75a9 9 0 1 1-18 0 9 9 0 0 1 18 0Zm-9 3.75h.008v.008H12v-.008Z" /></svg>
<span>Report Issue</span>
</a>
@endif
</div>
@@ -0,0 +1,43 @@
<x-app-layout title="Report issue">
<div class="mx-auto max-w-lg space-y-6">
<div>
<h1 class="text-xl font-semibold text-slate-900">Report an issue</h1>
<p class="mt-1 text-sm text-slate-500">Send a problem to Ladill support. Account owners manage billing upgrades staff use this for help with Queue.</p>
</div>
@if (session('error'))
<p class="rounded-lg bg-rose-50 px-3 py-2 text-sm text-rose-800">{{ session('error') }}</p>
@endif
<form method="POST" action="{{ route('qms.issues.store') }}" class="space-y-4 rounded-2xl border border-slate-200 bg-white p-6">
@csrf
<div>
<label class="block text-sm font-medium text-slate-700">Subject</label>
<input type="text" name="subject" value="{{ old('subject') }}" required maxlength="255"
class="mt-1 w-full rounded-lg border-slate-300 text-sm"
placeholder="e.g. Ticket handoff failed">
@error('subject')<p class="mt-1 text-sm text-red-600">{{ $message }}</p>@enderror
</div>
<div>
<label class="block text-sm font-medium text-slate-700">Priority</label>
<select name="priority" class="mt-1 w-full rounded-lg border-slate-300 text-sm">
<option value="normal" @selected(old('priority', 'normal') === 'normal')>Normal</option>
<option value="low" @selected(old('priority') === 'low')>Low</option>
<option value="high" @selected(old('priority') === 'high')>High</option>
</select>
</div>
<div>
<label class="block text-sm font-medium text-slate-700">What happened?</label>
<textarea name="message" rows="6" required maxlength="5000"
class="mt-1 w-full rounded-lg border-slate-300 text-sm"
placeholder="Describe what you were doing and what went wrong…">{{ old('message') }}</textarea>
@error('message')<p class="mt-1 text-sm text-red-600">{{ $message }}</p>@enderror
</div>
<button type="submit" class="btn-primary w-full">Send to Ladill support</button>
</form>
</div>
</x-app-layout>