Skip to content

Commit dc9b37b

Browse files
MaskedHunterclaude
authored andcommitted
fix: add .eslintrc.json and resolve all lint errors
- Add missing .eslintrc.json (CI was prompting interactively) - Fix conditional React hooks in seo-analyzer and neural-network - Remove invalid @typescript-eslint/no-explicit-any disable comments Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent c7047f1 commit dc9b37b

5 files changed

Lines changed: 13 additions & 5 deletions

File tree

.eslintrc.json

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"extends": "next/core-web-vitals",
3+
"rules": {
4+
"react/no-unescaped-entities": "off",
5+
"@next/next/no-img-element": "warn"
6+
}
7+
}

src/components/interactive/scroll-reveal.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@ interface StaggerRevealProps {
3939

4040
// ─── Animation Variants ─────────────────────────────────────────────────────
4141

42-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
4342
const variants: Record<AnimationVariant, { initial: any; animate: any }> = {
4443
"fade-up": {
4544
initial: { opacity: 0, y: 40 },

src/components/seo/json-ld.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ import type {
2525
// =============================================================================
2626
// Type-safe structured data using Google's schema-dts
2727

28-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
2928
export interface JsonLdProps {
3029
data: Record<string, any> | Record<string, any>[];
3130
}

src/components/seo/seo-analyzer.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,6 @@ export function SEOAnalyzer({
4545

4646
// Don't show in production unless explicitly enabled
4747
const isDev = process.env.NODE_ENV === "development";
48-
if (!isDev && !showInProduction) return null;
4948

5049
const runAnalysis = useCallback(() => {
5150
setIsAnalyzing(true);
@@ -334,6 +333,8 @@ export function SEOAnalyzer({
334333
}
335334
}, [isOpen, analysis, runAnalysis]);
336335

336+
if (!isDev && !showInProduction) return null;
337+
337338
const positionClasses = {
338339
"bottom-right": "bottom-4 right-4",
339340
"bottom-left": "bottom-4 left-4",

src/components/three/neural-network.tsx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -206,17 +206,19 @@ function TravelingImpulse({
206206
const fromNeuron = neurons.find((n) => n.id === impulse.from);
207207
const toNeuron = neurons.find((n) => n.id === impulse.to);
208208

209-
if (!fromNeuron || !toNeuron) return null;
210-
211209
const position = useMemo(() => {
210+
if (!fromNeuron || !toNeuron) return new THREE.Vector3();
212211
return fromNeuron.position.clone().lerp(toNeuron.position, impulse.progress);
213212
}, [fromNeuron, toNeuron, impulse.progress]);
214213

215214
const trailPosition = useMemo(() => {
215+
if (!fromNeuron || !toNeuron) return new THREE.Vector3();
216216
const trailProgress = Math.max(0, impulse.progress - 0.1);
217217
return fromNeuron.position.clone().lerp(toNeuron.position, trailProgress);
218218
}, [fromNeuron, toNeuron, impulse.progress]);
219219

220+
if (!fromNeuron || !toNeuron) return null;
221+
220222
return (
221223
<group>
222224
{/* Trail */}

0 commit comments

Comments
 (0)