import React from 'react'; import Icon from 'UI/Icon'; import { useStore } from 'App/mstore'; import { observer } from 'mobx-react-lite'; const userBehaviorRegex = /User\s+(\w+\s+)?Behavior/i; const issuesErrorsRegex = /Issues\s+(and\s+|,?\s+)?(\w+\s+)?Errors/i; function testLine(line: string): boolean { return userBehaviorRegex.test(line) || issuesErrorsRegex.test(line); } function SummaryBlock({ sessionId }: { sessionId: string }) { const { aiSummaryStore } = useStore(); React.useEffect(() => { void aiSummaryStore.getSummary(sessionId); }, []); const formattedText = aiSummaryStore.text.split('\n').map((line) => { if (testLine(line)) { return
{line}
; } if (line.startsWith('*')) { return
  • {line.replace('* ', '')}
  • ; } return
    {line}
    ; }); return (
    AI Summary
    {aiSummaryStore.text ? (
    Here’s the AI breakdown of the session, covering user behavior and technical insights.
    <>{formattedText.map((v) => v)}
    ) : ( )}
    ); } function TextPlaceholder() { return (
    ); } const summaryBlockStyle: React.CSSProperties = { background: 'linear-gradient(156deg, #E3E6FF 0%, #E4F3F4 69.48%)', width: '100%', height: '100vh', overflow: 'auto', display: 'flex', flexDirection: 'column', gap: '0.5rem', padding: '1rem', }; export default observer(SummaryBlock);