From 928e3037f00000d9aa43a34985dd1e98fe6bf504 Mon Sep 17 00:00:00 2001 From: Bryan Van Deusen Date: Thu, 4 Jun 2026 13:40:25 -0400 Subject: [PATCH] fix(ui): purpose-built mobile layout for subscriptions hub MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Vuetify's auto card-stack was too verbose (one subscription filled the whole phone screen) and the expanded sources still needed lateral scroll. Replace it below 600px (useDisplay) with a custom compact-card list: each subscription is a 2-line card (name + health + expand chevron, then platform chips + sources count + last activity) so several fit per screen. Expanding shows the action row + each source as a STACKED SourceCard (new) — platform/url/enabled/last/ next/errors/actions laid out vertically, no horizontal scroll. The mobile cards drive the same selected/expanded key arrays as the desktop data-table, so selection and bulk actions are unchanged. Desktop keeps the v-data-table. Co-Authored-By: Claude Opus 4.8 (1M context) --- .../components/subscriptions/SourceCard.vue | 107 ++++++++++++++++ .../subscriptions/SubscriptionsTab.vue | 116 +++++++++++++++++- 2 files changed, 221 insertions(+), 2 deletions(-) create mode 100644 frontend/src/components/subscriptions/SourceCard.vue diff --git a/frontend/src/components/subscriptions/SourceCard.vue b/frontend/src/components/subscriptions/SourceCard.vue new file mode 100644 index 0000000..03464f8 --- /dev/null +++ b/frontend/src/components/subscriptions/SourceCard.vue @@ -0,0 +1,107 @@ + + + + + diff --git a/frontend/src/components/subscriptions/SubscriptionsTab.vue b/frontend/src/components/subscriptions/SubscriptionsTab.vue index e079916..d6a73da 100644 --- a/frontend/src/components/subscriptions/SubscriptionsTab.vue +++ b/frontend/src/components/subscriptions/SubscriptionsTab.vue @@ -75,7 +75,7 @@

No subscriptions match the current filter.

- +