Skip to main content
Glama

mcp-server-neon

Official
ThemeProvider.tsx1.2 kB
'use client'; import { createContext, ReactNode, useContext, useLayoutEffect, useState, } from 'react'; export type Theme = 'light' | 'dark'; type ThemeProviderState = { theme: Theme; }; const ThemeContext = createContext<ThemeProviderState>({ theme: 'light', }); export const ThemeProvider = ({ children }: { children?: ReactNode }) => { const [themeState, setThemeState] = useState<ThemeProviderState>({ theme: 'light', }); useLayoutEffect(() => { const match = window.matchMedia('(prefers-color-scheme:dark)'); function onChange(event: { matches: boolean }) { setThemeState((themeState) => { const targetTheme = event.matches ? 'dark' : 'light'; if (themeState.theme === targetTheme) { return themeState; } return { ...themeState, theme: targetTheme, }; }); } onChange(match); match.addEventListener('change', onChange); return () => { match.removeEventListener('change', onChange); }; }, []); return <ThemeContext value={themeState}>{children}</ThemeContext>; }; export function useTheme(): Theme { return useContext(ThemeContext).theme; }

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/neondatabase-labs/mcp-server-neon'

If you have feedback or need assistance with the MCP directory API, please join our Discord server