From 68e97a599b631ec2f48826f9f789a6218fe3b179 Mon Sep 17 00:00:00 2001 From: Malted Date: Fri, 20 Dec 2024 14:45:20 -0500 Subject: [PATCH 1/2] Starts a stats image endpoint --- bun.lockb | Bin 341655 -> 367767 bytes package.json | 1 + src/app/api/stats/route.ts | 69 +++++++++++++++++++++++++++++++++++++ 3 files changed, 70 insertions(+) create mode 100644 src/app/api/stats/route.ts diff --git a/bun.lockb b/bun.lockb index 3d67c563548373c2695d5a49fdca7b315c555406..99c548be355914398838b2bb1418a80441408c54 100755 GIT binary patch delta 81726 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 tUuvpf z^hv2DhV@@uMJzbi?^p%nsy=NM+wz!78?_w;J4?L!fdx&Dye287uDc4Ge5T^YhtN2mshl|^zgEpQPwaoA>iph#`m4^m zkf-kX#iV>Dzw|bqRx*0!5P5Ae%>F~=No(eMSsJyHN;i}{47JH!t68F8<&u}9D>|v! z@#92GH<0nTyKuBK`5FIm7xnE-j$A!=TYbXm zYf;NX3`K~_9UxH@5-^ZDIM&`<(Y|3^!huT}Q~RvZ2M1=qaP0bf%_j(X{BNw6 zR&BNUO@yWkx539 zTIBj{Tl%^q?%CVyE88)-S>;~kF5susA#sS{Xw^!;zOU7G*NtwPz`-AX{;;QUlci5^ zPlf(S7#v{}R_DrF+~>pnk{)eGcc~R@t{S2F_dT}u!{9!50_x+Q%Z7eY=d0iB>X$w9 z&%fKlp9?y1nDl~#FsM%{k@;}lWV-BihW#(gd4L(2plHT22#sc3>`{m-*f zXS$p27_4IxV`IY;!o%ZI2Nf{+x3-Ur=v*qadwi)hzEpHfSh(0x&{QBfo%2ff_mbz% zcqepCs**0zIWDGme0W@ZD9-GNib#y|>KqXk5gHR8h5w?vM08cRPyGXf%KG?)h4)H` ziHVH&!m%p}F`+S$X|Z^P#>9mu^o1MTG}nv6CTD)eR45dM--Gb4P9n+k|rb4+=&X=jlnCPYLE_c^9wK3}Pd7{21X z((@)3G%>k*d|?BG_~IVYzQPc0DrB9I06(5>BYMV}JZ*6P4es&37p7}CT zLrl4BIgr8JdRawlM;9 zJUSsUx-$qraeR=eKsEJj8U$8dFYQ_7cZ)8gSf9WH`>giNOEiJrg5v*hv`v zQ%mWTgQZ!NT4u6x)v3OSF|$}-VW?;-T;R*NAeSk2lwo5}%Yv>M6-d)h(+48YUYZJt zKEImE=5qTU9jLOoP_`&4vrXF1bFRk7n0Uq)Jn{`I-6j<6z^b9h⁣H6_F~!! zle?3o(cBP36X_n0v;xGbiYAXD+L1y`Nj+N#^?)zXAv)e`n(}NJF~5o$7YrX8l0ePW z6K8l0-F#KO?Nlm8OGrJA241B_o;oIv;;L7dG_Nl4YK{Uly&)Uk3soatO^Fr5Rh3UO zRE9f*3sf~1jeay`3Fre&jh>jb35lq3CGT zhV7yyp{1*5N4rBr0m9eEPI(4|9Q(m=5w$mHRWo+y0M zZ-mEGlc#vH-ehS@)!>(=Cc^p)k9H;xmvpN$y|f}gvG_9b0?s&32tGU@LM-0MI#l2d^SRUftXOoZE|JhW!NrtA$h|?RYmwM)k2C@GXc;OK z5$hEa7RHma;-f<161=o#fMe%OX2%Q!1E$@Ik7Z3oilv8yXZnqodNvKC<|!%B30<@% z=IK>&FrN)h! z!sB~|L`H-`eceaD7rWn>+=JC4Xb`Sxhfn z#7<93%R*o9h~{fyuRt{^hqU-0m3HkFpthK@|Dg&Y$k+7>x%cx|dpj|!xXIpx`dCJ* zzjyYV%9P14h9h`}JJ?)SGUi$9f~%+%1cP~ElDO5|WEM9Yo3iFrkJ>?C)n!rnF#ZCf zaf)e}*Vmp}Yv>Z@6(1Q98XhM{xzM;!e?LyhT*T^)rmXhrJ#C4+-ZO`Z{CwO&_7a@%?6j$zHvh>1T3_A2Y!+d**s0TDq)~T>{yg>|3HFXw~%0r#x z%_c|TvDwrqb^B)1RzvE#UrqMbskir-b{N@sN{LJDAccN#Yii|#rkzGD6RKv>$DrQY oBc{oz!;hM(_)jfvId|$=%McMU)8vwR-)QM=ncC3GvX1xv1ykwcJpcdz delta 64904 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 G&;J89HuO*c diff --git a/package.json b/package.json index 28bb9e45..60f698e7 100644 --- a/package.json +++ b/package.json @@ -38,6 +38,7 @@ "next": "14.2.13", "next-plausible": "^3.12.2", "openai": "^4.68.4", + "puppeteer": "^23.11.1", "react": "^18", "react-dom": "^18", "react-fast-marquee": "^1.6.5", diff --git a/src/app/api/stats/route.ts b/src/app/api/stats/route.ts new file mode 100644 index 00000000..2933fbe9 --- /dev/null +++ b/src/app/api/stats/route.ts @@ -0,0 +1,69 @@ +import puppeteer from 'puppeteer' + +const html = () => ` + + + + + + +

hello, world!

+ +` + +export async function GET() { + const browser = await puppeteer.launch({ + headless: 'new', + args: ['--no-sandbox', '--disable-setuid-sandbox'], + }) + + try { + const page = await browser.newPage() + + // Set viewport size to match canvas size + await page.setViewport({ + width: 1024, + height: 1024 * (9 / 16), + deviceScaleFactor: 3, + }) + + // Load the HTML content + await page.setContent(html()) + + // Wait for the shader to render a few frames + // await page.goto(url, { waitUntil: 'networkidle0' }); + // await page.waitForFunction("window.renderedComplete === true", { timeout: 5_000 }); + + // Take a screenshot + const screenshot = await page.screenshot({ + type: 'png', + clip: { + x: 0, + y: 0, + width: 1024, + height: 1024 * (9 / 16), + }, + }) + + await browser.close() + + // Return the screenshot as a PNG + return new Response(screenshot, { + headers: { + 'Content-Type': 'image/png', + // "Cache-Control": "public, max-age=3600" + }, + }) + } catch (error) { + await browser.close() + return new Response(JSON.stringify({ error: error.message }), { + status: 500, + headers: { + 'Content-Type': 'application/json', + }, + }) + } +} From 21f79de841ab7ea695fbc0ec4fbcd4c12f50bbe0 Mon Sep 17 00:00:00 2001 From: Malted Date: Sat, 21 Dec 2024 22:11:41 -0500 Subject: [PATCH 2/2] Pull in stats --- src/app/api/stats/route.ts | 40 +++++++++++++++++++++----------------- 1 file changed, 22 insertions(+), 18 deletions(-) diff --git a/src/app/api/stats/route.ts b/src/app/api/stats/route.ts index 2933fbe9..a5f7d00f 100644 --- a/src/app/api/stats/route.ts +++ b/src/app/api/stats/route.ts @@ -1,50 +1,54 @@ import puppeteer from 'puppeteer' +import Airtable from 'airtable' -const html = () => ` +const base = new Airtable({ apiKey: process.env.AIRTABLE_API_KEY }).base( + process.env.BASE_ID!, +) + +const html = (shipCount: number) => ` -

hello, world!

+
+

${shipCount} projects shipped

+
` export async function GET() { - const browser = await puppeteer.launch({ - headless: 'new', - args: ['--no-sandbox', '--disable-setuid-sandbox'], - }) + const [browser, ships] = await Promise.all([ + puppeteer.launch({ + headless: 'new', + args: ['--no-sandbox', '--disable-setuid-sandbox'], + }), + base('ships').select({}).all(), + ]) try { const page = await browser.newPage() - // Set viewport size to match canvas size await page.setViewport({ - width: 1024, - height: 1024 * (9 / 16), + width: 800, + height: 100, deviceScaleFactor: 3, }) - // Load the HTML content - await page.setContent(html()) - - // Wait for the shader to render a few frames - // await page.goto(url, { waitUntil: 'networkidle0' }); - // await page.waitForFunction("window.renderedComplete === true", { timeout: 5_000 }); + await page.setContent(html(ships.length)) - // Take a screenshot const screenshot = await page.screenshot({ type: 'png', clip: { x: 0, y: 0, - width: 1024, - height: 1024 * (9 / 16), + width: 800, + height: 100, }, })