Skip to main content
Glama
LocaleSwitcherContentContext.tsx1.48 kB
'use client'; import type { LocalesValues } from 'intlayer'; import { createContext, type Dispatch, type FC, type PropsWithChildren, type SetStateAction, useContext, } from 'react'; import { useLocale } from 'react-intlayer'; import { usePersistedStore } from '../../hooks'; type LocaleSwitcherContentContextProps = { availableLocales: LocalesValues[]; selectedLocales: LocalesValues[]; setSelectedLocales: Dispatch<SetStateAction<LocalesValues[]>>; }; const LocaleSwitcherContentContext = createContext<LocaleSwitcherContentContextProps>({ availableLocales: [], selectedLocales: [], setSelectedLocales: () => {}, }); export const useLocaleSwitcherContent = () => useContext(LocaleSwitcherContentContext); type LocaleSwitcherContentProviderProps = { availableLocales: LocalesValues[]; defaultSelectedLocales?: LocalesValues[]; }; export const LocaleSwitcherContentProvider: FC< PropsWithChildren<LocaleSwitcherContentProviderProps> > = ({ availableLocales, defaultSelectedLocales, children }) => { const { locale } = useLocale(); const [selectedLocales, setSelectedLocales] = usePersistedStore< LocalesValues[] >( 'locale-content-selector-selected-locales', defaultSelectedLocales ?? [locale] ); return ( <LocaleSwitcherContentContext value={{ availableLocales, selectedLocales, setSelectedLocales, }} > {children} </LocaleSwitcherContentContext> ); };

Latest Blog Posts

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/aymericzip/intlayer'

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