diff --git a/apps/dashboard/package.json b/apps/dashboard/package.json index 11ed5e7..0df7143 100644 --- a/apps/dashboard/package.json +++ b/apps/dashboard/package.json @@ -26,6 +26,7 @@ "@vercel/speed-insights": "^1.0.10", "clsx": "^2.1.1", "fuse.js": "^7.0.0", + "htmlparser2": "^9.1.0", "next": "15.0.3", "next-themes": "^0.3.0", "oslo": "^1.2.1", diff --git a/apps/dashboard/src/app/(splash)/login/page.tsx b/apps/dashboard/src/app/(splash)/login/page.tsx index 71743bc..47e7498 100644 --- a/apps/dashboard/src/app/(splash)/login/page.tsx +++ b/apps/dashboard/src/app/(splash)/login/page.tsx @@ -1,4 +1,4 @@ -import { Button, Flex, Text } from "@radix-ui/themes"; +import { Button, Flex, Heading, Text } from "@radix-ui/themes"; import Link from "next/link"; import { GitHubIcon } from "../../../components/icons/GitHubIcon"; import { GoogleIcon } from "../../../components/icons/GoogleIcon"; @@ -13,7 +13,9 @@ export default function Page() { return ( - Sign in + + Sign in + Create an account to export your images to URLs
and make them available in all your devices. diff --git a/apps/dashboard/src/app/(splash)/templates/page.tsx b/apps/dashboard/src/app/(splash)/templates/page.tsx index 2345a9b..0e7d084 100644 --- a/apps/dashboard/src/app/(splash)/templates/page.tsx +++ b/apps/dashboard/src/app/(splash)/templates/page.tsx @@ -2,7 +2,7 @@ import { TemplatesSplash } from "../../../components/Splash/TemplatesSplash"; export const metadata = { title: "Templates - OG Studio", - description: "Pre-made Open Graph image templates.", + description: "Free, pre-made Open Graph image templates.", }; export const dynamic = "force-static"; diff --git a/apps/dashboard/src/app/(splash)/tools/open-graph-image-checker/page.tsx b/apps/dashboard/src/app/(splash)/tools/open-graph-image-checker/page.tsx new file mode 100644 index 0000000..8ab18ff --- /dev/null +++ b/apps/dashboard/src/app/(splash)/tools/open-graph-image-checker/page.tsx @@ -0,0 +1,13 @@ +import { type Metadata } from "next"; +import { OpenGraphImageChecker } from "../../../../components/Splash/Tools/OpenGraphImageChecker"; + +export const dynamic = "force-static"; + +export const metadata: Metadata = { + title: "Open Graph Image Checker - OG Studio", + description: "Free tool to check Open Graph meta tags of any website.", +}; + +export default function Page() { + return ; +} diff --git a/apps/dashboard/src/app/layout.tsx b/apps/dashboard/src/app/layout.tsx index 9151ffc..29466bb 100644 --- a/apps/dashboard/src/app/layout.tsx +++ b/apps/dashboard/src/app/layout.tsx @@ -2,14 +2,16 @@ import { Inter } from "next/font/google"; import { Toaster } from "sonner"; import { Analytics } from "@vercel/analytics/react"; import { SpeedInsights } from "@vercel/speed-insights/next"; +import { type Metadata } from "next"; import { Providers } from "../components/Providers"; import "./globals.css"; -export const metadata = { +export const metadata: Metadata = { title: "OG Studio", description: "Create static or dynamic OG (Open Graph) images with an intuitive, Figma-like visual editor. Browse ready-to-use templates, and export your images to SVG/PNG or to a dynamic URL.", openGraph: { + siteName: "OG Studio", images: "https://github.com/QuiiBz/ogstudio/blob/main/assets/builder.jpeg?raw=true", }, diff --git a/apps/dashboard/src/app/sitemap.ts b/apps/dashboard/src/app/sitemap.ts index d690d28..3a2e718 100644 --- a/apps/dashboard/src/app/sitemap.ts +++ b/apps/dashboard/src/app/sitemap.ts @@ -41,5 +41,11 @@ export default function sitemap(): MetadataRoute.Sitemap { changeFrequency: "monthly", priority: 0.5, }, + { + url: "https://ogstudio.app/tools/open-graph-image-checker", + lastModified: new Date(), + changeFrequency: "monthly", + priority: 0.8, + }, ]; } diff --git a/apps/dashboard/src/components/ExportModal/Download.tsx b/apps/dashboard/src/components/ExportModal/Download.tsx index eabe2fc..7f312b5 100644 --- a/apps/dashboard/src/components/ExportModal/Download.tsx +++ b/apps/dashboard/src/components/ExportModal/Download.tsx @@ -1,4 +1,4 @@ -import { Button, Flex, Text } from "@radix-ui/themes"; +import { Button, Flex, Heading } from "@radix-ui/themes"; import { useState } from "react"; import { flushSync } from "react-dom"; import { PngIcon } from "../icons/PngIcon"; @@ -57,7 +57,9 @@ export function Download({ dynamicTexts }: DownloadProps) { return ( - Download + + Download + +