diff --git a/.env.development b/.env.development index aa4a7ac..5681a5a 100644 --- a/.env.development +++ b/.env.development @@ -1,3 +1,6 @@ NEXT_TELEMETRY_DISABLED=1 CHAINHOOKS_API_TOKEN=dev-api-token DATABASE_PATH=./sqlite.db + +# Client environment variables +NEXT_PUBLIC_BASE_URL=http://localhost:3000 diff --git a/public/logo.png b/public/logo.png new file mode 100644 index 0000000..4e5b0b4 Binary files /dev/null and b/public/logo.png differ diff --git a/public/og/protocol-background.png b/public/og/protocol-background.png new file mode 100644 index 0000000..217b36a Binary files /dev/null and b/public/og/protocol-background.png differ diff --git a/src/app/favicon.ico b/src/app/favicon.ico index 718d6fe..b15327a 100644 Binary files a/src/app/favicon.ico and b/src/app/favicon.ico differ diff --git a/src/app/layout.tsx b/src/app/layout.tsx index 10e51e2..57806e8 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -1,6 +1,7 @@ import Fathom from "@/components/Layout/Fathom"; import { Footer } from "@/components/Layout/Footer"; import { Header } from "@/components/Layout/Header"; +import { env } from "@/env"; import { Theme } from "@radix-ui/themes"; import type { Metadata } from "next"; import { Poppins } from "next/font/google"; @@ -14,8 +15,10 @@ const font = Poppins({ }); export const metadata: Metadata = { - title: "Create Next App", - description: "Generated by create next app", + metadataBase: new URL(env.NEXT_PUBLIC_BASE_URL), + title: "stackspulse", + description: + "Get the latest on-chain stats for the Stacks (STX) blockchain DeFi ecosystem. Real time feed, unique users, transactions, and more...", }; export default function RootLayout({ diff --git a/src/app/opengraph-image.png b/src/app/opengraph-image.png new file mode 100644 index 0000000..2c7d1ad Binary files /dev/null and b/src/app/opengraph-image.png differ diff --git a/src/app/protocols/[protocol]/opengraph-image.tsx b/src/app/protocols/[protocol]/opengraph-image.tsx new file mode 100644 index 0000000..bbdb250 --- /dev/null +++ b/src/app/protocols/[protocol]/opengraph-image.tsx @@ -0,0 +1,58 @@ +import { env } from "@/env"; +import { type Protocol, protocolsInfo } from "@/lib/protocols"; +import { ImageResponse } from "next/og"; + +export const runtime = "edge"; + +export const alt = "About Protocol"; +export const size = { + width: 1012, + height: 506, +}; + +export const contentType = "image/png"; + +interface PageProps { + params: { protocol: string }; +} + +export default async function Image({ params }: PageProps) { + const protocol = params.protocol as Protocol; + + return new ImageResponse( +