🎨 统一后台分页与设置页布局

This commit is contained in:
2026-06-05 15:23:25 +08:00
parent a66a0b6a77
commit f7108f5b44
5 changed files with 58 additions and 58 deletions
+10 -7
View File
@@ -81,6 +81,8 @@ const legacyForeverExpiresAt = '2099-12-31T23:59'
const detailPolicyDownloadLimit = 5
const hourInMilliseconds = 60 * 60 * 1000
const dayInMilliseconds = 24 * 60 * 60 * 1000
const adminPageSizeOptions = [5, 10, 20, 50, 100] as const
const defaultAdminPageSize = 10
type DetailPolicyActionOption = {
action: AdminFilePolicyAction
@@ -167,8 +169,10 @@ const normalizePresetChoice = <T extends string>(
const normalizePresetSize = (value: unknown) => {
const normalizedSize = Number(value)
if (!Number.isFinite(normalizedSize)) return 10
return Math.min(Math.max(Math.trunc(normalizedSize), 1), 100)
const pageSize = Number.isFinite(normalizedSize) ? Math.trunc(normalizedSize) : defaultAdminPageSize
return adminPageSizeOptions.includes(pageSize as (typeof adminPageSizeOptions)[number])
? pageSize
: defaultAdminPageSize
}
const buildDefaultViewPresetParams = (): AdminFileViewPresetParams => ({
@@ -178,7 +182,7 @@ const buildDefaultViewPresetParams = (): AdminFileViewPresetParams => ({
health: 'all',
sortBy: 'created_at',
sortOrder: 'desc',
size: 10
size: defaultAdminPageSize
})
const normalizeViewPresetParams = (params: unknown): AdminFileViewPresetParams => {
@@ -218,7 +222,7 @@ export function useAdminFiles() {
const summary = ref<AdminFileSummary>(emptySummary())
const params = ref<AdminFileListParams & { total: number }>({
page: 1,
size: 10,
size: defaultAdminPageSize,
total: 0,
keyword: '',
status: 'all',
@@ -311,7 +315,7 @@ export function useAdminFiles() {
health: params.value.health || 'all',
sortBy: params.value.sortBy || 'created_at',
sortOrder: params.value.sortOrder || 'desc',
size: params.value.size || 10
size: params.value.size || defaultAdminPageSize
})
const buildBuiltInViewPreset = (
@@ -1204,8 +1208,7 @@ export function useAdminFiles() {
}
const handlePageSizeChange = async (size: number) => {
if (!Number.isFinite(size) || size < 1) return
params.value.size = Math.min(Math.trunc(size), 100)
params.value.size = normalizePresetSize(size)
params.value.page = 1
markViewPresetDirty()
await loadFiles()