import React, { type FC, type PropsWithChildren, useCallback, useRef, useState, } from 'react' import { TutorialContext } from '@/shared/context/tutorial-context' export const makeTutorialProvider = (opts?: { inactiveTutorials: string[] }) => { const TutorialProvider: FC = ({ children }) => { const [inactiveTutorials, setInactiveTutorials] = useState( opts?.inactiveTutorials ?? [] ) const currentPopupRef = useRef(null) const deactivateTutorial = useCallback((key: string) => { setInactiveTutorials(prev => (prev.includes(key) ? prev : [...prev, key])) }, []) const value = { deactivateTutorial, inactiveTutorials, currentPopup: null, currentPopupRef, setCurrentPopup: () => {}, } return ( {children} ) } return TutorialProvider }