mirror of
https://github.com/vercel/commerce.git
synced 2025-05-13 05:07:51 +00:00
Merge pull request #1 from Car-Part-Planet/feat/connect-cpp-shopify
Feat/connect cpp shopify
This commit is contained in:
commit
68a988e466
BIN
app/favicon.ico
BIN
app/favicon.ico
Binary file not shown.
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
@ -37,17 +37,6 @@ export default async function Footer() {
|
|||||||
>
|
>
|
||||||
<FooterMenu menu={menu} />
|
<FooterMenu menu={menu} />
|
||||||
</Suspense>
|
</Suspense>
|
||||||
<div className="md:ml-auto">
|
|
||||||
<a
|
|
||||||
className="flex h-8 w-max flex-none items-center justify-center rounded-md border border-neutral-200 bg-white text-xs text-black dark:border-neutral-700 dark:bg-black dark:text-white"
|
|
||||||
aria-label="Deploy on Vercel"
|
|
||||||
href="https://vercel.com/templates/next.js/nextjs-commerce"
|
|
||||||
>
|
|
||||||
<span className="px-3">▲</span>
|
|
||||||
<hr className="h-full border-r border-neutral-200 dark:border-neutral-700" />
|
|
||||||
<span className="px-3">Deploy</span>
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div className="border-t border-neutral-200 py-6 text-sm dark:border-neutral-700">
|
<div className="border-t border-neutral-200 py-6 text-sm dark:border-neutral-700">
|
||||||
<div className="mx-auto flex w-full max-w-7xl flex-col items-center gap-1 px-4 md:flex-row md:gap-0 md:px-4 min-[1320px]:px-0">
|
<div className="mx-auto flex w-full max-w-7xl flex-col items-center gap-1 px-4 md:flex-row md:gap-0 md:px-4 min-[1320px]:px-0">
|
||||||
@ -55,13 +44,6 @@ export default async function Footer() {
|
|||||||
© {copyrightDate} {copyrightName}
|
© {copyrightDate} {copyrightName}
|
||||||
{copyrightName.length && !copyrightName.endsWith('.') ? '.' : ''} All rights reserved.
|
{copyrightName.length && !copyrightName.endsWith('.') ? '.' : ''} All rights reserved.
|
||||||
</p>
|
</p>
|
||||||
<hr className="mx-4 hidden h-4 w-[1px] border-l border-neutral-400 md:inline-block" />
|
|
||||||
<p>Designed in California</p>
|
|
||||||
<p className="md:ml-auto">
|
|
||||||
<a href="https://vercel.com" className="text-black dark:text-white">
|
|
||||||
Crafted by ▲ Vercel
|
|
||||||
</a>
|
|
||||||
</p>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</footer>
|
</footer>
|
||||||
|
@ -28,4 +28,4 @@ export const TAGS = {
|
|||||||
|
|
||||||
export const HIDDEN_PRODUCT_TAG = 'nextjs-frontend-hidden';
|
export const HIDDEN_PRODUCT_TAG = 'nextjs-frontend-hidden';
|
||||||
export const DEFAULT_OPTION = 'Default Title';
|
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';
|
||||||
|
@ -419,11 +419,14 @@ export async function getProducts({
|
|||||||
|
|
||||||
// This is called from `app/api/revalidate.ts` so providers can control revalidation logic.
|
// This is called from `app/api/revalidate.ts` so providers can control revalidation logic.
|
||||||
export async function revalidate(req: NextRequest): Promise<NextResponse> {
|
export async function revalidate(req: NextRequest): Promise<NextResponse> {
|
||||||
|
console.log(`Receiving revalidation request from Shopify.`);
|
||||||
// We always need to respond with a 200 status code to Shopify,
|
// We always need to respond with a 200 status code to Shopify,
|
||||||
// otherwise it will continue to retry the request.
|
// otherwise it will continue to retry the request.
|
||||||
const collectionWebhooks = ['collections/create', 'collections/delete', 'collections/update'];
|
const collectionWebhooks = ['collections/create', 'collections/delete', 'collections/update'];
|
||||||
const productWebhooks = ['products/create', 'products/delete', 'products/update'];
|
const productWebhooks = ['products/create', 'products/delete', 'products/update'];
|
||||||
const topic = headers().get('x-shopify-topic') || 'unknown';
|
const topic = headers().get('x-shopify-topic') || 'unknown';
|
||||||
|
console.log(`Receiving revalidation request with topic.`, { topic });
|
||||||
|
|
||||||
const secret = req.nextUrl.searchParams.get('secret');
|
const secret = req.nextUrl.searchParams.get('secret');
|
||||||
const isCollectionUpdate = collectionWebhooks.includes(topic);
|
const isCollectionUpdate = collectionWebhooks.includes(topic);
|
||||||
const isProductUpdate = productWebhooks.includes(topic);
|
const isProductUpdate = productWebhooks.includes(topic);
|
||||||
|
@ -1,5 +1,10 @@
|
|||||||
/** @type {import('next').NextConfig} */
|
/** @type {import('next').NextConfig} */
|
||||||
module.exports = {
|
module.exports = {
|
||||||
|
logging: {
|
||||||
|
fetches: {
|
||||||
|
fullUrl: true
|
||||||
|
}
|
||||||
|
},
|
||||||
eslint: {
|
eslint: {
|
||||||
// Disabling on production builds because we're running checks on PRs via GitHub Actions.
|
// Disabling on production builds because we're running checks on PRs via GitHub Actions.
|
||||||
ignoreDuringBuilds: true
|
ignoreDuringBuilds: true
|
||||||
|
Loading…
x
Reference in New Issue
Block a user