Files
sub2api/frontend/src/composables/usePersistedPageSize.ts

30 lines
952 B
TypeScript
Raw Normal View History

import { getConfiguredTableDefaultPageSize, normalizeTablePageSize } from '@/utils/tablePreferences'
const STORAGE_KEY = 'table-page-size'
export function getPersistedPageSize(fallback = getConfiguredTableDefaultPageSize()): number {
if (typeof window !== 'undefined') {
try {
const stored = window.localStorage.getItem(STORAGE_KEY)
if (stored !== null) {
const parsed = Number(stored)
if (Number.isFinite(parsed)) {
return normalizeTablePageSize(parsed)
}
}
} catch (error) {
console.warn('Failed to read persisted page size:', error)
}
}
return normalizeTablePageSize(getConfiguredTableDefaultPageSize() || fallback)
}
export function setPersistedPageSize(size: number): void {
if (typeof window === 'undefined') return
try {
window.localStorage.setItem(STORAGE_KEY, String(size))
} catch (error) {
console.warn('Failed to persist page size:', error)
}
}