import type { StudioWorkResult } from '../protocol/studio-agent-types' import type { StudioReviewViewModel } from '../store/studio-selectors' import { studioPanelClass } from '../theme' import { StudioReviewFindingList } from './StudioReviewFindingList' import { useI18n } from '../../i18n' interface StudioReviewPanelProps { result: StudioWorkResult | null review: StudioReviewViewModel | null } export function StudioReviewPanel({ result, review }: StudioReviewPanelProps) { const { t } = useI18n() if (!result || !review) { return (
{t('studio.review.title')}
{t('studio.review.empty')}
) } return (
{t('studio.review.title')}

{result.summary}

{(review.sourceLabel || review.path) && (
{review.sourceLabel ?? review.path}
)}
{t('studio.review.findings')}
{t('studio.review.summary')}
{review.summary ?? t('studio.review.noSummary')}
{review.changeSet && (
{t('studio.review.changeSet')}
{review.changeSet.before && } {review.changeSet.after && } {review.changeSet.diff && }
)} {review.report && }
) } function CodeBlock({ title, content }: { title: string; content: string }) { return (
{title}
{content}
) }