diff --git a/.eslintrc.js b/.eslintrc.js
index b3e65ae8c..59ed1e1f4 100644
--- a/.eslintrc.js
+++ b/.eslintrc.js
@@ -1,6 +1,6 @@
module.exports = {
- extends: ['next', 'prettier'],
- plugins: ['unicorn'],
+ extends: ['next', 'prettier', 'plugin:tailwindcss/recommended'],
+ plugins: ['unicorn', 'prettier', 'tailwindcss', 'unused-imports'],
rules: {
'no-unused-vars': [
'error',
@@ -18,6 +18,32 @@ module.exports = {
{
case: 'kebabCase'
}
+ ],
+ "prettier/prettier": "warn",
+ "@typescript-eslint/no-unused-vars": "off",
+ "unused-imports/no-unused-imports": "error",
+ "no-template-curly-in-string": "error",
+ "unused-imports/no-unused-vars": [
+ "warn",
+ {
+ "vars": "all",
+ "varsIgnorePattern": "^_",
+ "args": "after-used",
+ "argsIgnorePattern": "^_"
+ }
+ ]
+ },
+ "settings": {
+ "tailwindcss": {
+ "config": "./tailwind.config.js",
+ "callees": ["cx"]
+ },
+ "tailwindcss/classnames-order": [
+ true,
+ {
+ "callees": ["cx"],
+ "config": "./tailwind.config.js"
+ }
]
}
};
diff --git a/.vscode/settings.json b/.vscode/settings.json
index 3fbb4ab25..35e8e7691 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -3,6 +3,7 @@
"typescript.enablePromptUseWorkspaceTsdk": true,
"editor.codeActionsOnSave": {
"source.fixAll": true,
+ "source.addMissingImports": true,
"source.organizeImports": true,
"source.sortMembers": true
}
diff --git a/.yarn/cache/eslint-plugin-tailwindcss-npm-3.13.0-3743eff042-0ed226300b.zip b/.yarn/cache/eslint-plugin-tailwindcss-npm-3.13.0-3743eff042-0ed226300b.zip
new file mode 100644
index 000000000..12d0d4f66
Binary files /dev/null and b/.yarn/cache/eslint-plugin-tailwindcss-npm-3.13.0-3743eff042-0ed226300b.zip differ
diff --git a/.yarn/cache/eslint-plugin-unused-imports-npm-3.0.0-3e2e896a7c-51666f62cc.zip b/.yarn/cache/eslint-plugin-unused-imports-npm-3.0.0-3e2e896a7c-51666f62cc.zip
new file mode 100644
index 000000000..06b5d5c61
Binary files /dev/null and b/.yarn/cache/eslint-plugin-unused-imports-npm-3.0.0-3e2e896a7c-51666f62cc.zip differ
diff --git a/.yarn/cache/eslint-rule-composer-npm-0.3.0-0188afafaa-c2f57cded8.zip b/.yarn/cache/eslint-rule-composer-npm-0.3.0-0188afafaa-c2f57cded8.zip
new file mode 100644
index 000000000..8c6482449
Binary files /dev/null and b/.yarn/cache/eslint-rule-composer-npm-0.3.0-0188afafaa-c2f57cded8.zip differ
diff --git a/.yarn/cache/prettier-plugin-organize-imports-npm-3.2.3-7f40e110b3-e97dd707ce.zip b/.yarn/cache/prettier-plugin-organize-imports-npm-3.2.3-7f40e110b3-e97dd707ce.zip
new file mode 100644
index 000000000..e06752ebf
Binary files /dev/null and b/.yarn/cache/prettier-plugin-organize-imports-npm-3.2.3-7f40e110b3-e97dd707ce.zip differ
diff --git a/app/layout.tsx b/app/layout.tsx
index 7256fb488..b5aebc472 100644
--- a/app/layout.tsx
+++ b/app/layout.tsx
@@ -37,11 +37,13 @@ const inter = Inter({
export default async function RootLayout({ children }: { children: ReactNode }) {
return (
-
-
-
- {children}
-
+
+
+
+
+ {children}
+
+
);
diff --git a/app/page.tsx b/app/page.tsx
index 4e001326f..47d7c1604 100644
--- a/app/page.tsx
+++ b/app/page.tsx
@@ -1,6 +1,8 @@
import { Carousel } from 'components/carousel';
import { ThreeItemGrid } from 'components/grid/three-items';
import Footer from 'components/layout/footer';
+import Image from 'next/image';
+import Namemark from 'public/assets/images/namemark.png';
import { Suspense } from 'react';
export const runtime = 'edge';
@@ -15,6 +17,9 @@ export const metadata = {
export default async function HomePage() {
return (
<>
+
+
+
diff --git a/components/cart/open-cart.tsx b/components/cart/open-cart.tsx
index fa8226ab5..3164d3a5a 100644
--- a/components/cart/open-cart.tsx
+++ b/components/cart/open-cart.tsx
@@ -1,4 +1,4 @@
-import { ShoppingCartIcon } from '@heroicons/react/24/outline';
+import { ShoppingBagIcon } from '@heroicons/react/24/outline';
import clsx from 'clsx';
export default function OpenCart({
@@ -9,13 +9,17 @@ export default function OpenCart({
quantity?: number;
}) {
return (
-
-
+
{quantity ? (
-
+
{quantity}
) : null}
diff --git a/components/icons/logo.tsx b/components/icons/logo.tsx
index 46fa02464..234a1cbd7 100644
--- a/components/icons/logo.tsx
+++ b/components/icons/logo.tsx
@@ -1,16 +1,25 @@
-import clsx from 'clsx';
-
export default function LogoIcon(props: React.ComponentProps<'svg'>) {
return (
);
}
diff --git a/components/icons/menu.tsx b/components/icons/menu.tsx
new file mode 100644
index 000000000..1aeba9a54
--- /dev/null
+++ b/components/icons/menu.tsx
@@ -0,0 +1,18 @@
+export default function MenuIcon(props: React.ComponentProps<'svg'>) {
+ return (
+
+ );
+}
diff --git a/components/layout/footer.tsx b/components/layout/footer.tsx
index 918345bda..c5a150c0c 100644
--- a/components/layout/footer.tsx
+++ b/components/layout/footer.tsx
@@ -15,10 +15,10 @@ export default async function Footer() {
const copyrightName = COMPANY_NAME || SITE_NAME || '';
return (
-