Files
pulse/lib/settings-modal-context.tsx
Usman Baig 48cf9a1f62 feat: replace settings page with SettingsModal
- Add SettingsModalProvider context and SettingsModalWrapper
- Wire Header onOpenSettings callback via LayoutInner pattern
- Remove old /settings page and SettingsPageClient
- Bump @ciphera-net/ui to ^0.0.88
2026-03-05 22:16:36 +01:00

32 lines
841 B
TypeScript

'use client'
import { createContext, useContext, useState, useCallback } from 'react'
interface SettingsModalContextType {
isOpen: boolean
openSettings: () => void
closeSettings: () => void
}
const SettingsModalContext = createContext<SettingsModalContextType>({
isOpen: false,
openSettings: () => {},
closeSettings: () => {},
})
export function SettingsModalProvider({ children }: { children: React.ReactNode }) {
const [isOpen, setIsOpen] = useState(false)
const openSettings = useCallback(() => setIsOpen(true), [])
const closeSettings = useCallback(() => setIsOpen(false), [])
return (
<SettingsModalContext.Provider value={{ isOpen, openSettings, closeSettings }}>
{children}
</SettingsModalContext.Provider>
)
}
export function useSettingsModal() {
return useContext(SettingsModalContext)
}