From dd6767980ae9e145d4af607caeca9776e204cb2a Mon Sep 17 00:00:00 2001 From: caitlin Date: Thu, 2 Jul 2026 16:04:53 +0200 Subject: [PATCH 1/4] search button theme fix in ai assistant --- src/components/ai/job-selector.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/ai/job-selector.tsx b/src/components/ai/job-selector.tsx index 018c9d4..fa00790 100644 --- a/src/components/ai/job-selector.tsx +++ b/src/components/ai/job-selector.tsx @@ -59,7 +59,7 @@ export function JobSelector({ onSelect, onSearch, searching }: JobSelectorProps) key={i} type="button" onClick={() => handleSelect(job)} - className="w-full text-left px-4 py-3 text-sm text-muted-foreground hover:bg-muted hover:text-foreground transition-all duration-150 border-b border-border/20 last:border-0 border-l-2 border-l-transparent hover:border-l-primary/40" + className="w-full text-left px-4 py-3 text-sm text-muted-foreground hover:bg-muted hover:text-foreground transition-all duration-150 border-b border-border/20 last:border-b-0 border-l-2 border-l-transparent hover:border-l-primary/40" >
{job.job_title}
{job.industry} — {job.description}
@@ -76,7 +76,7 @@ export function JobSelector({ onSelect, onSearch, searching }: JobSelectorProps) type="button" onClick={() => onSearch(selected)} disabled={searching} - className="w-full flex items-center justify-center gap-2 mt-3 bg-gradient-to-r from-[#f97316] to-[#ea580c] hover:from-[#ea580c] hover:to-[#dc2626] disabled:opacity-50 disabled:cursor-not-allowed text-white text-sm font-semibold rounded-xl px-4 py-3 transition-all duration-200 shadow-lg shadow-[#f97316]/20" + className="w-full flex items-center justify-center gap-2 mt-3 bg-primary hover:bg-primary/90 disabled:opacity-50 disabled:cursor-not-allowed text-primary-foreground text-sm font-semibold rounded-xl px-4 py-3 transition-all duration-200 shadow-lg shadow-primary/20" > {searching ? : } {searching ? "Searching..." : "Search Facebook"} From da99b695bec52817768705486b2be2c8fc398b61 Mon Sep 17 00:00:00 2001 From: Hannah Bagga Date: Fri, 3 Jul 2026 16:05:03 +0200 Subject: [PATCH 2/4] just some things i needed to get back into the CRM --- eslint.config.mjs | 4 ++-- package-lock.json | 53 ++++++++++++++++++++++++++++++-------------- package.json | 13 ++++++----- scripts/precheck.mjs | 7 +++--- 4 files changed, 48 insertions(+), 29 deletions(-) diff --git a/eslint.config.mjs b/eslint.config.mjs index 05e726d..a8a2835 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -1,6 +1,6 @@ import { defineConfig, globalIgnores } from "eslint/config"; -import nextVitals from "eslint-config-next/core-web-vitals"; -import nextTs from "eslint-config-next/typescript"; +import nextVitals from "eslint-config-next/core-web-vitals.js"; +import nextTs from "eslint-config-next/typescript.js"; const eslintConfig = defineConfig([ ...nextVitals, diff --git a/package-lock.json b/package-lock.json index cd5ac47..f87c4b7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,7 @@ "dependencies": { "@emoji-mart/data": "^1.2.1", "@emoji-mart/react": "^1.1.1", - "@hookform/resolvers": "^3.9.1", + "@hookform/resolvers": "^5.4.0", "@radix-ui/react-alert-dialog": "^1.1.6", "@radix-ui/react-avatar": "^1.1.3", "@radix-ui/react-checkbox": "^1.1.4", @@ -32,7 +32,6 @@ "bcryptjs": "^3.0.3", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", - "devenv": "^1.0.1", "dotenv": "^17.4.2", "framer-motion": "^11.15.0", "jose": "^6.2.3", @@ -53,12 +52,14 @@ "zod": "^3.24.2" }, "devDependencies": { - "@types/node": "^20", - "@types/nodemailer": "^8.0.1", + "@next/swc-win32-x64-msvc": "^15.0.4", + "@types/node": "20.19.43", + "@types/nodemailer": "8.0.1", "@types/pg": "^8.20.0", - "@types/react": "^18", - "@types/react-dom": "^18", + "@types/react": "18.3.31", + "@types/react-dom": "18.3.7", "concurrently": "^10.0.3", + "devenv": "1.0.1", "eslint": "^9", "eslint-config-next": "15.0.4", "maildev": "^2.2.1", @@ -423,11 +424,15 @@ "integrity": "sha512-RiB/yIh78pcIxl6lLMG0CgBXAZ2Y0eVHqMPYugu+9U0AeT6YBeiJpf7lbdJNIugFP5SIjwNRgo4DhR1Qxi26Gg==" }, "node_modules/@hookform/resolvers": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/@hookform/resolvers/-/resolvers-3.10.0.tgz", - "integrity": "sha512-79Dv+3mDF7i+2ajj7SkypSKHhl1cbln1OGavqrsF7p6mbUv11xpqpacPsGDCTRvCSjEEIez2ef1NveSVL3b0Ag==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@hookform/resolvers/-/resolvers-5.4.0.tgz", + "integrity": "sha512-EIsqr/t/qbinPIhGjMdtvutIN1Kk4uwbROE9/UQ93CAVGR7GkA7Y92+fX80OzXi/OB67jVFYwKGO1WzkxmkFZw==", + "license": "MIT", + "dependencies": { + "@standard-schema/utils": "^0.3.0" + }, "peerDependencies": { - "react-hook-form": "^7.0.0" + "react-hook-form": "^7.55.0" } }, "node_modules/@humanfs/core": { @@ -1012,7 +1017,8 @@ "cpu": [ "x64" ], - "optional": true, + "devOptional": true, + "license": "MIT", "os": [ "win32" ], @@ -1997,6 +2003,12 @@ "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz", "integrity": "sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==" }, + "node_modules/@standard-schema/utils": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@standard-schema/utils/-/utils-0.3.0.tgz", + "integrity": "sha512-e7Mew686owMaPJVNNLs55PUvgz371nKgwsc4vxE49zsODpJEnxgxRo2y/OKrqueavXgZNMDVj3DdHFlaSAeU8g==", + "license": "MIT" + }, "node_modules/@supabase/auth-js": { "version": "2.108.2", "resolved": "https://registry.npmjs.org/@supabase/auth-js/-/auth-js-2.108.2.tgz", @@ -2235,6 +2247,7 @@ "version": "20.19.43", "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.43.tgz", "integrity": "sha512-6oYBAi5ikg4Pl+kGsoYtawUMBT2zZMCvPNF7pVLnHZfd1zf38DRiWn/gT01RYCdUqkv7Fhr+C9ot4/tb+2sVvA==", + "license": "MIT", "dependencies": { "undici-types": "~6.21.0" } @@ -2244,6 +2257,7 @@ "resolved": "https://registry.npmjs.org/@types/nodemailer/-/nodemailer-8.0.1.tgz", "integrity": "sha512-PxpaInm8V1JQDd4j0ds5HfvWQk8JupS1C0Picb96QJsrrRDjBH+DlK7L4ZdNSqNULhiZRQHc40nLVShaGxXAMw==", "dev": true, + "license": "MIT", "dependencies": { "@types/node": "*" } @@ -2270,6 +2284,7 @@ "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.31.tgz", "integrity": "sha512-vfEqpXTvwT91yhmwdfouStN2hSKwTvyRs8qpLfADyrq/kxDw0hZM7Wk9Ug1FELj8hIby+S/+kQCSRFF32nv2Qw==", "devOptional": true, + "license": "MIT", "dependencies": { "@types/prop-types": "*", "csstype": "^3.2.2" @@ -2280,6 +2295,7 @@ "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.7.tgz", "integrity": "sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==", "devOptional": true, + "license": "MIT", "peerDependencies": { "@types/react": "^18.0.0" } @@ -4162,7 +4178,9 @@ "node_modules/devenv": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/devenv/-/devenv-1.0.1.tgz", - "integrity": "sha512-rVZiM5jIhjMrnquPZz5TYPRd/GY2bm42Q9zXvfu1pP2HE7chcke5Qt9d1LvfH+TcMXJRa18JoiN2TOTfQeTL9A==" + "integrity": "sha512-rVZiM5jIhjMrnquPZz5TYPRd/GY2bm42Q9zXvfu1pP2HE7chcke5Qt9d1LvfH+TcMXJRa18JoiN2TOTfQeTL9A==", + "dev": true, + "license": "ISC" }, "node_modules/didyoumean": { "version": "1.2.2", @@ -5186,12 +5204,13 @@ } }, "node_modules/framer-motion": { - "version": "11.18.2", - "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-11.18.2.tgz", - "integrity": "sha512-5F5Och7wrvtLVElIpclDT0CBzMVg3dL22B64aZwHtsIY8RB4mXICLrkajK4G9R+ieSAGcgrLeae2SeUTg2pr6w==", + "version": "11.15.0", + "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-11.15.0.tgz", + "integrity": "sha512-MLk8IvZntxOMg7lDBLw2qgTHHv664bYoYmnFTmE0Gm/FW67aOJk0WM3ctMcG+Xhcv+vh5uyyXwxvxhSeJzSe+w==", + "license": "MIT", "dependencies": { - "motion-dom": "^11.18.1", - "motion-utils": "^11.18.1", + "motion-dom": "^11.14.3", + "motion-utils": "^11.14.3", "tslib": "^2.4.0" }, "peerDependencies": { diff --git a/package.json b/package.json index a4777a3..deca650 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,7 @@ "dependencies": { "@emoji-mart/data": "^1.2.1", "@emoji-mart/react": "^1.1.1", - "@hookform/resolvers": "^3.9.1", + "@hookform/resolvers": "^5.4.0", "@radix-ui/react-alert-dialog": "^1.1.6", "@radix-ui/react-avatar": "^1.1.3", "@radix-ui/react-checkbox": "^1.1.4", @@ -48,7 +48,6 @@ "bcryptjs": "^3.0.3", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", - "devenv": "^1.0.1", "dotenv": "^17.4.2", "framer-motion": "^11.15.0", "jose": "^6.2.3", @@ -69,12 +68,14 @@ "zod": "^3.24.2" }, "devDependencies": { - "@types/node": "^20", - "@types/nodemailer": "^8.0.1", + "@next/swc-win32-x64-msvc": "^15.0.4", + "@types/node": "20.19.43", + "@types/nodemailer": "8.0.1", "@types/pg": "^8.20.0", - "@types/react": "^18", - "@types/react-dom": "^18", + "@types/react": "18.3.31", + "@types/react-dom": "18.3.7", "concurrently": "^10.0.3", + "devenv": "1.0.1", "eslint": "^9", "eslint-config-next": "15.0.4", "maildev": "^2.2.1", diff --git a/scripts/precheck.mjs b/scripts/precheck.mjs index 38943e3..e564f58 100644 --- a/scripts/precheck.mjs +++ b/scripts/precheck.mjs @@ -2,10 +2,9 @@ // Verifies all packages listed in package.json are installed. // Auto-runs npm install if any are missing — zero manual setup steps. -import { readFileSync } from "node:fs" +import { readFileSync, existsSync } from "node:fs" import { resolve, dirname } from "node:path" import { fileURLToPath } from "node:url" -import { createRequire } from "node:module" import { execSync } from "node:child_process" import { platform } from "node:os" @@ -15,10 +14,10 @@ const root = resolve(__dirname, "..") try { const pkg = JSON.parse(readFileSync(resolve(root, "package.json"), "utf8")) const allDeps = { ...pkg.dependencies, ...pkg.devDependencies } - const require = createRequire(import.meta.url) const missing = Object.keys(allDeps).filter(name => { - try { require.resolve(name, { paths: [root] }); return false } catch { return true } + const pkgDir = resolve(root, "node_modules", name) + return !existsSync(resolve(pkgDir, "package.json")) }) if (missing.length > 0) { From 80dee367e8cb7a7d73cb66ab5c556f46991471c1 Mon Sep 17 00:00:00 2001 From: Hannah_Bagga Date: Sun, 5 Jul 2026 21:54:39 +0200 Subject: [PATCH 3/4] fixed theme setting --- src/components/settings/theme-settings.tsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/components/settings/theme-settings.tsx b/src/components/settings/theme-settings.tsx index 412e08e..bac46ec 100644 --- a/src/components/settings/theme-settings.tsx +++ b/src/components/settings/theme-settings.tsx @@ -61,7 +61,8 @@ export function ThemeSettings() {