Sessions 5-7a: 955 tests, deployment ready

This commit is contained in:
Kev
2026-06-08 18:35:13 -04:00
parent 06b82624a2
commit 1fa04dc776
371 changed files with 49366 additions and 955 deletions
+42
View File
@@ -0,0 +1,42 @@
import type { CSSProperties } from 'react';
type WordmarkProps = {
size?: number;
cursor?: boolean;
animated?: boolean;
ariaLabel?: string;
};
/**
* VYNDR wordmark. IBM Plex Mono 800, RGB-split letters, glowing R, blinking cursor.
* The R is the brand — always green (#00D4A0), always intercepted-looking.
* `aria-label` exposes the readable brand to screen readers; per-letter spans are aria-hidden.
*/
export default function Wordmark({
size = 22,
cursor = true,
animated = true,
ariaLabel = 'VYNDR',
}: WordmarkProps) {
const style: CSSProperties & { '--wm-size'?: string } = {
fontSize: size,
'--wm-size': `${size}px`,
};
return (
<span
className={`wordmark${animated ? ' wm-anim' : ''}`}
style={style}
role="img"
aria-label={ariaLabel}
>
<span className="vynd" aria-hidden>
<span className="wm-letter" data-text="V">V</span>
<span className="wm-letter" data-text="Y">Y</span>
<span className="wm-letter" data-text="N">N</span>
<span className="wm-letter" data-text="D">D</span>
</span>
<span className="r wm-letter" data-text="R" aria-hidden>R</span>
{cursor ? <span className="wm-cursor" aria-hidden /> : null}
</span>
);
}