mirror of
https://github.com/Myxelium/Bridge-Multi.git
synced 2026-04-09 05:09:39 +00:00
63 lines
2.2 KiB
TypeScript
63 lines
2.2 KiB
TypeScript
import { Difficulty, Instrument } from 'scan-chart'
|
|
|
|
import { ThemeColors } from './interfaces/theme.interface'
|
|
|
|
export const themes = [
|
|
'business',
|
|
'dark',
|
|
'dim',
|
|
'night',
|
|
'sunset',
|
|
'synthwave',
|
|
'aqua',
|
|
'emerald',
|
|
'lemonade',
|
|
'nord',
|
|
'valentine',
|
|
'winter',
|
|
'aren',
|
|
'froogs',
|
|
] as const
|
|
|
|
/**
|
|
* Represents Bridge's user settings.
|
|
*/
|
|
export interface Settings {
|
|
downloadVideos: boolean // If background videos should be downloaded
|
|
theme: typeof themes[number] // The name of the currently enabled UI theme
|
|
customTheme: ThemeColors | null // The colors of a custom theme
|
|
customThemePath: string | null // The last folder that contained the `customTheme`'s file
|
|
libraryPath: string | undefined // The path to the user's library
|
|
issueScanPath: string | undefined // The path to use when scanning for issues
|
|
spreadsheetOutputPath: string | undefined // The path to use when saving generated issues
|
|
chartFolderName: string // The relative path and name of the chart that is saved in `libraryPath`
|
|
isSng: boolean // If the chart should be downloaded as a .sng file or as a chart folder
|
|
isCompactTable: boolean // If the search result table should have reduced padding
|
|
visibleColumns: string[] // The search result columns to include
|
|
zoomFactor: number // How much the display should be zoomed
|
|
instrument: Instrument | null // The instrument selected by default, or `null` for "Any Instrument"
|
|
difficulty: Difficulty | null // The difficulty selected by default, or `null` for "Any Difficulty"
|
|
volume: number // The volume of the chart preview (0-100)
|
|
}
|
|
|
|
/**
|
|
* Bridge's default user settings.
|
|
*/
|
|
export const defaultSettings: Settings = {
|
|
downloadVideos: true,
|
|
theme: 'dark',
|
|
customTheme: null,
|
|
customThemePath: null,
|
|
libraryPath: undefined,
|
|
issueScanPath: undefined,
|
|
spreadsheetOutputPath: undefined,
|
|
chartFolderName: '{artist} - {name} ({charter})',
|
|
isSng: false,
|
|
isCompactTable: false,
|
|
visibleColumns: ['artist', 'album', 'genre', 'year'],
|
|
zoomFactor: 1,
|
|
instrument: 'guitar',
|
|
difficulty: null,
|
|
volume: 50,
|
|
}
|