import { getDefaultToolPrompts } from '@tomtom-org/maps-sdk-plugin-agent-toolkit';
import { MapAgentChat } from './chat';
import { AnalyticsControlPanel } from './ui';
import { RightRail } from './ui/sidePanels';
import { useMapAgent } from './useMapAgent';
const toolPrompts = getDefaultToolPrompts();
const SUGGESTED_PROMPTS: readonly string[] = [
toolPrompts.discoverPlaces[0],
toolPrompts.setRoute[0],
toolPrompts.findReachableAreas[1],
toolPrompts.getTrafficIncidents[0],
toolPrompts.getTrafficAreaAnalytics[0],
toolPrompts.analyseData[8],
toolPrompts.processData[8],
toolPrompts.setMapStandardStyle[0],
toolPrompts.locatePlace[4],
toolPrompts.flyTo[0],
].filter((p): p is string => typeof p === 'string');
export function App() {
const { agent, transport, analyticsState, tokenUsage, classifications } = useMapAgent();
return (
<div className="absolute inset-0 flex flex-row-reverse gap-2 bg-(--sdk-surface-0) p-2 max-sm:flex-col max-sm:gap-0 max-sm:p-0">
{agent && <RightRail agent={agent} />}
{}
<div
id="sdk-map"
className="relative flex-1 overflow-hidden rounded-[20px] bg-(--sdk-surface-1) max-sm:min-h-0 max-sm:basis-1/2 max-sm:rounded-none"
>
{analyticsState && (
<AnalyticsControlPanel analytics={analyticsState.analytics} module={analyticsState.module} />
)}
</div>
{transport ? (
<MapAgentChat
transport={transport}
tokenUsage={tokenUsage}
classifications={classifications}
suggestedPrompts={SUGGESTED_PROMPTS}
/>
) : (
<div className="flex w-[380px] flex-col bg-(--sdk-surface-0) max-sm:w-full">
<div className="p-4 text-(--sdk-text-medium)">Initializing assistant...</div>
</div>
)}
</div>
);
}