feat(ui): improve mobile responsiveness and touch targets

Add mobile-optimized card view for seat lists on smaller screens
Increase minimum height for buttons and form items for better touch interaction
Adjust grid layouts, padding, and spacing across pages for mobile devices
This commit is contained in:
2026-05-08 16:28:47 +08:00
parent 227c64d346
commit b6749bc5e7
4 changed files with 89 additions and 32 deletions

View File

@@ -33,7 +33,7 @@ const totalFormatted = computed(() => formatBookingCurrency(receipt.value.bookin
<template>
<UContainer class="page-shell-narrow">
<div class="space-y-6">
<div class="space-y-5 sm:space-y-6">
<div class="page-header text-center sm:items-center">
<UBadge label="Seat Ticket" color="primary" variant="soft" class="page-eyebrow" />
<h1 class="page-title">
@@ -44,7 +44,7 @@ const totalFormatted = computed(() => formatBookingCurrency(receipt.value.bookin
</p>
</div>
<div class="grid gap-6 lg:grid-cols-[18rem_minmax(0,1fr)]">
<div class="grid gap-4 lg:grid-cols-[18rem_minmax(0,1fr)] lg:gap-6">
<UCard class="surface-card overflow-hidden rounded-lg" :ui="{ body: 'space-y-4 p-4 sm:p-5' }">
<div class="space-y-1 text-center">
<p class="text-sm font-semibold text-highlighted">
@@ -82,7 +82,7 @@ const totalFormatted = computed(() => formatBookingCurrency(receipt.value.bookin
</p>
</div>
<div class="grid gap-3 sm:grid-cols-2">
<div class="grid gap-2 sm:grid-cols-2 sm:gap-3">
<div class="surface-panel rounded-lg p-4">
<p class="text-xs uppercase tracking-wide text-muted">
Guest / Organizer
@@ -149,7 +149,7 @@ const totalFormatted = computed(() => formatBookingCurrency(receipt.value.bookin
:to="receipt.receiptUrl"
label="Open Main Receipt"
icon="i-lucide-receipt"
class="flex-1 justify-center"
class="min-h-12 flex-1 justify-center"
/>
<UButton
:to="receipt.seat.seatUrl"
@@ -158,7 +158,7 @@ const totalFormatted = computed(() => formatBookingCurrency(receipt.value.bookin
color="neutral"
variant="outline"
icon="i-lucide-external-link"
class="flex-1 justify-center"
class="min-h-12 flex-1 justify-center"
/>
</div>
</UCard>