From 3d7408a60746325fdd3d645dbe2e235049d7812b Mon Sep 17 00:00:00 2001 From: dwindown Date: Thu, 25 Dec 2025 10:33:54 +0700 Subject: [PATCH] Optimize mobile layouts and fix integration tab overflow Mobile Card Layout Improvements: - Remove redundant Card/CardContent wrappers in mobile layouts - Use simple div with border-2 border-border rounded-lg p-4 space-y-3 bg-card - This provides wider cards without extra padding from wrapper div - Applied to all admin pages: AdminProducts, AdminOrders, AdminMembers, AdminConsulting, AdminEvents Integration Tab Fix: - Remove redundant Calendar ID display in Alert component - The Calendar ID is already visible in the input field above - This Alert was causing horizontal overflow on mobile - Alert showed 'OAuth configured. Calendar ID: {long_email}@group.calendar.google.com' - Removing this eliminates the overflow issue --- .../admin/settings/IntegrasiTab.tsx | 8 --- src/pages/admin/AdminConsulting.tsx | 8 +-- src/pages/admin/AdminEvents.tsx | 8 +-- src/pages/admin/AdminMembers.tsx | 4 +- src/pages/admin/AdminOrders.tsx | 4 +- src/pages/admin/AdminProducts.tsx | 72 +++++++++---------- 6 files changed, 47 insertions(+), 57 deletions(-) diff --git a/src/components/admin/settings/IntegrasiTab.tsx b/src/components/admin/settings/IntegrasiTab.tsx index a0da9f0..928eda9 100644 --- a/src/components/admin/settings/IntegrasiTab.tsx +++ b/src/components/admin/settings/IntegrasiTab.tsx @@ -363,14 +363,6 @@ export function IntegrasiTab() { OAuth2 credentials untuk personal Gmail account. Gunakan tool ini untuk generate refresh token.

- {settings.google_oauth_config && ( - - - - OAuth configured. Calendar ID: {settings.integration_google_calendar_id || 'Not set'} - - - )} - +
+
+
+

{product.title}

+

{product.type}

+
+
+ + +
+
+
+
+ Harga: +
+ {product.sale_price ? ( +
+ {formatIDR(product.sale_price)} + {formatIDR(product.price)} +
+ ) : ( + {formatIDR(product.price)} + )}
-
-
- Harga: -
- {product.sale_price ? ( -
- {formatIDR(product.sale_price)} - {formatIDR(product.price)} -
- ) : ( - {formatIDR(product.price)} - )} -
-
-
- Status: - - {product.is_active ? 'Aktif' : 'Nonaktif'} - -
+
+ Status: + + {product.is_active ? 'Aktif' : 'Nonaktif'} +
- - +
+
))} {products.length === 0 && (