refactor: add constants

This commit is contained in:
MAZE 2024-05-01 15:50:07 +04:30
parent d9246b692b
commit 81678ea384
5 changed files with 11 additions and 5 deletions

View file

@ -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(() => {

View file

@ -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
View file

@ -0,0 +1,2 @@
export const FADE_OUT = 'FADE_OUT';
export const CLOSE_MODALS = 'CLOSE_MODALS';

View file

@ -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(

View file

@ -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;
} }