Files
AgentCompany/landing/components/layout/footer.tsx
T
ZacharyZhang-NY c027508b97 Retire the 1.0.0 installer and take dead macOS links off the site
Deleting the old Windows build from R2 surfaced something worse: the
two macOS DMG links had no objects behind them at all - the mac builds
were never uploaded, so every mac download click has been a 404.

- R2 now holds exactly one desktop artifact: AC/AgentCompany-1.1.0-x64
  .exe (old exe deleted on operator instruction, verified 404)
- The release manifest drops the macOS entry with a comment explaining
  how it comes back (upload real DMGs first); footer mac links removed;
  hero reads "Available on Windows - macOS build coming soon"
- Root fix in platform-support: FAQ/JSON-LD copy now derives from
  whatever platforms the manifest actually ships instead of
  hard-requiring macos+windows, so the site structurally cannot
  advertise a platform without a real artifact behind it
- Landing e2e updated (>=1 tracked asset) and green; redeployed and
  verified live: no r2.dev leaks, no mac links, coming-soon copy shown,
  tracked download 302s to the 1.1.0 installer
2026-07-09 00:54:19 -04:00

95 lines
3.2 KiB
TypeScript

import { Container } from "../ui/container";
import { Reveal } from "../ui/reveal";
import { Button } from "../ui/button";
import { Aurora } from "../ui/aurora";
import { IconMark } from "../brand/icon-mark";
import { getTrackedDownloadHref } from "../../lib/downloads";
import { CONTACT_EMAIL, WEBSITE_URL } from "../../lib/site-constants";
type FooterLink = { label: string; href: string; external?: boolean };
const footerGroups: { title: string; links: FooterLink[] }[] = [
{
title: "Product",
links: [
{ label: "Features", href: "#features" },
{ label: "How it works", href: "#how-it-works" },
{ label: "FAQ", href: "#faq" },
{ label: "Download", href: "#download" },
],
},
{
title: "Downloads",
links: [
{ label: "Windows Installer", href: getTrackedDownloadHref("windows-x64-installer"), external: true },
],
},
{
title: "Company",
links: [
{ label: "Website", href: WEBSITE_URL, external: true },
{ label: "Contact", href: `mailto:${CONTACT_EMAIL}`, external: true },
{ label: "Download center", href: "#download" },
],
},
];
export function Footer() {
const year = new Date().getFullYear();
return (
<footer className="relative overflow-hidden bg-[var(--footer-bg)] text-[var(--footer-text)]">
<Aurora className="opacity-90" />
<Container className="relative">
<div className="border-b border-white/10 py-24 text-center md:py-32">
<Reveal>
<h2 className="font-display text-[clamp(2.75rem,1.8rem+4vw,5.5rem)] leading-[1] tracking-[-0.02em]">
Launch your company now.
</h2>
<div className="mt-8 flex justify-center">
<Button href="#download" variant="inverted">
Download
</Button>
</div>
</Reveal>
</div>
<div className="grid gap-10 py-14 md:grid-cols-[1.6fr_1fr_1fr_1fr]">
<div>
<a href="#" className="inline-flex items-center gap-2.5" aria-label="AgentCompany home">
<IconMark size={28} />
<span className="text-lg font-medium tracking-[-0.02em]">AgentCompany</span>
</a>
<p className="mt-4 max-w-[32ch] text-sm leading-relaxed opacity-60">
Local-first desktop control plane for autonomous AI companies.
</p>
</div>
{footerGroups.map((group) => (
<div key={group.title}>
<h3 className="eyebrow text-xs opacity-50">{group.title}</h3>
<ul className="mt-4 space-y-3">
{group.links.map((link) => (
<li key={link.label}>
<a
href={link.href}
{...(link.external ? { target: "_blank", rel: "noopener noreferrer" } : {})}
className="text-sm opacity-75 transition-opacity hover:opacity-100"
>
{link.label}
</a>
</li>
))}
</ul>
</div>
))}
</div>
<div className="border-t border-white/10 py-6">
<p className="text-xs opacity-45">© {year} AgentCompany</p>
</div>
</Container>
</footer>
);
}