Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 | 1x 1x 1x 1x 1x 11x 11x 11x 11x 11x 11x 11x 11x 1x 1x 8x 8x 8x 8x 8x 8x 8x 8x 1x 7x 8x 8x 1x 1x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x | import type { Metadata } from "next"
import { landingEnv } from "@workspace/env/landing"
import { resolveWebOrigin } from "@workspace/env/origins"
export function siteOrigin(): string {
return resolveWebOrigin({
configuredUrl: landingEnv.NEXT_PUBLIC_SITE_URL,
vercelUrl: landingEnv.VERCEL_URL,
vercelEnv: landingEnv.VERCEL_ENV,
variableName: "NEXT_PUBLIC_SITE_URL",
localOrigin: "http://localhost:3001",
})
}
export function appOrigin(): string {
return resolveWebOrigin({
configuredUrl: landingEnv.NEXT_PUBLIC_APP_URL,
vercelUrl: landingEnv.VERCEL_URL,
vercelEnv: landingEnv.VERCEL_ENV,
allowVercelUrl: false,
variableName: "NEXT_PUBLIC_APP_URL",
localOrigin:
landingEnv.NODE_ENV === "development"
? "https://localhost:3000"
: "http://localhost:3000",
})
}
export function siteMetadata(): Metadata {
const description =
"Manage your Discord server with Cleo's moderation, welcome, logs, support, automation, and AI-assisted tools."
return {
metadataBase: new URL(siteOrigin()),
title: {
default: "Cleo | Manage your Discord community",
template: "%s | Cleo",
},
description,
applicationName: "Cleo",
authors: [{ name: "JCoNet LTD" }],
creator: "JCoNet LTD",
publisher: "JCoNet LTD",
category: "technology",
referrer: "origin-when-cross-origin",
formatDetection: { address: false, email: false, telephone: false },
icons: {
icon: [
{ url: "/favicon-16x16.png", sizes: "16x16", type: "image/png" },
{ url: "/favicon-32x32.png", sizes: "32x32", type: "image/png" },
],
apple: [
{ url: "/apple-touch-icon.png", sizes: "180x180", type: "image/png" },
],
},
openGraph: {
type: "website",
siteName: "Cleo",
title: "Cleo | Manage your Discord community",
description,
url: "/",
images: [
{
url: "/android-chrome-512x512.png",
width: 512,
height: 512,
alt: "Cleo, the community assistant",
},
],
},
twitter: {
card: "summary",
title: "Cleo | Manage your Discord community",
description,
images: ["/android-chrome-512x512.png"],
},
robots: {
index: landingEnv.VERCEL_ENV !== "preview",
follow: landingEnv.VERCEL_ENV !== "preview",
},
appleWebApp: {
capable: true,
title: "Cleo",
statusBarStyle: "black-translucent",
},
}
}
|