添加卡牌设置功能,更新状态管理和界面显示逻辑
This commit is contained in:
@@ -6,6 +6,7 @@ const STORAGE_KEYS = {
|
||||
REFRESH_TOKEN: "refresh_token",
|
||||
USER: "user",
|
||||
ODDS_SETTINGS: "odds_settings",
|
||||
CARDS_SETTINGS: "cards_settings",
|
||||
};
|
||||
|
||||
export interface OddsSettings {
|
||||
@@ -13,6 +14,10 @@ export interface OddsSettings {
|
||||
selectedBookmakers: string[];
|
||||
}
|
||||
|
||||
export interface CardsSettings {
|
||||
enabled: boolean;
|
||||
}
|
||||
|
||||
export const storage = {
|
||||
async setAccessToken(token: string): Promise<void> {
|
||||
await AsyncStorage.setItem(STORAGE_KEYS.ACCESS_TOKEN, token);
|
||||
@@ -61,12 +66,30 @@ export const storage = {
|
||||
}
|
||||
},
|
||||
|
||||
async setCardsSettings(settings: CardsSettings): Promise<void> {
|
||||
await AsyncStorage.setItem(
|
||||
STORAGE_KEYS.CARDS_SETTINGS,
|
||||
JSON.stringify(settings),
|
||||
);
|
||||
},
|
||||
|
||||
async getCardsSettings(): Promise<CardsSettings> {
|
||||
const settingsStr = await AsyncStorage.getItem(STORAGE_KEYS.CARDS_SETTINGS);
|
||||
if (!settingsStr) return { enabled: false };
|
||||
try {
|
||||
return JSON.parse(settingsStr) as CardsSettings;
|
||||
} catch {
|
||||
return { enabled: false };
|
||||
}
|
||||
},
|
||||
|
||||
async clear(): Promise<void> {
|
||||
await AsyncStorage.multiRemove([
|
||||
STORAGE_KEYS.ACCESS_TOKEN,
|
||||
STORAGE_KEYS.REFRESH_TOKEN,
|
||||
STORAGE_KEYS.USER,
|
||||
STORAGE_KEYS.ODDS_SETTINGS,
|
||||
STORAGE_KEYS.CARDS_SETTINGS,
|
||||
]);
|
||||
},
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user