Add dashboard upgrade banner for free Queue plans.
Deploy Ladill Queue / deploy (push) Successful in 1m8s

Extract the Pro upsell into a shared partial so free orgs see View plans on the dashboard, not only in the sidebar.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
isaacclad
2026-06-30 18:13:16 +00:00
co-authored by Cursor
parent 6e7255b9f5
commit a0b5230c4c
4 changed files with 20 additions and 10 deletions
+6
View File
@@ -246,4 +246,10 @@ return [
'display_poll_ms' => (int) env('QUEUE_DISPLAY_POLL_MS', 1200),
'upgrade_banner' => [
'title' => 'Unlock Queue Pro or Enterprise',
'description' => 'Unlimited branches, advanced routing, Care & Frontdesk integrations — from GHS 99/mo.',
'route' => 'qms.pro.index',
],
];
@@ -0,0 +1,10 @@
@php $banner = config('qms.upgrade_banner'); @endphp
@if (empty($hasPaidPlan) && ! empty($banner))
<div class="mb-6 flex flex-col gap-3 rounded-2xl border border-indigo-200 bg-gradient-to-r from-indigo-50 to-emerald-50 px-5 py-4 sm:flex-row sm:items-center sm:justify-between">
<div>
<p class="font-semibold text-slate-900">{{ $banner['title'] }}</p>
<p class="mt-0.5 text-sm text-slate-600">{{ $banner['description'] }}</p>
</div>
<a href="{{ route($banner['route']) }}" class="btn-primary shrink-0">View plans</a>
</div>
@endif
+1 -9
View File
@@ -68,15 +68,7 @@
@endif
</div>
@if (empty($hasPaidPlan))
<div class="mb-6 flex flex-col gap-3 rounded-2xl border border-indigo-200 bg-gradient-to-r from-indigo-50 to-emerald-50 px-5 py-4 sm:flex-row sm:items-center sm:justify-between">
<div>
<p class="font-semibold text-slate-900">Unlock Queue Pro or Enterprise</p>
<p class="mt-0.5 text-sm text-slate-600">Unlimited branches, advanced routing, Care &amp; Frontdesk integrations from GHS 99/mo.</p>
</div>
<a href="{{ route('qms.pro.index') }}" class="btn-primary shrink-0">View plans</a>
</div>
@endif
@include('partials.upgrade-banner')
<section class="mb-8">
<h2 class="mb-3 text-sm font-semibold uppercase tracking-wide text-slate-500">Live operations</h2>
+3 -1
View File
@@ -59,7 +59,9 @@ class QmsProTest extends TestCase
$this->actingAs($this->owner)
->get(route('qms.dashboard'))
->assertOk()
->assertSee('Upgrade to Pro');
->assertSee('Upgrade to Pro')
->assertSee('Unlock Queue Pro or Enterprise')
->assertSee('View plans');
}
public function test_sidebar_shows_upgrade_for_operator_without_settings_access(): void