Adds dark design tokens, Inter + JetBrains Mono, a header with Notes, Process, About and a Book a call button, and a footer with the availability line driven by the tested domain core. Shared primitives live in src/components/site, site constants in src/content/site.ts. Legacy pages (blog, legal, contact, tags, technologies) keep a light surface via LegacyLightSurface. Stub routes for /notes, /process and /book. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
28 lines
728 B
TypeScript
28 lines
728 B
TypeScript
import * as React from "react";
|
|
|
|
type TerminalCardProps = {
|
|
readonly title: string;
|
|
readonly children: React.ReactNode;
|
|
readonly className?: string;
|
|
};
|
|
|
|
export const TerminalCard: React.FC<TerminalCardProps> = ({
|
|
title,
|
|
children,
|
|
className = "",
|
|
}) => (
|
|
<figure
|
|
className={`overflow-hidden rounded-lg border border-border bg-surface ${className}`}
|
|
>
|
|
<figcaption className="flex items-center gap-2 border-b border-border px-4 py-2.5 font-mono text-xs text-faint">
|
|
<span aria-hidden="true" className="text-accent">
|
|
●
|
|
</span>
|
|
{title}
|
|
</figcaption>
|
|
<div className="overflow-x-auto p-4 font-mono text-sm leading-relaxed text-fg">
|
|
{children}
|
|
</div>
|
|
</figure>
|
|
);
|