From f1cb9e5c66da85c71e030baa0cc19e0ba9b540f7 Mon Sep 17 00:00:00 2001 From: c0mrade Date: Tue, 24 Mar 2026 13:31:25 +0300 Subject: [PATCH] =?UTF-8?q?redesign:=20subscriptions=20list=20page=20?= =?UTF-8?q?=E2=80=94=20full=20width,=20grid=20layout,=20accent=20add=20but?= =?UTF-8?q?ton?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Remove max-w-lg constraint to match dashboard width - Grid layout: 2 columns on desktop, 1 on mobile - Move "Новый тариф" button to header row as accent-styled button - Larger empty state with more breathing room --- src/pages/Subscriptions.tsx | 87 +++++++++++++++++++++---------------- 1 file changed, 50 insertions(+), 37 deletions(-) diff --git a/src/pages/Subscriptions.tsx b/src/pages/Subscriptions.tsx index c328125..5511b2c 100644 --- a/src/pages/Subscriptions.tsx +++ b/src/pages/Subscriptions.tsx @@ -13,15 +13,15 @@ function EmptyState({ onBuy }: { onBuy: () => void }) { return (
void }) { />
-

+

{t('subscriptions.empty', 'Нет подписок')}

-

+

{t('subscriptions.emptyDesc', 'У вас пока нет активных подписок')}

@@ -73,52 +73,65 @@ export default function Subscriptions() { } return ( -
-

- {t('subscriptions.title', 'Мои подписки')} -

+
+ {/* Header */} +
+

+ {t('subscriptions.title', 'Мои подписки')} +

+ {!isLoading && subscriptions.length > 0 && ( + + )} +
+ {/* Loading */} {isLoading && ( -
+
{[1, 2].map((i) => (
))}
)} + {/* Empty state */} {!isLoading && subscriptions.length === 0 && ( navigate('/subscription/purchase')} /> )} - {subscriptions.map((sub) => ( - navigate(`/subscriptions/${sub.id}`)} - /> - ))} - - {!isLoading && subscriptions.length > 0 && ( - + {/* Subscription grid */} + {subscriptions.length > 0 && ( +
+ {subscriptions.map((sub) => ( + navigate(`/subscriptions/${sub.id}`)} + /> + ))} +
)}
);