feat: comprehensive Biome linting fixes and code quality improvements

Major code quality overhaul addressing 58% of all linting issues:

• Type Safety Improvements:
  - Replace all any types with proper TypeScript interfaces
  - Fix Map component shadowing (renamed to CountryMap)
  - Add comprehensive custom error classes system
  - Enhance API route type safety

• Accessibility Enhancements:
  - Add explicit button types to all interactive elements
  - Implement useId() hooks for form element accessibility
  - Add SVG title attributes for screen readers
  - Fix static element interactions with keyboard handlers

• React Best Practices:
  - Resolve exhaustive dependencies warnings with useCallback
  - Extract nested component definitions to top level
  - Fix array index keys with proper unique identifiers
  - Improve component organization and prop typing

• Code Organization:
  - Automatic import organization and type import optimization
  - Fix unused function parameters and variables
  - Enhanced error handling with structured error responses
  - Improve component reusability and maintainability

Results: 248 → 104 total issues (58% reduction)
- Fixed all critical type safety and security issues
- Enhanced accessibility compliance significantly
- Improved code maintainability and performance
This commit is contained in:
2025-06-29 07:35:45 +02:00
parent 831f344361
commit 93fbb44eec
118 changed files with 1445 additions and 938 deletions

View File

@ -1,8 +1,8 @@
// Main app layout with basic global style
import "./globals.css";
import { ReactNode } from "react";
import { Providers } from "./providers";
import type { ReactNode } from "react";
import { Toaster } from "@/components/ui/sonner";
import { Providers } from "./providers";
export const metadata = {
title: "LiveDash - AI-Powered Customer Conversation Analytics",
@ -10,7 +10,7 @@ export const metadata = {
"Transform customer conversations into actionable insights with advanced AI sentiment analysis, automated categorization, and real-time analytics. Turn every conversation into competitive intelligence.",
keywords: [
"customer analytics",
"AI sentiment analysis",
"AI sentiment analysis",
"conversation intelligence",
"customer support analytics",
"chat analytics",
@ -21,7 +21,7 @@ export const metadata = {
"AI customer intelligence",
"automated categorization",
"real-time analytics",
"customer conversation dashboard"
"customer conversation dashboard",
],
authors: [{ name: "Notso AI" }],
creator: "Notso AI",
@ -31,33 +31,37 @@ export const metadata = {
address: false,
telephone: false,
},
metadataBase: new URL(process.env.NEXTAUTH_URL || 'https://livedash.notso.ai'),
metadataBase: new URL(
process.env.NEXTAUTH_URL || "https://livedash.notso.ai"
),
alternates: {
canonical: '/',
canonical: "/",
},
openGraph: {
title: "LiveDash - AI-Powered Customer Conversation Analytics",
description: "Transform customer conversations into actionable insights with advanced AI sentiment analysis, automated categorization, and real-time analytics. Turn every conversation into competitive intelligence.",
description:
"Transform customer conversations into actionable insights with advanced AI sentiment analysis, automated categorization, and real-time analytics. Turn every conversation into competitive intelligence.",
type: "website",
siteName: "LiveDash",
url: "/",
locale: 'en_US',
locale: "en_US",
images: [
{
url: '/og-image.png',
url: "/og-image.png",
width: 1200,
height: 630,
alt: 'LiveDash - AI-Powered Customer Conversation Analytics Platform',
}
alt: "LiveDash - AI-Powered Customer Conversation Analytics Platform",
},
],
},
twitter: {
card: "summary_large_image",
title: "LiveDash - AI-Powered Customer Conversation Analytics",
description: "Transform customer conversations into actionable insights with advanced AI sentiment analysis, automated categorization, and real-time analytics.",
description:
"Transform customer conversations into actionable insights with advanced AI sentiment analysis, automated categorization, and real-time analytics.",
creator: "@notsoai",
site: "@notsoai",
images: ['/og-image.png'],
images: ["/og-image.png"],
},
robots: {
index: true,
@ -65,9 +69,9 @@ export const metadata = {
googleBot: {
index: true,
follow: true,
'max-video-preview': -1,
'max-image-preview': 'large',
'max-snippet': -1,
"max-video-preview": -1,
"max-image-preview": "large",
"max-snippet": -1,
},
},
icons: {
@ -79,41 +83,42 @@ export const metadata = {
},
manifest: "/manifest.json",
other: {
'msapplication-TileColor': '#2563eb',
'theme-color': '#ffffff',
"msapplication-TileColor": "#2563eb",
"theme-color": "#ffffff",
},
};
export default function RootLayout({ children }: { children: ReactNode }) {
const jsonLd = {
'@context': 'https://schema.org',
'@type': 'SoftwareApplication',
name: 'LiveDash',
description: 'Transform customer conversations into actionable insights with advanced AI sentiment analysis, automated categorization, and real-time analytics.',
url: process.env.NEXTAUTH_URL || 'https://livedash.notso.ai',
"@context": "https://schema.org",
"@type": "SoftwareApplication",
name: "LiveDash",
description:
"Transform customer conversations into actionable insights with advanced AI sentiment analysis, automated categorization, and real-time analytics.",
url: process.env.NEXTAUTH_URL || "https://livedash.notso.ai",
author: {
'@type': 'Organization',
name: 'Notso AI',
"@type": "Organization",
name: "Notso AI",
},
applicationCategory: 'Business Analytics Software',
operatingSystem: 'Web Browser',
applicationCategory: "Business Analytics Software",
operatingSystem: "Web Browser",
offers: {
'@type': 'Offer',
category: 'SaaS',
"@type": "Offer",
category: "SaaS",
},
aggregateRating: {
'@type': 'AggregateRating',
ratingValue: '4.8',
ratingCount: '150',
"@type": "AggregateRating",
ratingValue: "4.8",
ratingCount: "150",
},
featureList: [
'AI-powered sentiment analysis',
'Automated conversation categorization',
'Real-time analytics dashboard',
'Multi-language support',
'Custom AI model integration',
'Enterprise-grade security'
]
"AI-powered sentiment analysis",
"Automated conversation categorization",
"Real-time analytics dashboard",
"Multi-language support",
"Custom AI model integration",
"Enterprise-grade security",
],
};
return (