feat(website): route the OS links to per-platform install steps

Clicking macOS, Linux or Windows on the home page landed on the file-path
cards, which say where config lives, not how to install. Step 1 now carries
one card per OS at those anchors: brew on macOS, cargo on Linux, cargo or the
prebuilt .exe on Windows. The path cards keep their own -paths anchors.

The hero logo drew into a fixed inline width, so the mobile height overrides
shrank the mark inside a box sized for the desktop one. An aspect-ratio lets
the width follow, and the mark is now larger and centred against the title.
This commit is contained in:
Michel de Graaf
2026-07-25 05:35:01 +02:00
parent 5090af97a2
commit 96e6bcdb8a
4 changed files with 112 additions and 35 deletions
+1 -1
View File
@@ -12,6 +12,6 @@ export const Logo = ({ size = 180, className }: LogoProps) => (
role="img"
aria-label="soulseek-rs"
className={cn('logo-mark shrink-0 bg-contain bg-no-repeat', className)}
style={{ height: size, width: size * ASPECT }}
style={{ height: size, aspectRatio: ASPECT }}
/>
)
+7 -2
View File
@@ -20,9 +20,10 @@ interface TerminalProps {
lines: readonly TermLine[]
copy?: string
className?: string
wrap?: boolean
}
export const Terminal = ({ label, lines, copy, className }: TerminalProps) => {
export const Terminal = ({ label, lines, copy, className, wrap }: TerminalProps) => {
const copyText =
copy ??
lines
@@ -47,7 +48,11 @@ export const Terminal = ({ label, lines, copy, className }: TerminalProps) => {
{lines.map((line, i) => (
<span
key={i}
className={cn('block whitespace-pre', LINE_TONE[line.t])}
className={cn(
'block',
wrap ? 'break-all whitespace-pre-wrap' : 'whitespace-pre',
LINE_TONE[line.t],
)}
>
{line.t === 'cmd' && (
<>