feat: ChordDiagram component

This commit is contained in:
2026-04-09 00:40:36 +02:00
parent 5a4d0ef648
commit 3d56b71aa9

View File

@@ -0,0 +1,23 @@
import { getPianoNotes, getGuitarVoicing } from '~/lib/chord-voicing';
import { PianoKeys } from './piano-keys';
import { GuitarFretboard } from './guitar-fretboard';
export type Instrument = 'piano' | 'guitar';
interface Props {
chord: string;
instrument: Instrument;
}
export function ChordDiagram({ chord, instrument }: Props) {
return (
<div className="flex flex-col items-center gap-2 p-2">
<span className="text-xs font-mono font-semibold text-primary">{chord}</span>
{instrument === 'piano' ? (
<PianoKeys notes={getPianoNotes(chord)} />
) : (
<GuitarFretboard voicing={getGuitarVoicing(chord)} />
)}
</div>
);
}