diff --git a/apps/web/src/app/activity/page.tsx b/apps/web/src/app/activity/page.tsx index 01572c8..db18c37 100644 --- a/apps/web/src/app/activity/page.tsx +++ b/apps/web/src/app/activity/page.tsx @@ -215,17 +215,26 @@ export default async function ActivityPage({ searchParams }: PageProps) { )} + {/* Six tabs (All / Success / Partial / Failed / Skipped / Archived) + packed into a phone-width row left every label squeezed to + ~50px. Wrap the list in an overflow-x scroller so each tab + keeps a readable label + comfortable touch target on mobile; + on desktop the row fits naturally and no scroll bar appears. + Negative margins extend the scroller to the page edges so the + first/last tabs don't look clipped against the container. */} - - {FILTER_TABS.map(({ value, label }) => ( - - {/* eslint-disable-next-line @typescript-eslint/no-explicit-any */} - - {label} - - - ))} - +
+ + {FILTER_TABS.map(({ value, label }) => ( + + {/* eslint-disable-next-line @typescript-eslint/no-explicit-any */} + + {label} + + + ))} + +
{filtered.length > 0 ? ( diff --git a/apps/web/src/components/app-shell.tsx b/apps/web/src/components/app-shell.tsx index bd1c50d..945b410 100644 --- a/apps/web/src/components/app-shell.tsx +++ b/apps/web/src/components/app-shell.tsx @@ -131,8 +131,12 @@ function Sidebar() { return (