24 lines
773 B
TypeScript
24 lines
773 B
TypeScript
'use client';
|
|
import { createContext, useContext, useState } from 'react';
|
|
import { ContactModal } from '@/app/(landing)/components/ContactModal';
|
|
import { useIsDark } from '@/app/(landing)/hooks/useIsDark';
|
|
|
|
interface ContactCtx {
|
|
open: () => void;
|
|
}
|
|
|
|
const ContactContext = createContext<ContactCtx>({ open: () => {} });
|
|
|
|
export const ContactProvider = ({ children }: { children: React.ReactNode }) => {
|
|
const [isOpen, setIsOpen] = useState(false);
|
|
const isDark = useIsDark();
|
|
return (
|
|
<ContactContext.Provider value={{ open: () => setIsOpen(true) }}>
|
|
{children}
|
|
<ContactModal isOpen={isOpen} onClose={() => setIsOpen(false)} isNavyBg={isDark} />
|
|
</ContactContext.Provider>
|
|
);
|
|
};
|
|
|
|
export const useContact = () => useContext(ContactContext);
|