summaryrefslogtreecommitdiffhomepage
path: root/app/packages/web/src/components/Header.astro
diff options
context:
space:
mode:
authorJay V <[email protected]>2025-05-26 17:25:06 -0400
committerJay V <[email protected]>2025-05-26 17:25:12 -0400
commit66b18959ebc7b699a74ce69d3adfb4c4dcaa5fd1 (patch)
tree5ef9340b1c496076dd1e12156fdc35c3f3c35933 /app/packages/web/src/components/Header.astro
parentdeacf5991abfb777aae7823a8e7e352fbefdabd0 (diff)
downloadopencode-66b18959ebc7b699a74ce69d3adfb4c4dcaa5fd1.tar.gz
opencode-66b18959ebc7b699a74ce69d3adfb4c4dcaa5fd1.zip
Merging docs and share app
Diffstat (limited to 'app/packages/web/src/components/Header.astro')
-rw-r--r--app/packages/web/src/components/Header.astro57
1 files changed, 57 insertions, 0 deletions
diff --git a/app/packages/web/src/components/Header.astro b/app/packages/web/src/components/Header.astro
new file mode 100644
index 000000000..f027d7274
--- /dev/null
+++ b/app/packages/web/src/components/Header.astro
@@ -0,0 +1,57 @@
+---
+import config from 'virtual:starlight/user-config';
+import { Icon } from '@astrojs/starlight/components';
+import { HeaderLinks } from 'toolbeam-docs-theme/components';
+import Default from 'toolbeam-docs-theme/overrides/Header.astro';
+import SiteTitle from '@astrojs/starlight/components/SiteTitle.astro';
+
+const path = Astro.url.pathname;
+
+const links = config.social || [];
+---
+
+{ path.startsWith("/share")
+ ? <div class="header sl-flex">
+ <div class="title-wrapper sl-flex">
+ <SiteTitle {...Astro.props} />
+ </div>
+ <div class="middle-group sl-flex">
+ <HeaderLinks {...Astro.props} />
+ </div>
+ </div>
+ : <Default {...Astro.props}><slot /></Default>
+}
+
+<style>
+ .header {
+ justify-content: space-between;
+ align-items: center;
+ height: 100%;
+ }
+
+ .title-wrapper {
+ /* Prevent long titles overflowing and covering the search and menu buttons on narrow viewports. */
+ overflow: clip;
+ /* Avoid clipping focus ring around link inside title wrapper. */
+ padding: calc(0.25rem + 2px) 0.25rem calc(0.25rem - 2px);
+ margin: -0.25rem;
+ }
+
+ .middle-group {
+ justify-content: flex-end;
+ gap: var(--sl-nav-gap);
+ }
+ @media (max-width: 50rem) {
+ :global(:root[data-has-sidebar]) {
+ .middle-group {
+ display: none;
+ }
+ }
+ }
+ @media (min-width: 50rem) {
+ .middle-group {
+ display: flex;
+ }
+ }
+</style>
+