diff --git a/packages/skin-museum-og/pages/api/og.js b/packages/skin-museum-og/pages/api/og.js index 7ec135eb..345ace27 100644 --- a/packages/skin-museum-og/pages/api/og.js +++ b/packages/skin-museum-og/pages/api/og.js @@ -21,7 +21,33 @@ export default async function (req) { if (skinMd5) { return permalinkImage(skinMd5); } - throw new Error("Expected skin md5 or query"); + return homeImage(); +} + +async function homeImage() { + const data = await fetchGraphql( + ` + query HomeSkins { + skins(first:20, sort: MUSEUM){ + nodes { + ... on ClassicSkin { + id + nsfw + filename + screenshot_url + } + } + } + }`, + {} + ); + return new ImageResponse( + , + { + width: 1200, + height: 600, + } + ); } async function searchImage(query) { @@ -30,7 +56,8 @@ async function searchImage(query) { query SkinSearch($query: String!) { skins: search_skins(query: $query, first:20){ ... on ClassicSkin { - id + id + nsfw filename screenshot_url } @@ -38,27 +65,37 @@ async function searchImage(query) { }`, { query } ); - return new ImageResponse( - ( - + return new ImageResponse(, { + width: 1200, + height: 600, + }); +} + +function ImageGrid({ skins, title }) { + return ( + +
-
- {data.skins.map((skin) => { + {skins + .filter((skin) => { + return !skin.nsfw; + }) + .map((skin) => { return ( ); })} -
-
- {query} -
- - ), - { - width: 1200, - height: 600, - } +
+
+ {title} +
+ ); }