diff options
| author | Jay V <[email protected]> | 2025-09-03 17:12:51 -0700 |
|---|---|---|
| committer | Jay V <[email protected]> | 2025-09-03 17:12:51 -0700 |
| commit | 21008d733f896a8b960f4407f320720201e5f6ff (patch) | |
| tree | 96d6c6f84ec3ff92cf932fd01811b5a5ef9c8423 /packages/web/src | |
| parent | 2808e95ac7fca02d3d9fb632a3ad361a5d3bf7b3 (diff) | |
| download | opencode-21008d733f896a8b960f4407f320720201e5f6ff.tar.gz opencode-21008d733f896a8b960f4407f320720201e5f6ff.zip | |
docs: link
Diffstat (limited to 'packages/web/src')
| -rw-r--r-- | packages/web/src/components/SiteTitle.astro | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/packages/web/src/components/SiteTitle.astro b/packages/web/src/components/SiteTitle.astro new file mode 100644 index 000000000..28a30cb23 --- /dev/null +++ b/packages/web/src/components/SiteTitle.astro @@ -0,0 +1,59 @@ +--- +import { logos } from 'virtual:starlight/user-images'; +import config from 'virtual:starlight/user-config'; +const { siteTitle, siteTitleHref } = Astro.locals.starlightRoute; +--- + +<a href="/" class="site-title sl-flex"> + { + config.logo && logos.dark && ( + <> + <img + class:list={{ 'light:sl-hidden print:hidden': !('src' in config.logo) }} + alt={config.logo.alt} + src={logos.dark.src} + width={logos.dark.width} + height={logos.dark.height} + /> + {/* Show light alternate if a user configure both light and dark logos. */} + {!('src' in config.logo) && ( + <img + class="dark:sl-hidden print:block" + alt={config.logo.alt} + src={logos.light?.src} + width={logos.light?.width} + height={logos.light?.height} + /> + )} + </> + ) + } + <span class:list={{ 'sr-only': config.logo?.replacesTitle }} translate="no"> + {siteTitle} + </span> +</a> + +<style> + @layer starlight.core { + .site-title { + align-items: center; + gap: var(--sl-nav-gap); + font-size: var(--sl-text-h4); + font-weight: 600; + color: var(--sl-color-text-accent); + text-decoration: none; + white-space: nowrap; + min-width: 0; + } + span { + overflow: hidden; + } + img { + height: calc(var(--sl-nav-height) - 2 * var(--sl-nav-pad-y)); + width: auto; + max-width: 100%; + object-fit: contain; + object-position: 0 50%; + } + } +</style> |
