From 6de6c7fd95de1de9d8d3107eaf7ce1dd150ed094 Mon Sep 17 00:00:00 2001 From: Maze Winther Date: Tue, 14 Apr 2026 18:17:14 +0200 Subject: refactor: move constants to domain modules --- apps/web/src/lib/site/brand.ts | 13 +++++++++++++ apps/web/src/lib/site/external-tools.ts | 24 ++++++++++++++++++++++++ apps/web/src/lib/site/social.ts | 5 +++++ apps/web/src/lib/site/sponsors.ts | 24 ++++++++++++++++++++++++ 4 files changed, 66 insertions(+) create mode 100644 apps/web/src/lib/site/brand.ts create mode 100644 apps/web/src/lib/site/external-tools.ts create mode 100644 apps/web/src/lib/site/social.ts create mode 100644 apps/web/src/lib/site/sponsors.ts (limited to 'apps/web/src/lib/site') diff --git a/apps/web/src/lib/site/brand.ts b/apps/web/src/lib/site/brand.ts new file mode 100644 index 00000000..2701608c --- /dev/null +++ b/apps/web/src/lib/site/brand.ts @@ -0,0 +1,13 @@ +export const SITE_URL = "https://opencut.app"; + +export const SITE_INFO = { + title: "OpenCut", + description: + "A simple but powerful video editor that gets the job done. In your browser.", + url: SITE_URL, + openGraphImage: "/open-graph/default.jpg", + twitterImage: "/open-graph/default.jpg", + favicon: "/favicon.ico", +}; + +export const DEFAULT_LOGO_URL = "/logos/opencut/svg/logo.svg"; diff --git a/apps/web/src/lib/site/external-tools.ts b/apps/web/src/lib/site/external-tools.ts new file mode 100644 index 00000000..610ea158 --- /dev/null +++ b/apps/web/src/lib/site/external-tools.ts @@ -0,0 +1,24 @@ +import { OcDataBuddyIcon, OcMarbleIcon } from "@/components/icons"; + +export type ExternalTool = { + name: string; + description: string; + url: string; + icon: React.ElementType; +}; + +export const EXTERNAL_TOOLS: ExternalTool[] = [ + { + name: "Marble", + description: + "Modern headless CMS for content management and the blog for OpenCut", + url: "https://marblecms.com?utm_source=opencut", + icon: OcMarbleIcon, + }, + { + name: "Databuddy", + description: "GDPR compliant analytics and user insights for OpenCut", + url: "https://databuddy.cc?utm_source=opencut", + icon: OcDataBuddyIcon, + }, +]; diff --git a/apps/web/src/lib/site/social.ts b/apps/web/src/lib/site/social.ts new file mode 100644 index 00000000..571e45d5 --- /dev/null +++ b/apps/web/src/lib/site/social.ts @@ -0,0 +1,5 @@ +export const SOCIAL_LINKS = { + x: "https://x.com/opencutapp", + github: "https://github.com/OpenCut-app/OpenCut", + discord: "https://discord.com/invite/Mu3acKZvCp", +}; diff --git a/apps/web/src/lib/site/sponsors.ts b/apps/web/src/lib/site/sponsors.ts new file mode 100644 index 00000000..2bd201b7 --- /dev/null +++ b/apps/web/src/lib/site/sponsors.ts @@ -0,0 +1,24 @@ +export type Sponsor = { + name: string; + url: string; + logo: string; + description: string; + invertOnDark?: boolean; +}; + +export const SPONSORS: Sponsor[] = [ + { + name: "Fal.ai", + url: "https://fal.ai?utm_source=opencut", + logo: "/logos/others/fal.svg", + description: "Generative image, video, and audio models all in one place.", + invertOnDark: true, + }, + { + name: "Vercel", + url: "https://vercel.com?utm_source=opencut", + logo: "/logos/others/vercel.svg", + description: "Platform where we deploy and host OpenCut.", + invertOnDark: true, + }, +]; -- cgit v1.3.1