diff --git a/.claude/settings.local.json b/.claude/settings.local.json index 5a06cc7..3dfee79 100644 --- a/.claude/settings.local.json +++ b/.claude/settings.local.json @@ -39,7 +39,11 @@ "Bash(python3:*)", "Bash(for page in filaments resins paints dashboard)", "Bash(do echo -n \"$page: \")", - "Bash(done)" + "Bash(done)", + "Bash(gh run:*)", + "Bash(npx next lint:*)", + "Bash(npx eslint .)", + "Bash(echo:*)" ] } } diff --git a/eslint.config.mjs b/eslint.config.mjs index 05e726d..fb208bf 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -12,6 +12,9 @@ const eslintConfig = defineConfig([ "out/**", "build/**", "next-env.d.ts", + // Non-app scripts and seed — not part of Next.js build + "scripts/**", + "prisma/seed.ts", ]), ]); diff --git a/prisma/seed.ts b/prisma/seed.ts index dc9b3da..22fa5b4 100644 --- a/prisma/seed.ts +++ b/prisma/seed.ts @@ -33,7 +33,7 @@ async function main() { // Create regular user const userPassword = await hash("password123", 10); - const user = await prisma.user.upsert({ + const _user = await prisma.user.upsert({ where: { email: "user@dragonsstash.local" }, update: {}, create: { diff --git a/scripts/fetch-paint-data.ts b/scripts/fetch-paint-data.ts index c856927..5c6505c 100644 --- a/scripts/fetch-paint-data.ts +++ b/scripts/fetch-paint-data.ts @@ -161,9 +161,7 @@ function parseMarkdownTable(markdown: string, brandFile: string): PaintEntry[] { const nameIdx = 0; const codeIdx = hasCode ? 1 : -1; const setIdx = hasCode ? 2 : 1; - const rIdx = hasCode ? 3 : 2; - const gIdx = hasCode ? 4 : 3; - const bIdx = hasCode ? 5 : 4; + // RGB column indices (3-5 or 2-4) skipped — we use hex directly const hexIdx = hasCode ? 6 : 5; const entries: PaintEntry[] = []; diff --git a/src/app/(app)/vendors/_components/vendor-table.tsx b/src/app/(app)/vendors/_components/vendor-table.tsx index 14a39cc..cbaceeb 100644 --- a/src/app/(app)/vendors/_components/vendor-table.tsx +++ b/src/app/(app)/vendors/_components/vendor-table.tsx @@ -44,7 +44,7 @@ export function VendorTable({ data, pageCount, totalCount }: VendorTableProps) { const [deleteId, setDeleteId] = useState(null); const [searchValue, setSearchValue] = useState(searchParams.get("search") ?? ""); - const debouncedSearch = useDebounce(searchValue, 300); + const _debouncedSearch = useDebounce(searchValue, 300); // Update URL when search changes const updateSearch = (value: string) => { diff --git a/src/app/(auth)/login/page.tsx b/src/app/(auth)/login/page.tsx index e60fc65..883fc72 100644 --- a/src/app/(auth)/login/page.tsx +++ b/src/app/(auth)/login/page.tsx @@ -29,7 +29,7 @@ export default function LoginPage() { const [isPending, startTransition] = useTransition(); const form = useForm({ - resolver: zodResolver(loginSchema) as any, + resolver: zodResolver(loginSchema), defaultValues: { email: "", password: "" }, }); diff --git a/src/app/(auth)/register/page.tsx b/src/app/(auth)/register/page.tsx index a8e0f84..4f1d5e3 100644 --- a/src/app/(auth)/register/page.tsx +++ b/src/app/(auth)/register/page.tsx @@ -28,7 +28,7 @@ export default function RegisterPage() { const [isPending, startTransition] = useTransition(); const form = useForm({ - resolver: zodResolver(registerSchema) as any, + resolver: zodResolver(registerSchema), defaultValues: { name: "", email: "", password: "", confirmPassword: "" }, }); diff --git a/src/components/layout/user-menu.tsx b/src/components/layout/user-menu.tsx index b8de027..412000b 100644 --- a/src/components/layout/user-menu.tsx +++ b/src/components/layout/user-menu.tsx @@ -2,7 +2,7 @@ import { signOut, useSession } from "next-auth/react"; import Link from "next/link"; -import { LogOut, Settings, User } from "lucide-react"; +import { LogOut, Settings } from "lucide-react"; import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar"; import { DropdownMenu,