mirror of
https://github.com/remvze/moodist.git
synced 2025-12-17 08:54:13 +00:00
refactor: add constants
This commit is contained in:
parent
d9246b692b
commit
81678ea384
5 changed files with 11 additions and 5 deletions
|
|
@ -14,6 +14,7 @@ import { Toolbar } from '@/components/toolbar';
|
||||||
import { SnackbarProvider } from '@/contexts/snackbar';
|
import { SnackbarProvider } from '@/contexts/snackbar';
|
||||||
|
|
||||||
import { sounds } from '@/data/sounds';
|
import { sounds } from '@/data/sounds';
|
||||||
|
import { FADE_OUT } from '@/constants/events';
|
||||||
|
|
||||||
import type { Sound } from '@/data/types';
|
import type { Sound } from '@/data/types';
|
||||||
import { subscribe } from '@/lib/event';
|
import { subscribe } from '@/lib/event';
|
||||||
|
|
@ -57,7 +58,7 @@ export function App() {
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const unsubscribe = subscribe('fadeOut', (e: { duration: number }) => {
|
const unsubscribe = subscribe(FADE_OUT, (e: { duration: number }) => {
|
||||||
lock();
|
lock();
|
||||||
|
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ import { Timer } from '@/components/timer';
|
||||||
import { dispatch } from '@/lib/event';
|
import { dispatch } from '@/lib/event';
|
||||||
import { useSoundStore } from '@/store';
|
import { useSoundStore } from '@/store';
|
||||||
import { cn } from '@/helpers/styles';
|
import { cn } from '@/helpers/styles';
|
||||||
|
import { FADE_OUT } from '@/constants/events';
|
||||||
|
|
||||||
import styles from './sleep-timer.module.css';
|
import styles from './sleep-timer.module.css';
|
||||||
|
|
||||||
|
|
@ -58,7 +59,7 @@ export function SleepTimerModal({ onClose, show }: SleepTimerModalProps) {
|
||||||
if (timeLeft === 0) {
|
if (timeLeft === 0) {
|
||||||
setRunning(false);
|
setRunning(false);
|
||||||
// pause();
|
// pause();
|
||||||
dispatch('fadeOut', { duration: 1000 });
|
dispatch(FADE_OUT, { duration: 1000 });
|
||||||
|
|
||||||
setTimeSpent(0);
|
setTimeSpent(0);
|
||||||
|
|
||||||
|
|
|
||||||
2
src/constants/events.ts
Normal file
2
src/constants/events.ts
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
export const FADE_OUT = 'FADE_OUT';
|
||||||
|
export const CLOSE_MODALS = 'CLOSE_MODALS';
|
||||||
|
|
@ -4,6 +4,7 @@ import { Howl } from 'howler';
|
||||||
import { useLoadingStore } from '@/store';
|
import { useLoadingStore } from '@/store';
|
||||||
import { subscribe } from '@/lib/event';
|
import { subscribe } from '@/lib/event';
|
||||||
import { useSSR } from './use-ssr';
|
import { useSSR } from './use-ssr';
|
||||||
|
import { FADE_OUT } from '@/constants/events';
|
||||||
|
|
||||||
export function useSound(
|
export function useSound(
|
||||||
src: string,
|
src: string,
|
||||||
|
|
@ -78,7 +79,7 @@ export function useSound(
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const listener = (e: { duration: number }) => fadeOut(e.duration);
|
const listener = (e: { duration: number }) => fadeOut(e.duration);
|
||||||
|
|
||||||
return subscribe('fadeOut', listener);
|
return subscribe(FADE_OUT, listener);
|
||||||
}, [fadeOut]);
|
}, [fadeOut]);
|
||||||
|
|
||||||
const control = useMemo(
|
const control = useMemo(
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,12 @@
|
||||||
import { dispatch, subscribe } from './event';
|
import { dispatch, subscribe } from './event';
|
||||||
|
import { CLOSE_MODALS } from '@/constants/events';
|
||||||
|
|
||||||
export function closeModals() {
|
export function closeModals() {
|
||||||
dispatch('closeModals');
|
dispatch(CLOSE_MODALS);
|
||||||
}
|
}
|
||||||
|
|
||||||
export function onCloseModals(listener: () => void) {
|
export function onCloseModals(listener: () => void) {
|
||||||
const unsubscribe = subscribe('closeModals', listener);
|
const unsubscribe = subscribe(CLOSE_MODALS, listener);
|
||||||
|
|
||||||
return unsubscribe;
|
return unsubscribe;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue