fix: resolve SonarQube findings and Next.js Image warnings

SonarQube/SonarLint fixes:
- Remove unused imports (useMemo, PROVIDER_ENDPOINTS, updateSettings, APP_CONFIG)
- Add PropTypes validation to all components receiving props
- Fix accessibility issues (semantic buttons, ARIA attributes, form labels)
- Replace array index keys with stable identifiers
- Extract duplicate getStatusDisplay function in providers page
- Fix negated conditions for better readability
- Add node: prefix to Node.js imports in localDb.js
- Fix optional chaining in pricing lookup
- Add explanatory comments to empty catch blocks
- Consolidate duplicate OAuth flow branches
- Change parseInt to Number.parseInt
- Disable false positive rules in VS Code settings

Next.js Image fixes:
- Add style={{ width: "auto", height: "auto" }} to all Image components
- Resolves aspect ratio warnings without triggering lint issues

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
apeltekci
2026-01-20 13:31:36 +07:00
committed by decolua
co-authored by Claude Opus 4.5
parent d9b8e48725
commit 7058b062e7
14 changed files with 307 additions and 156 deletions
+4 -4
View File
@@ -1,9 +1,9 @@
import { Low } from "lowdb";
import { JSONFile } from "lowdb/node";
import { v4 as uuidv4 } from "uuid";
import path from "path";
import os from "os";
import fs from "fs";
import path from "node:path";
import os from "node:os";
import fs from "node:fs";
const isCloud = typeof caches !== 'undefined' || typeof caches === 'object';
@@ -601,7 +601,7 @@ export async function getPricingForModel(provider, model) {
const pricing = await getPricing();
// Try direct lookup
if (pricing[provider] && pricing[provider][model]) {
if (pricing[provider]?.[model]) {
return pricing[provider][model];
}