import React, { Context, createContext, useContext, useState } from "react"; import { useNuiEvent } from "../hooks/useNuiEvent"; const VisibilityCtx = createContext(null); interface VisibilityProviderValue { setVisible: (visible: boolean) => void; visible: boolean; } // This should be mounted at the top level of your application, it is currently set to // apply a CSS visibility value. If this is non-performant, this should be customized. export const VisibilityProvider: React.FC = ({ children }) => { const [visible, setVisible] = useState(false); useNuiEvent("setVisible", setVisible); return (
{children}
); }; export const useVisibility = () => useContext( VisibilityCtx as Context );