diff --git a/web/app/download/download.module.css b/web/app/download/download.module.css new file mode 100644 index 0000000..3284452 --- /dev/null +++ b/web/app/download/download.module.css @@ -0,0 +1,20 @@ +.page { min-height: 100dvh; background: var(--bg); color: var(--fg); } +.main { max-width: 980px; margin: 0 auto; padding: 150px 32px 100px; } +.eyebrow { margin: 0 0 24px; font-size: 12px; font-weight: 600; letter-spacing: .12em; color: var(--fg-muted); } +.main h1 { font-size: clamp(40px, 6vw, 68px); font-weight: 500; line-height: 1.08; letter-spacing: -.04em; margin: 0; } +.main h1 em { color: var(--primary); font-weight: 400; } +.description { font-size: 18px; line-height: 1.6; color: var(--fg-muted); margin: 24px 0 36px; } +.downloads { display: flex; flex-wrap: wrap; gap: 20px; } +.option { display: flex; flex-direction: column; gap: 10px; } +.option > span { color: var(--fg-muted); font-size: 12px; } +.download { min-height: 48px; gap: 8px; cursor: pointer; } +.download:focus-visible, .releaseNotes:focus-visible { outline: 2px solid var(--primary); outline-offset: 5px; } +.requirements { margin: 32px 0 8px; font-size: 13px; color: var(--fg-muted); } +.install { margin: 0; font-size: 14px; line-height: 1.6; color: var(--fg-muted); } +.releaseNotes { display: inline-flex; align-items: center; gap: 6px; margin-top: 28px; padding: 8px 0; font-size: 14px; color: var(--fg); text-decoration: underline; text-underline-offset: 4px; } +.releaseNotes:hover { color: var(--primary); } +@media (max-width: 600px) { + .main { padding: 120px 24px 64px; } + .downloads { flex-direction: column; } + .download { justify-content: center; width: 100%; } +} diff --git a/web/app/download/page.tsx b/web/app/download/page.tsx new file mode 100644 index 0000000..36814be --- /dev/null +++ b/web/app/download/page.tsx @@ -0,0 +1,41 @@ +import type { Metadata } from 'next'; +import { ArrowDownToLine } from 'lucide-react'; +import { SiteNav } from '../../components/SiteNav'; +import { SiteFooter } from '../../components/SiteFooter'; +import { desktopDownloads, DESKTOP_RELEASES_URL } from '../../lib/desktop-downloads'; +import { absoluteUrl } from '../../lib/site'; +import s from './download.module.css'; + +export const metadata: Metadata = { + title: 'Download Agent Relay for Mac', + description: 'Connect your coding agents to your team with Agent Relay for Mac.', + alternates: { canonical: absoluteUrl('/download') }, +}; + +export default function DownloadPage() { + return ( +
+ Skip to content + +
+

AGENT RELAY FOR MAC

+

Get your agents
on the relay.

+

Connect your coding sessions to your team.
Choose what you share, right from your menu bar.

+
+ {desktopDownloads.map(({ arch, label, detail, href }) => ( +
+ + + {detail} +
+ ))} +
+

Requires macOS 13 or later.

+

Open the download, drag Agent Relay to Applications, then sign in.

+ Release notes & earlier versions +
+ +
+ ); +} diff --git a/web/app/sitemap.ts b/web/app/sitemap.ts index 2273d83..ccfcbb4 100644 --- a/web/app/sitemap.ts +++ b/web/app/sitemap.ts @@ -13,6 +13,7 @@ export default function sitemap(): MetadataRoute.Sitemap { const now = new Date(); const staticRoutes: MetadataRoute.Sitemap = [ + { url: absoluteUrl('/download'), lastModified: now, changeFrequency: 'monthly', priority: 0.8 }, { url: absoluteUrl('/teams'), lastModified: now, changeFrequency: 'weekly', priority: 0.9 }, { url: absoluteUrl('/'), diff --git a/web/components/SiteFooter.tsx b/web/components/SiteFooter.tsx index b602566..f01afce 100644 --- a/web/components/SiteFooter.tsx +++ b/web/components/SiteFooter.tsx @@ -20,6 +20,7 @@ const footerColumns: FooterColumn[] = [ { title: 'Products', links: [ + { label: 'Download for Mac', href: '/download' }, { label: 'Relay Cloud', href: 'https://agentrelay.com/cloud' }, { label: 'Flows', href: '/flows' }, { label: 'Skip', href: 'https://heyskip.dev' }, diff --git a/web/components/SiteNav.tsx b/web/components/SiteNav.tsx index baab760..09613ef 100644 --- a/web/components/SiteNav.tsx +++ b/web/components/SiteNav.tsx @@ -92,6 +92,7 @@ export function SiteNav({
{!hideLinks && (