Skip to main content
Glama
DictionaryLoaderDashboard.tsx1.48 kB
'use client'; import { useGetDictionaries } from '@intlayer/design-system/hooks'; import { useDictionariesRecord } from '@intlayer/editor-react'; import type { Dictionary, LocalDictionaryId } from '@intlayer/types'; import { type FC, useEffect, useState } from 'react'; export const DictionaryLoaderDashboard: FC = () => { // Will receive the locale dictionaries from the client, and will add remote dictionaries to the list const { localeDictionaries, setLocaleDictionaries } = useDictionariesRecord(); const { data, isFetching } = useGetDictionaries(); const [isMerged, setIsMerged] = useState(false); useEffect(() => { // Wait for the locale dictionaries to be loaded for security if (Object.keys(localeDictionaries ?? {}).length === 0) return; if (isMerged) return; if (!data) return; const dictionariesList: Record<LocalDictionaryId, Dictionary> = Object.fromEntries( data?.data?.map((dictionary: Dictionary) => [ dictionary.localId, dictionary, ]) ); const mergedDictionaries: Record<LocalDictionaryId, Dictionary> = Object.fromEntries( Object.entries({ ...dictionariesList, ...(localeDictionaries as Record<LocalDictionaryId, Dictionary>), }).sort(([keyA], [keyB]) => keyA.localeCompare(keyB)) ); setLocaleDictionaries(mergedDictionaries); setIsMerged(true); }, [data, isFetching, localeDictionaries]); return <></>; };

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