Logo
Renders the app logo image and/or the app name as a linked wordmark.
What it does
Logo is a server component that wraps everything in a Link to /. It renders an <img> from config.logoUrl if one is set, followed by a text wordmark using config.appName. If logoUrl is empty, the image is omitted and only the text wordmark shows.
Props
size— pixel height and width of the logo image. Defaults to28. Has no effect iflogoUrlis not set.showWordmark— whether to show the app name next to the logo. Defaults to whateverconfig.showWordmarkis set to. Passfalseto show the logo mark only.className— extra CSS classes on the wrapping<Link>. Useful for spacing adjustments.
Usage
import Logo from "@/components/Logo";
<Logo />
<Logo size={40} />
<Logo showWordmark={false} />Configuring
logoUrl— path to your logo file in/public, e.g."/logo.svg". Leave it as an empty string to show only the text wordmark.showWordmark— set tofalseto hide the app name globally (still overridable per-instance via the prop).appName— used as thealtattribute on the image and as the wordmark text.
// src/config.ts
appName: "YourApp",
logoUrl: "/logo.svg",
showWordmark: true,TipUse an SVG logo for sharpness at all sizes. Place the file in
/public and set logoUrl: "/logo.svg". SVGs also support the currentColor trick for theme-aware coloring — export your logo with fill="currentColor" and it will inherit the text color automatically.