plano/apps/www/src/app/layout.tsx
Musa 39b430d74b
feat(web): merge DigitalOcean release announcement updates (#860)
* feat(web): announce DigitalOcean acquisition across sites

* fix(web): make blog routes resilient without Sanity config

* fix(web): add mobile arrow cue to announcement banner

* fix(web): point acquisition links to announcement post
2026-04-02 06:03:52 -07:00

66 lines
2.4 KiB
TypeScript

import type { Metadata } from "next";
import { ArrowRightIcon } from "@heroicons/react/16/solid";
import Link from "next/link";
import Script from "next/script";
import "@katanemo/shared-styles/globals.css";
import { Analytics } from "@vercel/analytics/next";
import { ConditionalLayout } from "@/components/ConditionalLayout";
import { defaultMetadata } from "@/lib/metadata";
export const metadata: Metadata = {
...defaultMetadata,
manifest: "/manifest.json",
icons: {
icon: "/PlanoIcon.svg",
apple: "/Logomark.png",
},
};
export default function RootLayout({
children,
}: Readonly<{
children: React.ReactNode;
}>) {
return (
<html lang="en">
<body className="antialiased">
{/* Google tag (gtag.js) */}
<Script
src="https://www.googletagmanager.com/gtag/js?id=G-ML7B1X9HY2"
strategy="afterInteractive"
/>
<Script strategy="afterInteractive">
{`
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-ML7B1X9HY2');
`}
</Script>
<Link
href="https://digitalocean.com/blog/digitalocean-acquires-katanemo-labs-inc"
target="_blank"
rel="noopener noreferrer"
className="block w-full bg-[#7780D9] py-3 text-white transition-opacity"
>
<div className="mx-auto flex max-w-[85rem] items-center justify-center gap-4 px-6 text-center md:justify-between md:text-left lg:px-8">
<span className="w-full text-xs font-medium leading-snug md:w-auto md:text-base flex items-center">
DigitalOcean acquires Katanemo Labs, Inc. to accelerate AI
development
<ArrowRightIcon
aria-hidden
className="ml-1 inline-block h-3 w-3 align-[-1px] text-white/90 md:hidden"
/>
</span>
<span className="hidden shrink-0 items-center gap-1 text-base font-medium tracking-[-0.989px] font-mono leading-snug opacity-70 transition-opacity hover:opacity-100 md:inline-flex">
Read the announcement
<ArrowRightIcon aria-hidden className="h-3.5 w-3.5 text-white/70" />
</span>
</div>
</Link>
<ConditionalLayout>{children}</ConditionalLayout>
<Analytics />
</body>
</html>
);
}