refactor: simplify form draft key generation
This commit is contained in:
@@ -5,7 +5,7 @@ export const AppStorageKey = {
|
||||
THEME: 'app_theme',
|
||||
ACCESS_TOKEN: 'access_token',
|
||||
REFRESH_TOKEN: 'refresh_token',
|
||||
USER_ID: 'u_id',
|
||||
USER_ID: 'uid',
|
||||
SIDEBAR_OPEN_MENUS: 'sidebar_open_menus',
|
||||
} as const;
|
||||
|
||||
@@ -21,18 +21,43 @@ export const AppDatabaseKey = {
|
||||
|
||||
export type AppDatabaseKeyValue = (typeof AppDatabaseKey)[keyof typeof AppDatabaseKey];
|
||||
|
||||
function getUserId(userIdKey: string) {
|
||||
const rawId = localStorage.getItem(userIdKey);
|
||||
if (!rawId) return null;
|
||||
|
||||
try {
|
||||
return JSON.parse(rawId);
|
||||
} catch (error) {
|
||||
console.error('Failed to parse User ID:', error);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
export const APP_STORAGE_ENCRYPTED_KEYS = new Set<AppStorageKeyValue>([
|
||||
AppStorageKey.USER_ID,
|
||||
AppStorageKey.ACCESS_TOKEN,
|
||||
AppStorageKey.REFRESH_TOKEN,
|
||||
]);
|
||||
|
||||
export const APP_STORAGE_PLAIN_KEYS = new Set<AppStorageKeyValue>([
|
||||
AppStorageKey.USER_ID,
|
||||
AppStorageKey.LANGUAGE,
|
||||
AppStorageKey.THEME,
|
||||
AppStorageKey.SIDEBAR_OPEN_MENUS,
|
||||
]);
|
||||
|
||||
export const APP_STORAGE_PERSONALIZED_KEYS = new Set<AppStorageKeyValue>([
|
||||
AppStorageKey.LANGUAGE,
|
||||
AppStorageKey.THEME,
|
||||
AppStorageKey.SIDEBAR_OPEN_MENUS,
|
||||
]);
|
||||
|
||||
export const appStorage = createLocalStorage<AppStorageKeyValue>({
|
||||
encryptedKeys: APP_STORAGE_ENCRYPTED_KEYS,
|
||||
plainTextKeys: APP_STORAGE_PLAIN_KEYS,
|
||||
personalizedKeys: APP_STORAGE_PERSONALIZED_KEYS,
|
||||
getUserId: () => getUserId(AppStorageKey.USER_ID) || null,
|
||||
});
|
||||
|
||||
export const APP_DATABASE_ENCRYPTED_KEYS = new Set<AppDatabaseKeyValue>([]);
|
||||
|
||||
export const APP_DATABASE_PLAIN_KEYS = new Set<AppDatabaseKeyValue>([
|
||||
@@ -43,14 +68,19 @@ export const APP_DATABASE_PLAIN_KEYS = new Set<AppDatabaseKeyValue>([
|
||||
AppDatabaseKey.BOOKMARK_PAGE,
|
||||
]);
|
||||
|
||||
export const appStorage = createLocalStorage<AppStorageKeyValue>({
|
||||
encryptedKeys: APP_STORAGE_ENCRYPTED_KEYS,
|
||||
plainTextKeys: APP_STORAGE_PLAIN_KEYS,
|
||||
});
|
||||
export const APP_DATABASE_PERSONALIZED_KEYS = new Set<AppDatabaseKeyValue>([
|
||||
AppDatabaseKey.USER_PROFILE,
|
||||
AppDatabaseKey.OFFLINE_DRAFT,
|
||||
AppDatabaseKey.SYSTEM_SETTINGS,
|
||||
AppDatabaseKey.HISTORY_PAGE,
|
||||
AppDatabaseKey.BOOKMARK_PAGE,
|
||||
]);
|
||||
|
||||
export const appDatabase = createIndexedDB<AppDatabaseKeyValue>({
|
||||
dbName: 'e_apps_db',
|
||||
storeName: 'web_store',
|
||||
encryptedKeys: APP_DATABASE_ENCRYPTED_KEYS,
|
||||
plainTextKeys: APP_DATABASE_PLAIN_KEYS,
|
||||
personalizedKeys: APP_DATABASE_PERSONALIZED_KEYS,
|
||||
getUserId: () => getUserId(AppStorageKey.USER_ID) || null,
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user