)}
@@ -178,10 +247,10 @@ export const Meeting = ({ title, users = [], profile }: MeetingImageProps) => {
);
};
-const VisualBlur = ({ visualSlug }: { visualSlug: string }) => {
+const VisualBlur = ({ logoUrl }: { logoUrl: string }) => {
// Making a blur of a dark logo is very ugly. We use the filename to indicate,
// when we don't want to render these blurry blob backgrounds.
- if (visualSlug.indexOf("dark") > -1) return null;
+ if (logoUrl.indexOf("dark") > -1) return null;
return (
@@ -191,7 +260,7 @@ const VisualBlur = ({ visualSlug }: { visualSlug: string }) => {
style={{
filter: "blur(98px)",
backgroundColor: "rgba(255, 255, 255, 0.7)",
- backgroundImage: `url(${WEBAPP_URL}${visualSlug})`,
+ backgroundImage: `url(${WEBAPP_URL}${logoUrl})`,
backgroundSize: "400px 400px",
}}
/>
@@ -202,7 +271,7 @@ const VisualBlur = ({ visualSlug }: { visualSlug: string }) => {
style={{
filter: "blur(150px)",
backgroundColor: "rgba(255, 255, 255, 0.7)",
- backgroundImage: `url(${WEBAPP_URL}${visualSlug})`,
+ backgroundImage: `url(${WEBAPP_URL}${logoUrl})`,
backgroundSize: "630px 630px",
}}
/>
@@ -210,60 +279,71 @@ const VisualBlur = ({ visualSlug }: { visualSlug: string }) => {
);
};
-export const App = ({ name, description, slug }: AppImageProps) => (
-
-
+/**
+ * ⚠️ IMPORTANT: When modifying this component's structure, styling, or visual output,
+ * remember to bump the version in OG_ASSETS.app.id (e.g., "app-og-image-v1" → "app-og-image-v2")
+ * to ensure proper cache invalidation.
+ */
+export const App = ({ name, description, logoUrl }: AppImageProps) => {
+ const config = OG_ASSETS.app;
-
+ return (
+
+
-
-
-

-
-
-
-
- {name}
-
-
- {description}
-
-
-
-);
+
-export const Generic = ({ title, description }: GenericImageProps) => (
-
-
-
-

-
-
-
-
- {title}
+
+
+
-
+
+
+
+ {name}
+
+
{description}
-
-
-);
+
+ );
+};
-export const ScreenShot = ({ image, fallbackImage }: ScreenshotImageProps) => (
-
-
-
-

-

+/**
+ * ⚠️ IMPORTANT: When modifying this component's structure, styling, or visual output,
+ * remember to bump the version in OG_ASSETS.generic.id (e.g., "generic-og-image-v1" → "generic-og-image-v2")
+ * to ensure proper cache invalidation.
+ */
+export const Generic = ({ title, description }: GenericImageProps) => {
+ const config = OG_ASSETS.generic;
+
+ return (
+
+
+
+

+
+
+
+
+ {title}
+
+
+ {description}
+
+
-
-
-);
+
+ );
+};