Task 9: Build PatientSummary tile

Created PatientSummaryTile component displaying personal statement from profile.ts.
Full-width card with teal dot header, 13px body text, line-height 1.6.
Wired into DashboardLayout as first tile in grid.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-02-13 17:18:53 +00:00
parent 00a5dd0105
commit 41ddbf6d1d
2 changed files with 21 additions and 1 deletions
+3 -1
View File
@@ -2,6 +2,7 @@ import { useState } from 'react'
import { motion } from 'framer-motion'
import { TopBar } from './TopBar'
import Sidebar from './Sidebar'
import { PatientSummaryTile } from './tiles/PatientSummaryTile'
const prefersReducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches
@@ -93,8 +94,9 @@ export function DashboardLayout() {
}}
className="dashboard-grid"
>
{/* Tiles will be added in Tasks 8-15 */}
{/* PatientSummaryTile — full width */}
<PatientSummaryTile />
{/* LatestResultsTile — half width (left) */}
{/* CoreSkillsTile — half width (right) */}
{/* LastConsultationTile — full width */}
@@ -0,0 +1,18 @@
import React from 'react'
import { Card, CardHeader } from '../Card'
import { personalStatement } from '@/data/profile'
export function PatientSummaryTile() {
const bodyStyles: React.CSSProperties = {
fontSize: '13px',
lineHeight: '1.6',
color: 'var(--text-primary)',
}
return (
<Card full>
<CardHeader dotColor="teal" title="PATIENT SUMMARY" />
<div style={bodyStyles}>{personalStatement}</div>
</Card>
)
}