From 251c86292218b0c9051556133cf76a4a1dedc0fd Mon Sep 17 00:00:00 2001 From: c0mrade Date: Tue, 26 May 2026 20:53:40 +0300 Subject: [PATCH] adapt(admin): mobile touch-target floor on shared .btn + ticket chat MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Audit P2: admin pages prioritise density but cabinet also runs in the Telegram Mini App on phones. Small button targets (~24-32px) work for mouse precision but fail mobile thumbs. Apply targeted bumps that keep desktop density unchanged. src/styles/globals.css • .btn — add min-h-[44px] on mobile, sm:min-h-0 on desktop. Cascades to every .btn-primary / .btn-secondary / .btn-ghost / .btn-danger consumer (76 + 48 + N usages app-wide). One change, everywhere. • .btn-icon — same logic (min-h/min-w 44px mobile). Drops the duplicate definition that appeared further down the file. components/admin/userDetail/TicketsTab.tsx — mobile-critical chat • Back button h-8 w-8 → h-10 w-10 sm:h-8 sm:w-8 (40px / 32px). Adds aria-label since it had none. • Status pills px-2.5 py-1 → +min-h-[36px] py-1.5 sm:min-h-0 sm:py-1 (36px / 26px). Mis-tap penalty on mobile is high (it flips ticket status). • Reply send button — add min-h/min-w 44px mobile + aria-label. Why not blanket bump py-1.5 → py-2.5 across all 40+ admin pages: visual density patterns were iteratively designed and a global sweep would regress them. Per-page review can target specific buttons that deserve mobile touch floor without breaking density elsewhere. icon-only buttons not using .btn-icon (raw ) left as-is — they're typically in compact toolbars where visual density is the point. Per-page review under /impeccable adapt target= if mobile flow analysis flags one. --- src/components/admin/userDetail/TicketsTab.tsx | 11 +++++++---- src/styles/globals.css | 18 +++++++++++------- 2 files changed, 18 insertions(+), 11 deletions(-) diff --git a/src/components/admin/userDetail/TicketsTab.tsx b/src/components/admin/userDetail/TicketsTab.tsx index d251424..3a16b8d 100644 --- a/src/components/admin/userDetail/TicketsTab.tsx +++ b/src/components/admin/userDetail/TicketsTab.tsx @@ -262,7 +262,8 @@ function ChatView({
- {/* Status buttons */} + {/* Status buttons — 36px mobile / 26px desktop. Active state matters + and gets mis-tapped on mobile when too small. */}
{STATUS_VALUES.map((s) => (