From 77168e26524d17adfd79cf5fb3fa74fa163b99c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9B=A8=E9=9C=96=E9=93=83?= Date: Thu, 28 May 2026 23:43:02 +0800 Subject: [PATCH] refactor(StorageCleaner): improve style consistency and checkbox alignment - Group storage options, auto-refresh toggle, and clean button into unified card - Remove card wrappers from StorageOptionsGrid and AutoRefreshToggle (now sections within parent card) - Align OptionItem and Select All checkboxes with consistent px-3.5 padding - Distinguish indeterminate vs checked checkbox states visually - Standardize spacing (space-y-4), add select-none to page root - Fix import path for StorageCleanerConfirm to relative ./ --- .../StorageCleaner/AutoRefreshToggle.tsx | 11 ++-- src/pages/StorageCleaner/OptionItem.tsx | 21 +++--- .../StorageCleaner/StorageOptionsGrid.tsx | 18 ++--- src/pages/StorageCleaner/index.tsx | 65 ++++++++++--------- 4 files changed, 58 insertions(+), 57 deletions(-) diff --git a/src/pages/StorageCleaner/AutoRefreshToggle.tsx b/src/pages/StorageCleaner/AutoRefreshToggle.tsx index cc21293..6b353fb 100644 --- a/src/pages/StorageCleaner/AutoRefreshToggle.tsx +++ b/src/pages/StorageCleaner/AutoRefreshToggle.tsx @@ -1,8 +1,8 @@ /** - * 自动刷新开关组件 + * 自动刷新开关行 * - * 用于 StorageCleaner 页面,控制是否自动刷新存储数据列表。 - * 以卡片形式展示,左侧为标签文本,右侧为 shadcn/ui Switch 开关。 + * 用于 StorageCleaner 页面的操作区域内(非独立卡片), + * 控制清理后是否自动刷新页面。左侧为标签文本,右侧为 shadcn/ui Switch 开关。 * * @example * ```tsx @@ -48,15 +48,14 @@ export default function AutoRefreshToggle({ return (
- {/* Label 与 Switch 通过 htmlFor + id 关联,支持点击文字触发开关 */} diff --git a/src/pages/StorageCleaner/OptionItem.tsx b/src/pages/StorageCleaner/OptionItem.tsx index 18c7fe6..88ba89f 100644 --- a/src/pages/StorageCleaner/OptionItem.tsx +++ b/src/pages/StorageCleaner/OptionItem.tsx @@ -28,32 +28,35 @@ export default function OptionItem({
- {/* 左侧数据区域 */} -
+
{t(labelKey)} - {/* 底部容量大小或计数标识 */} {size !== undefined && size > 0 ? ( - + {isCount ? `${size} ${t('storageCleaner:countUnit')}` : formatSize(size)} ) : ( - + {t('storageCleaner:noData')} )} diff --git a/src/pages/StorageCleaner/StorageOptionsGrid.tsx b/src/pages/StorageCleaner/StorageOptionsGrid.tsx index 07a4334..3ded4e1 100644 --- a/src/pages/StorageCleaner/StorageOptionsGrid.tsx +++ b/src/pages/StorageCleaner/StorageOptionsGrid.tsx @@ -41,15 +41,9 @@ export default function StorageOptionsGrid({ }; return ( -
-
-
+
+
+
{optionKeys.map(({ key, isCount }) => ( -
diff --git a/src/pages/StorageCleaner/index.tsx b/src/pages/StorageCleaner/index.tsx index b582639..63b1f28 100644 --- a/src/pages/StorageCleaner/index.tsx +++ b/src/pages/StorageCleaner/index.tsx @@ -1,6 +1,6 @@ import { Loader2 } from 'lucide-react'; import { Button } from '@/components/ui/button'; -import StorageCleanerConfirm from '@/pages/StorageCleaner/StorageCleanerConfirm'; +import StorageCleanerConfirm from './StorageCleanerConfirm'; import { useStorageCleaner } from './useStorageCleaner'; import StorageOptionsGrid from './StorageOptionsGrid'; import AutoRefreshToggle from './AutoRefreshToggle'; @@ -47,37 +47,42 @@ export default function Index() { } return ( -
- +
+ {/* 操作区域卡片 */} +
+ - + - +
+ +
+