3bac87717f
- Persist current route to Chrome Storage, restore on popup reopen - Add page visibility configuration to control which pages are shown - Update StorageSchema with new storage keys (app/currentRoute, app/visiblePages) - Add PageType type and PAGE_CONFIG for type-safe page management - Add navigation button styles with active state and hover effects - Use loading state to prevent UI flicker during async data load Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
45 lines
1005 B
TypeScript
45 lines
1005 B
TypeScript
export type PageType = 'timestamp' | 'storageCleaner';
|
|
|
|
export interface StorageSchema {
|
|
'app/currentRoute': PageType;
|
|
'app/visiblePages': PageType[];
|
|
'app/lastRoute': string;
|
|
'app/theme': string;
|
|
'storageCleaner/preferences': StorageCleanerPreferences;
|
|
}
|
|
|
|
export interface StorageCleanerPreferences {
|
|
autoRefresh: boolean;
|
|
selectedTypes: StorageCleanerOptions;
|
|
}
|
|
|
|
export interface StorageCleanerOptions {
|
|
localStorage: boolean;
|
|
sessionStorage: boolean;
|
|
indexedDB: boolean;
|
|
cookies: boolean;
|
|
cacheStorage: boolean;
|
|
serviceWorkers: boolean;
|
|
}
|
|
|
|
export type StorageCleanResult =
|
|
| {
|
|
success: true;
|
|
count: number;
|
|
}
|
|
| {
|
|
success: false;
|
|
error: string;
|
|
};
|
|
|
|
export interface CleaningResult {
|
|
success: boolean;
|
|
error?: string;
|
|
localStorage?: StorageCleanResult;
|
|
sessionStorage?: StorageCleanResult;
|
|
indexedDB?: StorageCleanResult;
|
|
cookies?: StorageCleanResult;
|
|
cacheStorage?: StorageCleanResult;
|
|
serviceWorkers?: StorageCleanResult;
|
|
}
|