feat(www): content changes

This commit is contained in:
Musa 2025-11-26 14:44:18 -08:00
parent 98fb8cb2fd
commit 337950bcdb
8 changed files with 70 additions and 14 deletions

View file

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="1014" height="1012" version="1.1" viewBox="-10 0 1014 1012" xmlns="http://www.w3.org/2000/svg">
<path d="m498 1012h-15l103-284h143q19 0 37-12.5t24-30.5l111-309q15-39-4.5-65.5t-59.5-26.5h-198l-164 457-94 258q-84-20-156-66-71-46-123.5-111t-81.5-146q-30-80-30-170 0-87 28-166 28-78 78-142t118-110 148-68l-96 266-163 442h107l137-376h81l-137 376h107l128-350q14-38-5-65t-59-27h-90l103-286h23q105 0 197 40t160.5 108.5 108.5 160.5 40 197-40 197-108.5 160.5-160.5 108.5-197 40zm305-662h-81l-113 310h81z" fill="#024ad8"/>
</svg>

After

Width:  |  Height:  |  Size: 571 B

View file

@ -1 +0,0 @@
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 231 30' preserveAspectRatio='xMinYMid'><path d='M99.61,19.52h15.24l-8.05-13L92,30H85.27l18-28.17a4.29,4.29,0,0,1,7-.05L128.32,30h-6.73l-3.17-5.25H103l-3.36-5.23m69.93,5.23V0.28h-5.72V27.16a2.76,2.76,0,0,0,.85,2,2.89,2.89,0,0,0,2.08.87h26l3.39-5.25H169.54M75,20.38A10,10,0,0,0,75,.28H50V30h5.71V5.54H74.65a4.81,4.81,0,0,1,0,9.62H58.54L75.6,30h8.29L72.43,20.38H75M14.88,30H32.15a14.86,14.86,0,0,0,0-29.71H14.88a14.86,14.86,0,1,0,0,29.71m16.88-5.23H15.26a9.62,9.62,0,0,1,0-19.23h16.5a9.62,9.62,0,1,1,0,19.23M140.25,30h17.63l3.34-5.23H140.64a9.62,9.62,0,1,1,0-19.23h16.75l3.38-5.25H140.25a14.86,14.86,0,1,0,0,29.71m69.87-5.23a9.62,9.62,0,0,1-9.26-7h24.42l3.36-5.24H200.86a9.61,9.61,0,0,1,9.26-7h16.76l3.35-5.25h-20.5a14.86,14.86,0,0,0,0,29.71h17.63l3.35-5.23h-20.6' transform='translate(-0.02 0)' style='fill:#C74634'/></svg>

Before

Width:  |  Height:  |  Size: 874 B

View file

@ -9,6 +9,8 @@ export default defineConfig({
projectId: "71ny25bn",
dataset: "production",
basePath: "/studio",
plugins: [structureTool()],
schema: {

View file

@ -46,11 +46,28 @@ export async function generateMetadata({
};
}
const baseUrl =
process.env.NEXT_PUBLIC_BASE_URL ||
(process.env.VERCEL_URL
? `https://${process.env.VERCEL_URL}`
: "http://localhost:3000");
// Get baseUrl - use NEXT_PUBLIC_APP_URL if set, otherwise construct from VERCEL_URL
// Restrict to allowed hosts: localhost:3000, archgw-tau.vercel.app, or plano.katanemo.com
let baseUrl = "http://localhost:3000";
if (process.env.NEXT_PUBLIC_APP_URL) {
const url = process.env.NEXT_PUBLIC_APP_URL;
if (
url.includes("archgw-tau.vercel.app") ||
url.includes("plano.katanemo.com") ||
url.includes("localhost:3000")
) {
baseUrl = url;
}
} else if (process.env.VERCEL_URL) {
const hostname = process.env.VERCEL_URL;
// VERCEL_URL is just the hostname, not the full URL
if (hostname === "archgw-tau.vercel.app") {
baseUrl = `https://${hostname}`;
} else if (hostname === "plano.katanemo.com") {
baseUrl = `https://${hostname}`;
}
}
const ogImageUrl = `${baseUrl}/api/og/${resolvedParams.slug}`;

View file

@ -1,7 +1,7 @@
import type { Metadata } from "next";
import "@katanemo/shared-styles/globals.css";
import { Analytics } from "@vercel/analytics/next";
import { Navbar, Footer } from "@katanemo/ui";
import { ConditionalLayout } from "@/components/ConditionalLayout";
export const metadata: Metadata = {
title: "Plano - The AI-native network for agents",
@ -17,11 +17,7 @@ export default function RootLayout({
return (
<html lang="en">
<body className="antialiased">
<div className="min-h-screen">
<Navbar />
<main className="pt-20">{children}</main>
<Footer />
</div>
<ConditionalLayout>{children}</ConditionalLayout>
<Analytics />
</body>
</html>

View file

@ -0,0 +1,12 @@
export default function StudioLayout({
children,
}: {
children: React.ReactNode;
}) {
return (
<div className="fixed inset-0 h-screen w-screen overflow-hidden">
{children}
</div>
);
}

View file

@ -0,0 +1,26 @@
"use client";
import { usePathname } from "next/navigation";
import { Navbar, Footer } from "@katanemo/ui";
export function ConditionalLayout({
children,
}: {
children: React.ReactNode;
}) {
const pathname = usePathname();
const isStudio = pathname?.startsWith("/studio");
if (isStudio) {
return <>{children}</>;
}
return (
<div className="min-h-screen">
<Navbar />
<main className="pt-20">{children}</main>
<Footer />
</div>
);
}

View file

@ -19,8 +19,8 @@ const customerLogos = [
src: "/logos/sandisk.svg",
},
{
name: "Oracle",
src: "/logos/oracle.svg",
name: "HP",
src: "/logos/hp.svg",
},
];