From 6ddcbea8e8b34b06e90121a8c38a8af304b981c3 Mon Sep 17 00:00:00 2001 From: Chloe Date: Fri, 12 Apr 2024 16:10:46 +0700 Subject: [PATCH 1/2] feat: connect to CPP shopify Signed-off-by: Chloe --- app/favicon.ico | Bin 15086 -> 15086 bytes components/layout/footer.tsx | 18 ------------------ 2 files changed, 18 deletions(-) diff --git a/app/favicon.ico b/app/favicon.ico index dc7d8431e47ee24c71eebaffe30786769b348353..c359f9482c6b76561a931ff4e4e5a2580680fd03 100644 GIT binary patch literal 15086 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 literal 15086 zcmd^GTWAzX6m4-g@sXH`@A%578(qZ@6^)AEx+seJA)+9DC<(qIf}bu*kok~BOho(? zMKOx(j~|Mt_~Qfw1wjdF^h0Abh?s;#^B@nC+`Xsl>g}%X>Y3@8NoLrAo9cSpd(W+R z)vXxDC}Xs-bg98%*!ZW!FiH)>2#3vh$S@i>EyN-6D}FJIzq!EgT!vYUGA5*p-)}#I zSbt~DniZNndGh+g!ot4_3JPi_Oqfv1RG*)p-^A3y^o^;Dshg=MNrDW>f=tM6VqLGH zlXYJQ24DfEIB@4poH((Jd82uGdF|uJj~^U2ZXAsy0RylA6Jsl9JMz8km_B`a5$c-D z_l+c8Ki$9vjKFHQVa}X6c}Vx;&7?eF1!idj+9i|gU9CG{1!mx%J$rVD`_?11Os2$z>2Y9|^LwUa)#1Z9=6+PG%g^+5U}t)r={R-x zfF0|#EWG+X@0z8$BxzV>Er=BQk>gsAbd-kl0s;a7J+qP{2r=1trX3UsDCr_Rvlu>yhZ_l1R#B*XoHUK+Q zw_TUtH|npVqJsMR`bhVC{`@)3pFiJa18l!^>5?Z~M@I+k+__VgtT#Sa_{7cQiiFJF3MM`C+>J8j*%)zt>5=d!Xg z>hJHT+S*#0Idi6~uc%4VKI}V|@87>qQ>RXK;KR6>GGz+gym^y$?b_wC zPlwejJsJEG$KAVkwQYcT>cD{mE{x#iy*q_MAxHo6!swTl41UN(8*JRTky=_>v^HQq zoi}futBwSQh%~xs_+8`aBbSO ziCSA*J#A=gY!quU`dhNNC4VaMLng-Zg$oy4_y-3E>BNZ>t~p5J2pXmuKk9bz;>A>7 zU+=Kt@#DwD_e_p;EGT9>U#js#Hu}-gqesR507i6nb|$^f+A-U|(}5pjdD^sT^x(k* z(FQd&HN^KEDX)9jVd9Vb{9?D=?;CBfWy=#$y%dyaI!pQ)E?Q>^zh1o-@?7h$ns zG$PD3j3~m<|Ai66M;V41BKiOPi@15(!Z+@7x&I0b&;j2u{Os`IqYT2md-qaNQIRhO)-UEYsZR|d8-7{bv)X?j zK763%%a>dCPq@>$diAQk2;I7MOW^XW1J*C*R8_BxXhS+0KmZK&g+Qf13kPAl8D|Q`oV*Cz&P*j?sj0n+m9tnmRNNl<;MyWu^+NvBl;qI?Dk(>T^*H_ zl%!q1tb;Xc)>va5eQ^K&{Z=20WwSj$QTrt?>H%+Y@VkBcwlxN2e!QWnKjC-j=!@{Z zWBkKUkA4xaPJ21lFZQYSv_!t=&Yhc-@0Rt8J#r#C?PY_EIXge=7yEO2+HiieesMM! zPMvmLtY4f<>}kXKZJvonbpJil=Z}#-f8h)`lIKt8$8VU<-&N}Q`eXWHL&)=p@a3;v zyH=zvSg^pcA7g$|SCXIO;=OWDPY-?m{8{j@jdbP875e)1t7Bge9xgBHS@HuP_FHe? zzP0uM*cai -
@@ -55,13 +44,6 @@ export default async function Footer() { © {copyrightDate} {copyrightName} {copyrightName.length && !copyrightName.endsWith('.') ? '.' : ''} All rights reserved.

-
-

Designed in California

-

- - Crafted by ▲ Vercel - -

From c53986e9269fca08aa9a6f8e5f4d50c401253beb Mon Sep 17 00:00:00 2001 From: Chloe Date: Fri, 12 Apr 2024 16:52:15 +0700 Subject: [PATCH 2/2] feat: configure with webhook Signed-off-by: Chloe --- lib/constants.ts | 2 +- lib/shopify/index.ts | 3 +++ next.config.js | 5 +++++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/lib/constants.ts b/lib/constants.ts index 56bc6cd12..f11d1edb2 100644 --- a/lib/constants.ts +++ b/lib/constants.ts @@ -28,4 +28,4 @@ export const TAGS = { export const HIDDEN_PRODUCT_TAG = 'nextjs-frontend-hidden'; export const DEFAULT_OPTION = 'Default Title'; -export const SHOPIFY_GRAPHQL_API_ENDPOINT = '/api/2023-01/graphql.json'; +export const SHOPIFY_GRAPHQL_API_ENDPOINT = '/api/2023-04/graphql.json'; diff --git a/lib/shopify/index.ts b/lib/shopify/index.ts index e8b6637c8..fdc238029 100644 --- a/lib/shopify/index.ts +++ b/lib/shopify/index.ts @@ -419,11 +419,14 @@ export async function getProducts({ // This is called from `app/api/revalidate.ts` so providers can control revalidation logic. export async function revalidate(req: NextRequest): Promise { + console.log(`Receiving revalidation request from Shopify.`); // We always need to respond with a 200 status code to Shopify, // otherwise it will continue to retry the request. const collectionWebhooks = ['collections/create', 'collections/delete', 'collections/update']; const productWebhooks = ['products/create', 'products/delete', 'products/update']; const topic = headers().get('x-shopify-topic') || 'unknown'; + console.log(`Receiving revalidation request with topic.`, { topic }); + const secret = req.nextUrl.searchParams.get('secret'); const isCollectionUpdate = collectionWebhooks.includes(topic); const isProductUpdate = productWebhooks.includes(topic); diff --git a/next.config.js b/next.config.js index 8bab35c40..4011dcac5 100644 --- a/next.config.js +++ b/next.config.js @@ -1,5 +1,10 @@ /** @type {import('next').NextConfig} */ module.exports = { + logging: { + fetches: { + fullUrl: true + } + }, eslint: { // Disabling on production builds because we're running checks on PRs via GitHub Actions. ignoreDuringBuilds: true