Skip to main content
Glama
index.tsx1.19 kB
'use client'; import { Button, Loader, Modal } from '@intlayer/design-system'; import { Bot } from 'lucide-react'; import { useIntlayer } from 'next-intlayer'; import { type FC, lazy, Suspense, useState } from 'react'; const ChatBot = lazy(() => import('@components/ChatBot').then((module) => ({ default: module.ChatBot })) ); export const ChatBotModal: FC = () => { const [isModalOpen, setIsModalOpen] = useState(false); const { button } = useIntlayer('chatbot-modal'); return ( <> <Modal isOpen={isModalOpen} size="xl" onClose={() => setIsModalOpen(false)} roundedSize="2xl" className="relative m-auto h-[calc(95vh-100px)] overflow-hidden" disableScroll hasCloseButton > {isModalOpen && ( <Suspense fallback={<Loader />}> <ChatBot isActive={isModalOpen} /> </Suspense> )} </Modal> <Button Icon={Bot} className="fixed! right-5 bottom-5 z-50 rounded-full! opacity-70 hover:scale-110" color="text" size="icon-xl" label={button.label.value} onClick={() => setIsModalOpen(true)} /> </> ); };

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