Files
headquarter/apps/web/src/components/features/dashboard/RecentSessionsSection.tsx
T
Developer e434c439c9 refactor: rename files to PascalCase components and kebab-case APIs (Task 4.4)
- Rename all component files to PascalCase matching exported names
- Move components into feature directories (git/, session/, project/, terminal/, workspace/, ui/, layout/)
- Rename all page files to PascalCase with Page suffix
- Rename all API files to kebab-case
- Update all imports across codebase with corrected relative depths
- Preserve git history via git mv

Quality gates: tsc (pass), eslint (pass), 66/74 tests pass (8 pre-existing failures)
Refs: repo-restructure Task 4.4
2026-06-02 22:58:10 +00:00

48 lines
1.1 KiB
TypeScript

import type { Session } from "../../../types/session";
interface RecentSessionsSectionProps {
sessions: Session[];
onOpen: (session: Session) => void;
}
export const RecentSessionsSection = ({
sessions,
onOpen,
}: RecentSessionsSectionProps) => {
if (sessions.length === 0) return null;
return (
<section className="card stack home-section">
<div className="page-header">
<div>
<p className="eyebrow">Recent sessions</p>
<h2>{sessions.length}</h2>
</div>
</div>
<div className="recent-sessions-list">
{sessions.map((session) => (
<article className="recent-session-item" key={session.id}>
<div className="recent-session-info">
<span className="recent-session-name">
{session.display_name ||
session.tool_type_name ||
"Unnamed Session"}
</span>
<span className="muted">
{session.project_name} · {session.tool_type_name}
</span>
</div>
<button
className="ghost-button small"
type="button"
onClick={() => onOpen(session)}
>
Open
</button>
</article>
))}
</div>
</section>
);
};