diff --git a/eslint.config.mjs b/eslint.config.mjs index f311531..cc1dfc0 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -16,33 +16,49 @@ const eslintConfig = [ "indent": ["error", 2], "eol-last": ["error", "always"], "no-unused-vars": "off", - "@typescript-eslint/no-unused-vars": ["error", { - "argsIgnorePattern": "^_", - }], "no-trailing-spaces": "error", "no-multiple-empty-lines": "error", "no-irregular-whitespace": "error", - "react-hooks/rules-of-hooks": "error", - "react-hooks/exhaustive-deps": "error", "semi": ["error", "always"], "object-curly-spacing": ["error", "always"], "array-bracket-spacing": ["error", "never"], + // "comma-dangle": ["error", "always-multiline"], + "comma-spacing": ["error", { + "before": false, + "after": true, + }], + "keyword-spacing": "error", + "space-before-blocks": "error", "quotes": ["error", "double"], + "arrow-spacing": ["error", { + before: true, + after: true, + }], + "jsx-quotes": ["error", "prefer-double"], - "@typescript-eslint/no-empty-object-type": "off" + "react/jsx-tag-spacing": ["error", { + "beforeSelfClosing": "always", + }], + "react-hooks/rules-of-hooks": "error", + "react-hooks/exhaustive-deps": "error", + + "@typescript-eslint/no-empty-object-type": "off", + "@typescript-eslint/no-unused-vars": ["error", { + "argsIgnorePattern": "^_", + }], }, ignores: [ "src/app/(payload)/**", - ] + ], }, { files: ["src/migrations/*"], rules: { "@typescript-eslint/no-unused-vars": "off", "no-unused-vars": "off", - "quotes": "off" - } - } + "quotes": "off", + }, + }, ]; export default eslintConfig; diff --git a/package-lock.json b/package-lock.json index 4f6df40..71c8daf 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,6 +16,7 @@ "@vercel/analytics": "^1.5.0", "@vercel/speed-insights": "^1.2.0", "graphql": "^16.10.0", + "jotai": "^2.13.0", "next": "15.3.3", "payload": "^3.41.0", "react": "^19.0.0", @@ -7544,6 +7545,35 @@ "url": "https://github.com/sponsors/panva" } }, + "node_modules/jotai": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/jotai/-/jotai-2.13.0.tgz", + "integrity": "sha512-H43zXdanNTdpfOEJ4NVbm4hgmrctpXLZagjJNcqAywhUv+sTE7esvFjwm5oBg/ywT9Qw63lIkM6fjrhFuW8UDg==", + "license": "MIT", + "engines": { + "node": ">=12.20.0" + }, + "peerDependencies": { + "@babel/core": ">=7.0.0", + "@babel/template": ">=7.0.0", + "@types/react": ">=17.0.0", + "react": ">=17.0.0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "@babel/template": { + "optional": true + }, + "@types/react": { + "optional": true + }, + "react": { + "optional": true + } + } + }, "node_modules/joycon": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/joycon/-/joycon-3.1.1.tgz", diff --git a/package.json b/package.json index 2aa9b78..363b34a 100644 --- a/package.json +++ b/package.json @@ -19,6 +19,7 @@ "@vercel/analytics": "^1.5.0", "@vercel/speed-insights": "^1.2.0", "graphql": "^16.10.0", + "jotai": "^2.13.0", "next": "15.3.3", "payload": "^3.41.0", "react": "^19.0.0", diff --git a/src/app/(frontend)/blogs/[slug]/page.tsx b/src/app/(frontend)/blogs/[slug]/page.tsx index c503096..066932b 100644 --- a/src/app/(frontend)/blogs/[slug]/page.tsx +++ b/src/app/(frontend)/blogs/[slug]/page.tsx @@ -10,9 +10,9 @@ const Blog = async ({ params } : {params: Promise<{slug: string}>}) => { collection: "blogs", select: { metadata: { slug: true }, - content: { title: true, body: true } + content: { title: true, body: true }, }, - where: { "metadata.slug": { "equals": slug } } + where: { "metadata.slug": { "equals": slug } }, }); const content = post.docs[0].content; diff --git a/src/app/(frontend)/blogs/page.tsx b/src/app/(frontend)/blogs/page.tsx index af7ce3e..97c0b55 100644 --- a/src/app/(frontend)/blogs/page.tsx +++ b/src/app/(frontend)/blogs/page.tsx @@ -7,7 +7,7 @@ const Blogs = async () => { collection: "blogs", select: { metadata: { slug: true }, - content: { title: true } + content: { title: true }, }, where: { _status: { equals: "published" } }, page: 1, diff --git a/src/app/(frontend)/contact/page.tsx b/src/app/(frontend)/contact/page.tsx index 6f3c2af..e5375fd 100644 --- a/src/app/(frontend)/contact/page.tsx +++ b/src/app/(frontend)/contact/page.tsx @@ -1,6 +1,7 @@ import Navbar from "@/components/Navbar"; import Footer from "@/components/Footer"; import ContactLinks from "@/components/ContactLinks"; +import DarkModeToggle from "@/components/DarkModeToggle"; const Contact = () => { return ( @@ -14,10 +15,11 @@ const Contact = () => {

connect or message me!

+