17 lines
503 B
TypeScript
17 lines
503 B
TypeScript
import { createContext, useContext, type Dispatch } from "react";
|
|
import type { SoundAction, SoundState } from "../types/types";
|
|
|
|
type SoundContextType = {
|
|
state: SoundState;
|
|
dispatch: Dispatch<SoundAction>;
|
|
audioArmed: boolean;
|
|
};
|
|
|
|
export const SoundContext = createContext<SoundContextType | undefined>(undefined);
|
|
|
|
export const useSoundContext = () => {
|
|
const ctx = useContext(SoundContext);
|
|
if (!ctx) throw new Error("useSoundContext must be used within <SoundContext>");
|
|
return ctx;
|
|
};
|