US-032: Reduced motion audit, final cleanup, and visual review

- Add prefers-reduced-motion overrides for SubNav button transitions
- Add prefers-reduced-motion overrides for smooth scroll behavior
- Fix connection status dot/text transitions to respect reduced motion
- Create ProjectDetail.tsx renderer and wire into DetailPanel
- Remove placeholder fallback from DetailPanel (all types now covered)
- Delete unused files: useBreakpoint.ts, profile.ts
- Remove unused legacy --pmr-* CSS variables (18 properties)
- Remove unused .pmr-theme CSS utility class
This commit is contained in:
2026-02-14 03:20:31 +00:00
parent 071b1b78ae
commit 088b783731
6 changed files with 226 additions and 111 deletions
+2 -23
View File
@@ -9,6 +9,7 @@ import { ConsultationDetail } from './detail/ConsultationDetail'
import { SkillDetail } from './detail/SkillDetail'
import { SkillsAllDetail } from './detail/SkillsAllDetail'
import { EducationDetail } from './detail/EducationDetail'
import { ProjectDetail } from './detail/ProjectDetail'
// Width mapping from content type
const widthMap: Record<DetailPanelContent['type'], 'narrow' | 'wide'> = {
@@ -221,29 +222,7 @@ export function DetailPanel() {
{content.type === 'skill' && <SkillDetail skill={content.skill} />}
{content.type === 'skills-all' && <SkillsAllDetail category={content.category} />}
{content.type === 'education' && <EducationDetail document={content.document} />}
{/* Other content types - placeholder for future stories */}
{content.type !== 'kpi' &&
content.type !== 'consultation' &&
content.type !== 'career-role' &&
content.type !== 'skill' &&
content.type !== 'skills-all' &&
content.type !== 'education' && (
<div
style={{
fontFamily: 'var(--font-ui)',
color: 'var(--text-secondary)',
fontSize: '14px',
}}
>
<p>
Detail panel for: <strong>{content.type}</strong>
</p>
<p style={{ marginTop: '8px', fontSize: '12px' }}>
Content renderers will be implemented in subsequent user stories.
</p>
</div>
)}
{content.type === 'project' && <ProjectDetail investigation={content.investigation} />}
</div>
</div>
</>