From d7f185fa6ba80e53206b47010282dc4ac3f13dda Mon Sep 17 00:00:00 2001 From: Julien Calixte Date: Sat, 11 Jul 2020 23:04:23 +0200 Subject: [PATCH] :sparkles: (persistance) persist user choices Lazy load youtube video --- src/components/IntervalInput.vue | 17 ++++++----- src/components/ZoneMusic.vue | 48 ++++++++++++++++++++++++++++++++ src/hooks/useInterval.ts | 13 +++++++++ src/hooks/useMusic.ts | 10 +++++-- src/hooks/useTimer.ts | 3 +- src/views/Home.vue | 33 +++------------------- 6 files changed, 84 insertions(+), 40 deletions(-) create mode 100644 src/components/ZoneMusic.vue create mode 100644 src/hooks/useInterval.ts diff --git a/src/components/IntervalInput.vue b/src/components/IntervalInput.vue index 1e2be53..6fa9067 100644 --- a/src/components/IntervalInput.vue +++ b/src/components/IntervalInput.vue @@ -8,30 +8,33 @@ diff --git a/src/hooks/useInterval.ts b/src/hooks/useInterval.ts new file mode 100644 index 0000000..6870ef5 --- /dev/null +++ b/src/hooks/useInterval.ts @@ -0,0 +1,13 @@ +import { useGetters, useActions } from 'vuex-composition-helpers' +import { GetterTree } from 'vuex' +import { State, RootActions } from '@/store' + +export const useInterval = () => { + const { interval } = useGetters>(['interval']) + const { setInterval } = useActions(['setInterval']) + + return { + interval, + setInterval + } +} diff --git a/src/hooks/useMusic.ts b/src/hooks/useMusic.ts index d5c138b..1a1fcf8 100644 --- a/src/hooks/useMusic.ts +++ b/src/hooks/useMusic.ts @@ -1,9 +1,13 @@ -import { ref } from '@vue/composition-api' +import { useGetters, useActions } from 'vuex-composition-helpers' +import { GetterTree } from 'vuex' +import { State, RootActions } from '@/store' export const useMusic = () => { - const hasMusic = ref(true) + const { withMusic } = useGetters>(['withMusic']) + const { setWithMusic } = useActions(['setWithMusic']) return { - hasMusic + withMusic, + setWithMusic } } diff --git a/src/hooks/useTimer.ts b/src/hooks/useTimer.ts index 3188195..b2d4dcc 100644 --- a/src/hooks/useTimer.ts +++ b/src/hooks/useTimer.ts @@ -1,6 +1,7 @@ import { ref, computed, watch } from '@vue/composition-api' import { StopwatchState } from '@/types/StopwatchState' import { notify } from '@/utils/notification' +import { useInterval } from './useInterval' const format = (num: number) => { return num.toString().padStart(2, '0') @@ -16,7 +17,7 @@ const formatSeconds = (seconds: number) => { export const useTimer = () => { const timeState = ref('stopped') const seconds = ref(0) - const interval = ref(5) + const { interval } = useInterval() const sessionSeconds = ref(interval.value * 60) const isDev1Turn = ref(true) diff --git a/src/views/Home.vue b/src/views/Home.vue index 1d9e10a..346b14a 100644 --- a/src/views/Home.vue +++ b/src/views/Home.vue @@ -1,10 +1,6 @@