From 7c225145f0fff1a966f0180ab3c2e0f051d70b45 Mon Sep 17 00:00:00 2001 From: Derick Phan Date: Thu, 26 Mar 2026 21:51:58 -0700 Subject: [PATCH] Redesign subscriptions page with card layout Replace cramped table layout with card-based design that works better in narrow viewports and across different themes. Co-Authored-By: Claude Opus 4.6 --- handlers.py | 34 ++++++++++++++++------------------ 1 file changed, 16 insertions(+), 18 deletions(-) diff --git a/handlers.py b/handlers.py index 27ff3d3..2034d3f 100644 --- a/handlers.py +++ b/handlers.py @@ -685,32 +685,30 @@ def handle_subscriptions(msg=""): subs = db.execute("SELECT * FROM subscriptions ORDER BY id DESC").fetchall() finally: return_db(db) - items = "" + cards = "" for s in subs: auto_label = "on" if s["auto_sync"] else "off" last = s["last_sync"] or "never" - items += ( - f'' - f'{esc(s["name"] or "unknown")}
{esc(s["dest_hash"])}' - f'{esc(last)}' - f'' + cards += ( + f'
' + f'
{esc(s["name"] or "unknown")}
' + f'
{esc(s["dest_hash"])}
' + f'
last sync: {esc(last)}
' + f'
' + f'browse' + f'
' + f'{_csrf_field()}
' f'
' f'{_csrf_field()}
' - f'' - f'' - f'browse ' - f'
' - f'{_csrf_field()}
' f'
' f'{_csrf_field()}
' - f'' - f'' + f'
' + f'
' ) - table = "" + listing = "" if subs: - table = ( - f'' - f'{items}
instancelast syncauto-syncactions
' + listing = ( + f'{cards}' f'
' f'{_csrf_field()}
' ) @@ -722,7 +720,7 @@ def handle_subscriptions(msg=""): f'' f'' f'

{msg}

' - f'
{table}' + f'
{listing}' f'
back' )