feat: data saving mode (#1638)
This commit is contained in:
parent
52fbb70a08
commit
fbe1463f17
13 changed files with 208 additions and 47 deletions
|
@ -18,6 +18,7 @@ export interface PreferencesSettings {
|
|||
hideAccountHoverCard: boolean
|
||||
grayscaleMode: boolean
|
||||
enableAutoplay: boolean
|
||||
enableDataSaving: boolean
|
||||
enablePinchToZoom: boolean
|
||||
experimentalVirtualScroller: boolean
|
||||
experimentalGitHubCards: boolean
|
||||
|
@ -77,6 +78,7 @@ export const DEFAULT__PREFERENCES_SETTINGS: PreferencesSettings = {
|
|||
hideAccountHoverCard: false,
|
||||
grayscaleMode: false,
|
||||
enableAutoplay: true,
|
||||
enableDataSaving: false,
|
||||
enablePinchToZoom: false,
|
||||
experimentalVirtualScroller: true,
|
||||
experimentalGitHubCards: true,
|
||||
|
|
|
@ -33,7 +33,12 @@ export function usePreferences<T extends keyof PreferencesSettings>(name: T): Re
|
|||
}
|
||||
|
||||
export function getPreferences<T extends keyof PreferencesSettings>(userSettings: UserSettings, name: T): PreferencesSettings[T] {
|
||||
return userSettings?.preferences?.[name] ?? DEFAULT__PREFERENCES_SETTINGS[name]
|
||||
const preference = userSettings?.preferences?.[name] ?? DEFAULT__PREFERENCES_SETTINGS[name]
|
||||
|
||||
if (name === 'enableAutoplay')
|
||||
return getPreferences(userSettings, 'enableDataSaving') ? false : preference
|
||||
|
||||
return preference
|
||||
}
|
||||
|
||||
export function togglePreferences(key: keyof PreferencesSettings) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue