aboutsummaryrefslogtreecommitdiff
path: root/src/view/options.ts
diff options
context:
space:
mode:
authorJoris2022-07-04 11:32:27 +0200
committerJoris2022-07-04 19:36:37 +0200
commitfade87173afbfdd51534646ed49844efa2d0e530 (patch)
tree54e8d5d81233fa5f3d1ba60fd8c3085252ebccc4 /src/view/options.ts
parentce7722c901776ae8f6a64882e902e8ba851411e0 (diff)
downloadchords-fade87173afbfdd51534646ed49844efa2d0e530.tar.gz
chords-fade87173afbfdd51534646ed49844efa2d0e530.tar.bz2
chords-fade87173afbfdd51534646ed49844efa2d0e530.zip
Play random major and/or minor chords
Diffstat (limited to 'src/view/options.ts')
-rw-r--r--src/view/options.ts24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/view/options.ts b/src/view/options.ts
new file mode 100644
index 0000000..4c71be2
--- /dev/null
+++ b/src/view/options.ts
@@ -0,0 +1,24 @@
+export type Options = {
+ major: boolean,
+ minor: boolean,
+ bpm: number,
+ beatsPerChord: number
+}
+
+let defaultOptions: Options = {
+ major: true,
+ minor: false,
+ bpm: 90,
+ beatsPerChord: 4
+}
+
+let key: string = 'options'
+
+export function load(): Options {
+ let str = localStorage[key]
+ return str && JSON.parse(str) || defaultOptions
+}
+
+export function save(options: Options): void {
+ localStorage[key] = JSON.stringify(options)
+}