From cfdc043a5f0e136a46c0c91ace23d694d5376b76 Mon Sep 17 00:00:00 2001 From: Zubair Mughal Date: Sun, 24 Mar 2024 12:32:31 -0500 Subject: [PATCH] initial setup navbar styling --- .env.example | 7 --- .vscode/settings.json | 6 +-- README.md | 19 -------- app/favicon.ico | Bin 15086 -> 13632 bytes app/page.tsx | 2 +- app/product/layout.tsx | 12 +++++ components/cart/open-cart.tsx | 4 +- components/icons/logo.svg | 9 ++++ components/layout/navbar/index.tsx | 74 ++++++++++++++-------------- components/logo-square.tsx | 25 ++++------ lib/constants.ts | 2 +- package.json | 2 +- pnpm-lock.yaml | 75 +++++++++++++++-------------- tailwind.config.js | 26 +++++++++- 14 files changed, 141 insertions(+), 122 deletions(-) delete mode 100644 .env.example create mode 100644 app/product/layout.tsx create mode 100644 components/icons/logo.svg diff --git a/.env.example b/.env.example deleted file mode 100644 index 9ff0463db..000000000 --- a/.env.example +++ /dev/null @@ -1,7 +0,0 @@ -COMPANY_NAME="Vercel Inc." -TWITTER_CREATOR="@vercel" -TWITTER_SITE="https://nextjs.org/commerce" -SITE_NAME="Next.js Commerce" -SHOPIFY_REVALIDATION_SECRET="" -SHOPIFY_STOREFRONT_ACCESS_TOKEN="" -SHOPIFY_STORE_DOMAIN="[your-shopify-store-subdomain].myshopify.com" diff --git a/.vscode/settings.json b/.vscode/settings.json index 3fbb4ab25..8345c107c 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -2,8 +2,8 @@ "typescript.tsdk": "node_modules/typescript/lib", "typescript.enablePromptUseWorkspaceTsdk": true, "editor.codeActionsOnSave": { - "source.fixAll": true, - "source.organizeImports": true, - "source.sortMembers": true + "source.fixAll": "explicit", + "source.organizeImports": "explicit", + "source.sortMembers": "explicit" } } diff --git a/README.md b/README.md index 981685d2b..3ea36191a 100644 --- a/README.md +++ b/README.md @@ -26,15 +26,6 @@ Vercel will only be actively maintaining a Shopify version [as outlined in our v Vercel is happy to partner and work with any commerce provider to help them get a similar template up and running and listed below. Alternative providers should be able to fork this repository and swap out the `lib/shopify` file with their own implementation while leaving the rest of the template mostly unchanged. - Shopify (this repository) -- [BigCommerce](https://github.com/bigcommerce/nextjs-commerce) ([Demo](https://next-commerce-v2.vercel.app/)) -- [Medusa](https://github.com/medusajs/vercel-commerce) ([Demo](https://medusa-nextjs-commerce.vercel.app/)) -- [Saleor](https://github.com/saleor/nextjs-commerce) ([Demo](https://saleor-commerce.vercel.app/)) -- [Shopware](https://github.com/shopwareLabs/vercel-commerce) ([Demo](https://shopware-vercel-commerce-react.vercel.app/)) -- [Swell](https://github.com/swellstores/verswell-commerce) ([Demo](https://verswell-commerce.vercel.app/)) -- [Umbraco](https://github.com/umbraco/Umbraco.VercelCommerce.Demo) ([Demo](https://vercel-commerce-demo.umbraco.com/)) -- [Wix](https://github.com/wix/nextjs-commerce) ([Demo](https://wix-nextjs-commerce.vercel.app/)) - -> Note: Providers, if you are looking to use similar products for your demo, you can [download these assets](https://drive.google.com/file/d/1q_bKerjrwZgHwCw0ovfUMW6He9VtepO_/view?usp=sharing). ## Integrations @@ -61,16 +52,6 @@ pnpm dev Your app should now be running on [localhost:3000](http://localhost:3000/). -
- Expand if you work at Vercel and want to run locally and / or contribute - -1. Run `vc link`. -1. Select the `Vercel Solutions` scope. -1. Connect to the existing `commerce-shopify` project. -1. Run `vc env pull` to get environment variables. -1. Run `pnpm dev` to ensure everything is working correctly. -
- ## Vercel, Next.js Commerce, and Shopify Integration Guide You can use this comprehensive [integration guide](http://vercel.com/docs/integrations/shopify) with step-by-step instructions on how to configure Shopify as a headless CMS using Next.js Commerce as your headless Shopify storefront on Vercel. diff --git a/app/favicon.ico b/app/favicon.ico index dc7d8431e47ee24c71eebaffe30786769b348353..b5c7011204225db61ce4e2d452be8fd4e66dd78b 100644 GIT binary patch literal 13632 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 SaR`V20000g}%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 + {children} + + ); +} diff --git a/components/cart/open-cart.tsx b/components/cart/open-cart.tsx index fa8226ab5..62c701a4d 100644 --- a/components/cart/open-cart.tsx +++ b/components/cart/open-cart.tsx @@ -9,9 +9,9 @@ export default function OpenCart({ quantity?: number; }) { return ( -
+
{quantity ? ( diff --git a/components/icons/logo.svg b/components/icons/logo.svg new file mode 100644 index 000000000..3b117f4ff --- /dev/null +++ b/components/icons/logo.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/components/layout/navbar/index.tsx b/components/layout/navbar/index.tsx index 0058d5ec8..ff7c8da58 100644 --- a/components/layout/navbar/index.tsx +++ b/components/layout/navbar/index.tsx @@ -6,49 +6,53 @@ import { Menu } from 'lib/shopify/types'; import Link from 'next/link'; import { Suspense } from 'react'; import MobileMenu from './mobile-menu'; -import Search from './search'; const { SITE_NAME } = process.env; export default async function Navbar() { const menu = await getMenu('next-js-frontend-header-menu'); return ( - + ); } diff --git a/components/logo-square.tsx b/components/logo-square.tsx index eccf5cba7..19453db14 100644 --- a/components/logo-square.tsx +++ b/components/logo-square.tsx @@ -1,22 +1,15 @@ -import clsx from 'clsx'; -import LogoIcon from './icons/logo'; +import Image from 'next/image'; +import SKLogo from './icons/logo.svg'; export default function LogoSquare({ size }: { size?: 'sm' | undefined }) { return ( -
- + Logo
); diff --git a/lib/constants.ts b/lib/constants.ts index 56bc6cd12..95bc95360 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/2024-01/graphql.json'; diff --git a/package.json b/package.json index 20453ceaf..42ca65187 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,7 @@ "@heroicons/react": "^2.0.18", "clsx": "^2.0.0", "geist": "^1.0.0", - "next": "14.0.0", + "next": "14.0.1", "react": "18.2.0", "react-dom": "18.2.0" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 98d0b7921..cac308aff 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -18,8 +18,8 @@ dependencies: specifier: ^1.0.0 version: 1.0.0 next: - specifier: 14.0.0 - version: 14.0.0(react-dom@18.2.0)(react@18.2.0) + specifier: 14.0.1 + version: 14.0.1(react-dom@18.2.0)(react@18.2.0) react: specifier: 18.2.0 version: 18.2.0 @@ -228,8 +228,8 @@ packages: '@jridgewell/sourcemap-codec': 1.4.15 dev: true - /@next/env@14.0.0: - resolution: {integrity: sha512-cIKhxkfVELB6hFjYsbtEeTus2mwrTC+JissfZYM0n+8Fv+g8ucUfOlm3VEDtwtwydZ0Nuauv3bl0qF82nnCAqA==} + /@next/env@14.0.1: + resolution: {integrity: sha512-Ms8ZswqY65/YfcjrlcIwMPD7Rg/dVjdLapMcSHG26W6O67EJDF435ShW4H4LXi1xKO1oRc97tLXUpx8jpLe86A==} dev: false /@next/eslint-plugin-next@14.0.0: @@ -242,8 +242,8 @@ packages: resolution: {integrity: sha512-urmUq05uCVJsBqAAJEV+xK5OTTodrSxdiG+351SOSjlWctywdBM6qX+K9pIe3K48RxjfnxlBbXjGyOJAji+pfw==} dev: false - /@next/swc-darwin-arm64@14.0.0: - resolution: {integrity: sha512-HQKi159jCz4SRsPesVCiNN6tPSAFUkOuSkpJsqYTIlbHLKr1mD6be/J0TvWV6fwJekj81bZV9V/Tgx3C2HO9lA==} + /@next/swc-darwin-arm64@14.0.1: + resolution: {integrity: sha512-JyxnGCS4qT67hdOKQ0CkgFTp+PXub5W1wsGvIq98TNbF3YEIN7iDekYhYsZzc8Ov0pWEsghQt+tANdidITCLaw==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] @@ -251,8 +251,8 @@ packages: dev: false optional: true - /@next/swc-darwin-x64@14.0.0: - resolution: {integrity: sha512-4YyQLMSaCgX/kgC1jjF3s3xSoBnwHuDhnF6WA1DWNEYRsbOOPWjcYhv8TKhRe2ApdOam+VfQSffC4ZD+X4u1Cg==} + /@next/swc-darwin-x64@14.0.1: + resolution: {integrity: sha512-625Z7bb5AyIzswF9hvfZWa+HTwFZw+Jn3lOBNZB87lUS0iuCYDHqk3ujuHCkiyPtSC0xFBtYDLcrZ11mF/ap3w==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] @@ -260,8 +260,8 @@ packages: dev: false optional: true - /@next/swc-linux-arm64-gnu@14.0.0: - resolution: {integrity: sha512-io7fMkJ28Glj7SH8yvnlD6naIhRDnDxeE55CmpQkj3+uaA2Hko6WGY2pT5SzpQLTnGGnviK85cy8EJ2qsETj/g==} + /@next/swc-linux-arm64-gnu@14.0.1: + resolution: {integrity: sha512-iVpn3KG3DprFXzVHM09kvb//4CNNXBQ9NB/pTm8LO+vnnnaObnzFdS5KM+w1okwa32xH0g8EvZIhoB3fI3mS1g==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -269,8 +269,8 @@ packages: dev: false optional: true - /@next/swc-linux-arm64-musl@14.0.0: - resolution: {integrity: sha512-nC2h0l1Jt8LEzyQeSs/BKpXAMe0mnHIMykYALWaeddTqCv5UEN8nGO3BG8JAqW/Y8iutqJsaMe2A9itS0d/r8w==} + /@next/swc-linux-arm64-musl@14.0.1: + resolution: {integrity: sha512-mVsGyMxTLWZXyD5sen6kGOTYVOO67lZjLApIj/JsTEEohDDt1im2nkspzfV5MvhfS7diDw6Rp/xvAQaWZTv1Ww==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -278,8 +278,8 @@ packages: dev: false optional: true - /@next/swc-linux-x64-gnu@14.0.0: - resolution: {integrity: sha512-Wf+WjXibJQ7hHXOdNOmSMW5bxeJHVf46Pwb3eLSD2L76NrytQlif9NH7JpHuFlYKCQGfKfgSYYre5rIfmnSwQw==} + /@next/swc-linux-x64-gnu@14.0.1: + resolution: {integrity: sha512-wMqf90uDWN001NqCM/auRl3+qVVeKfjJdT9XW+RMIOf+rhUzadmYJu++tp2y+hUbb6GTRhT+VjQzcgg/QTD9NQ==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -287,8 +287,8 @@ packages: dev: false optional: true - /@next/swc-linux-x64-musl@14.0.0: - resolution: {integrity: sha512-WTZb2G7B+CTsdigcJVkRxfcAIQj7Lf0ipPNRJ3vlSadU8f0CFGv/ST+sJwF5eSwIe6dxKoX0DG6OljDBaad+rg==} + /@next/swc-linux-x64-musl@14.0.1: + resolution: {integrity: sha512-ol1X1e24w4j4QwdeNjfX0f+Nza25n+ymY0T2frTyalVczUmzkVD7QGgPTZMHfR1aLrO69hBs0G3QBYaj22J5GQ==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -296,8 +296,8 @@ packages: dev: false optional: true - /@next/swc-win32-arm64-msvc@14.0.0: - resolution: {integrity: sha512-7R8/x6oQODmNpnWVW00rlWX90sIlwluJwcvMT6GXNIBOvEf01t3fBg0AGURNKdTJg2xNuP7TyLchCL7Lh2DTiw==} + /@next/swc-win32-arm64-msvc@14.0.1: + resolution: {integrity: sha512-WEmTEeWs6yRUEnUlahTgvZteh5RJc4sEjCQIodJlZZ5/VJwVP8p2L7l6VhzQhT4h7KvLx/Ed4UViBdne6zpIsw==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] @@ -305,8 +305,8 @@ packages: dev: false optional: true - /@next/swc-win32-ia32-msvc@14.0.0: - resolution: {integrity: sha512-RLK1nELvhCnxaWPF07jGU4x3tjbyx2319q43loZELqF0+iJtKutZ+Lk8SVmf/KiJkYBc7Cragadz7hb3uQvz4g==} + /@next/swc-win32-ia32-msvc@14.0.1: + resolution: {integrity: sha512-oFpHphN4ygAgZUKjzga7SoH2VGbEJXZa/KL8bHCAwCjDWle6R1SpiGOdUdA8EJ9YsG1TYWpzY6FTbUA+iAJeww==} engines: {node: '>= 10'} cpu: [ia32] os: [win32] @@ -314,8 +314,8 @@ packages: dev: false optional: true - /@next/swc-win32-x64-msvc@14.0.0: - resolution: {integrity: sha512-g6hLf1SUko+hnnaywQQZzzb3BRecQsoKkF3o/C+F+dOA4w/noVAJngUVkfwF0+2/8FzNznM7ofM6TGZO9svn7w==} + /@next/swc-win32-x64-msvc@14.0.1: + resolution: {integrity: sha512-FFp3nOJ/5qSpeWT0BZQ+YE1pSMk4IMpkME/1DwKBwhg4mJLB9L+6EXuJi4JEwaJdl5iN+UUlmUD3IsR1kx5fAg==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -752,6 +752,11 @@ packages: /caniuse-lite@1.0.30001554: resolution: {integrity: sha512-A2E3U//MBwbJVzebddm1YfNp7Nud5Ip+IPn4BozBmn4KqVX7AvluoIDFWjsv5OkGnKUXQVmMSoMKLa3ScCblcQ==} + dev: true + + /caniuse-lite@1.0.30001587: + resolution: {integrity: sha512-HMFNotUmLXn71BQxg8cijvqxnIAofforZOwGsxyXJ0qugTdspUF4sPSJ2vhgprHCB996tIDzEq1ubumPDV8ULA==} + dev: false /chalk@2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} @@ -2204,8 +2209,8 @@ packages: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} dev: true - /next@14.0.0(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-J0jHKBJpB9zd4+c153sair0sz44mbaCHxggs8ryVXSFBuBqJ8XdE9/ozoV85xGh2VnSjahwntBZZgsihL9QznA==} + /next@14.0.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-s4YaLpE4b0gmb3ggtmpmV+wt+lPRuGtANzojMQ2+gmBpgX9w5fTbjsy6dXByBuENsdCX5pukZH/GxdFgO62+pA==} engines: {node: '>=18.17.0'} hasBin: true peerDependencies: @@ -2219,25 +2224,25 @@ packages: sass: optional: true dependencies: - '@next/env': 14.0.0 + '@next/env': 14.0.1 '@swc/helpers': 0.5.2 busboy: 1.6.0 - caniuse-lite: 1.0.30001554 + caniuse-lite: 1.0.30001587 postcss: 8.4.31 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) styled-jsx: 5.1.1(react@18.2.0) watchpack: 2.4.0 optionalDependencies: - '@next/swc-darwin-arm64': 14.0.0 - '@next/swc-darwin-x64': 14.0.0 - '@next/swc-linux-arm64-gnu': 14.0.0 - '@next/swc-linux-arm64-musl': 14.0.0 - '@next/swc-linux-x64-gnu': 14.0.0 - '@next/swc-linux-x64-musl': 14.0.0 - '@next/swc-win32-arm64-msvc': 14.0.0 - '@next/swc-win32-ia32-msvc': 14.0.0 - '@next/swc-win32-x64-msvc': 14.0.0 + '@next/swc-darwin-arm64': 14.0.1 + '@next/swc-darwin-x64': 14.0.1 + '@next/swc-linux-arm64-gnu': 14.0.1 + '@next/swc-linux-arm64-musl': 14.0.1 + '@next/swc-linux-x64-gnu': 14.0.1 + '@next/swc-linux-x64-musl': 14.0.1 + '@next/swc-win32-arm64-msvc': 14.0.1 + '@next/swc-win32-ia32-msvc': 14.0.1 + '@next/swc-win32-x64-msvc': 14.0.1 transitivePeerDependencies: - '@babel/core' - babel-plugin-macros diff --git a/tailwind.config.js b/tailwind.config.js index eaf8db155..8c4588432 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -3,11 +3,33 @@ const plugin = require('tailwindcss/plugin'); /** @type {import('tailwindcss').Config} */ module.exports = { content: ['./app/**/*.{js,ts,jsx,tsx}', './components/**/*.{js,ts,jsx,tsx}'], + darkMode: false, theme: { extend: { - fontFamily: { - sans: ['var(--font-geist-sans)'] + colors: { + body: '#1B1B1B', + 'futura-color': '#073B4C', + 'custom-blue': '#0B80A7' }, + fontFamily: { + 'open-sans': ['Open Sans', 'sans-serif'], // add this line if not already present + futura: ['Futura', 'sans-serif'] + }, + fontSize: { + base: '1.5rem', // Tailwind's default for 'base' is 1rem, so you can name this size as you prefer + '2rem': '2rem' + }, + fontWeight: { + normal: '400', // Tailwind's default 'normal' is '400' + extrabold: '800' + }, + lineHeight: { + normal: '1.5' // 1.5 is the default value in Tailwind CSS for 'normal', you can adjust if necessary + }, + letterSpacing: { + custom: '0.04rem' + }, + keyframes: { fadeIn: { from: { opacity: 0 },