Skip to main content
Glama
DiscussionAdminDetail.tsx1.62 kB
'use client'; import { useGetDiscussions } from '@intlayer/design-system/hooks'; import { useIntlayer } from 'next-intlayer'; import type { FC } from 'react'; import { useEffect } from 'react'; import { MessagesList } from '@/components/ChatBot/MessagesList'; type DiscussionAdminDetailProps = { discussionId?: string; }; export const DiscussionAdminDetail: FC<DiscussionAdminDetailProps> = ({ discussionId, }) => { const { noDiscussionFound } = useIntlayer('discussion-admin-detail'); const { data, isPending, refetch } = useGetDiscussions( { ids: discussionId ? [discussionId] : undefined, fetchAll: 'true', pageSize: '1', includeMessages: 'true', }, { enabled: !!discussionId, } ); useEffect(() => { if (discussionId) { void refetch(); } }, [discussionId, refetch]); const discussion = (data as any)?.data?.[0]; const msgs = (discussion?.messages ?? []) as Array<{ role: 'user' | 'assistant' | 'system'; content: string; timestamp?: string | Date; }>; const messages = msgs.map((m) => ({ role: m.role, content: m.content, timestamp: m.timestamp ? new Date(m.timestamp as any) : undefined, })); return ( <div className="flex size-full min-h-[700px] flex-col"> {messages.length === 0 && !isPending ? ( <div className="p-6 text-neutral-500 dark:text-neutral-400"> {noDiscussionFound} </div> ) : ( <MessagesList storedPrompt={messages} isLoading={isPending || discussion.id !== discussionId} /> )} </div> ); };

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