mirror of
https://github.com/BewlyBewly/BewlyBewly.git
synced 2025-04-14 13:15:29 +00:00
168 lines
5.1 KiB
TypeScript
168 lines
5.1 KiB
TypeScript
import { useStorageLocal } from '~/composables/useStorageLocal'
|
|
import type { wallpaperItem } from '~/constants/imgs'
|
|
import type { HomeSubPage } from '~/contentScripts/views/Home/types'
|
|
import type { AppPage } from '~/enums/appEnums'
|
|
|
|
export const storageDemo = useStorageLocal('webext-demo', 'Storage Demo')
|
|
export const accessKey = useStorageLocal('accessKey', '')
|
|
|
|
export interface Settings {
|
|
language: string
|
|
customizeFont: boolean
|
|
fontFamily: string
|
|
touchScreenOptimization: boolean
|
|
enableGridLayoutSwitcher: boolean
|
|
enableHorizontalScrolling: boolean
|
|
|
|
disableFrostedGlass: boolean
|
|
reduceFrostedGlassBlur: boolean
|
|
|
|
blockAds: boolean
|
|
|
|
videoCardLinkOpenMode: 'drawer' | 'newTab'
|
|
enableVideoPreview: boolean
|
|
enableVideoCtrlBarOnVideoCard: boolean
|
|
hoverVideoCardDelayed: boolean
|
|
|
|
// Desktop & Dock
|
|
useOldTopBar: boolean
|
|
topBarLinkOpenMode: 'currentTab' | 'currentTabIfNotHomepage' | 'newTab'
|
|
autoHideTopBar: boolean
|
|
topBarIconBadges: 'number' | 'dot' | 'none'
|
|
dockPosition: 'left' | 'right' | 'bottom'
|
|
autoHideDock: boolean
|
|
dockItemVisibilityList: { page: AppPage, visible: boolean }[]
|
|
disableLightDarkModeSwitcherOnDock: boolean
|
|
moveBackToTopOrRefreshButtonToDock: boolean
|
|
sidebarPosition: 'left' | 'right'
|
|
autoHideSidebar: boolean
|
|
|
|
theme: 'light' | 'dark' | 'auto'
|
|
themeColor: string
|
|
useLinearGradientThemeColorBackground: boolean
|
|
wallpaperMode: 'buildIn' | 'byUrl'
|
|
wallpaper: string
|
|
enableWallpaperMasking: boolean
|
|
wallpaperMaskOpacity: number
|
|
wallpaperBlurIntensity: number
|
|
locallyUploadedWallpaper: wallpaperItem | null
|
|
|
|
searchPageDarkenOnSearchFocus: boolean
|
|
searchPageBlurredOnSearchFocus: boolean
|
|
searchPageLogoColor: 'white' | 'themeColor'
|
|
searchPageLogoGlow: boolean
|
|
searchPageShowLogo: boolean
|
|
searchPageSearchBarFocusCharacter: string
|
|
individuallySetSearchPageWallpaper: boolean
|
|
searchPageWallpaperMode: 'buildIn' | 'byUrl'
|
|
searchPageWallpaper: string
|
|
searchPageEnableWallpaperMasking: boolean
|
|
searchPageWallpaperMaskOpacity: number
|
|
searchPageWallpaperBlurIntensity: number
|
|
|
|
recommendationMode: 'web' | 'app'
|
|
|
|
// filter setting
|
|
disableFilterForFollowedUser: boolean
|
|
filterOutVerticalVideos: boolean
|
|
enableFilterByViewCount: boolean
|
|
filterByViewCount: number
|
|
enableFilterByDuration: boolean
|
|
filterByDuration: number
|
|
enableFilterByTitle: boolean
|
|
filterByTitle: { keyword: string, remark: string }[]
|
|
enableFilterByUser: boolean
|
|
filterByUser: { keyword: string, remark: string }[]
|
|
|
|
homePageTabVisibilityList: { page: HomeSubPage, visible: boolean }[]
|
|
alwaysShowTabsOnHomePage: boolean
|
|
useSearchPageModeOnHomePage: boolean
|
|
searchPageModeWallpaperFixed: boolean
|
|
|
|
adaptToOtherPageStyles: boolean
|
|
showTopBar: boolean
|
|
useOriginalBilibiliTopBar: boolean
|
|
useOriginalBilibiliHomepage: boolean
|
|
}
|
|
export const settings = useStorageLocal('settings', ref<Settings>({
|
|
language: '',
|
|
customizeFont: false,
|
|
fontFamily: '',
|
|
touchScreenOptimization: false,
|
|
enableGridLayoutSwitcher: true,
|
|
enableHorizontalScrolling: false,
|
|
|
|
disableFrostedGlass: true,
|
|
reduceFrostedGlassBlur: false,
|
|
|
|
blockAds: false,
|
|
|
|
videoCardLinkOpenMode: 'newTab',
|
|
enableVideoPreview: true,
|
|
enableVideoCtrlBarOnVideoCard: false,
|
|
hoverVideoCardDelayed: false,
|
|
|
|
// Desktop & Dock
|
|
useOldTopBar: false,
|
|
topBarLinkOpenMode: 'currentTabIfNotHomepage',
|
|
autoHideTopBar: false,
|
|
topBarIconBadges: 'number',
|
|
dockPosition: 'right',
|
|
autoHideDock: false,
|
|
dockItemVisibilityList: [],
|
|
disableLightDarkModeSwitcherOnDock: false,
|
|
moveBackToTopOrRefreshButtonToDock: true,
|
|
sidebarPosition: 'right',
|
|
autoHideSidebar: false,
|
|
|
|
theme: 'auto',
|
|
themeColor: '#00a1d6',
|
|
useLinearGradientThemeColorBackground: false,
|
|
wallpaperMode: 'buildIn',
|
|
wallpaper: '',
|
|
enableWallpaperMasking: false,
|
|
wallpaperMaskOpacity: 80,
|
|
wallpaperBlurIntensity: 0,
|
|
locallyUploadedWallpaper: null,
|
|
|
|
searchPageDarkenOnSearchFocus: true,
|
|
searchPageBlurredOnSearchFocus: false,
|
|
searchPageLogoColor: 'themeColor',
|
|
searchPageLogoGlow: true,
|
|
searchPageShowLogo: true,
|
|
searchPageSearchBarFocusCharacter: '',
|
|
individuallySetSearchPageWallpaper: false,
|
|
searchPageWallpaperMode: 'buildIn',
|
|
searchPageWallpaper: '',
|
|
searchPageEnableWallpaperMasking: false,
|
|
searchPageWallpaperMaskOpacity: 0,
|
|
searchPageWallpaperBlurIntensity: 0,
|
|
|
|
recommendationMode: 'web',
|
|
|
|
// filter setting
|
|
disableFilterForFollowedUser: false,
|
|
filterOutVerticalVideos: false,
|
|
enableFilterByViewCount: false,
|
|
filterByViewCount: 10000,
|
|
enableFilterByDuration: false,
|
|
filterByDuration: 3600,
|
|
enableFilterByTitle: false,
|
|
filterByTitle: [],
|
|
enableFilterByUser: false,
|
|
filterByUser: [],
|
|
|
|
homePageTabVisibilityList: [],
|
|
alwaysShowTabsOnHomePage: false,
|
|
useSearchPageModeOnHomePage: false,
|
|
searchPageModeWallpaperFixed: false,
|
|
|
|
adaptToOtherPageStyles: true,
|
|
showTopBar: true,
|
|
useOriginalBilibiliTopBar: false,
|
|
useOriginalBilibiliHomepage: false,
|
|
}), { mergeDefaults: true })
|
|
|
|
export type GridLayout = 'adaptive' | 'twoColumns' | 'oneColumn'
|
|
export const homePageGridLayout = useStorageLocal('homePageGridLayout', ref<GridLayout>('adaptive'), { mergeDefaults: true })
|