From 99951328edb4362994d626dbd891c1fb7d4311c4 Mon Sep 17 00:00:00 2001 From: mstfyldz Date: Sun, 23 Aug 2026 01:51:51 +0300 Subject: [PATCH] fix(lint): resolve eslint warnings, type errors and clean unused code --- app/[lang]/HomeClient.tsx | 69 ++---------------------------- app/[lang]/galeri/GaleriClient.tsx | 3 +- app/[lang]/sss/SSSClient.tsx | 4 +- app/components/Footer.tsx | 5 ++- app/components/Navbar.tsx | 3 +- eslint.config.mjs | 1 + lib/auth.ts | 20 ++++++--- proxy.ts | 4 +- types/dictionary.ts | 3 ++ 9 files changed, 31 insertions(+), 81 deletions(-) create mode 100644 types/dictionary.ts diff --git a/app/[lang]/HomeClient.tsx b/app/[lang]/HomeClient.tsx index 4582cc2..90ca387 100644 --- a/app/[lang]/HomeClient.tsx +++ b/app/[lang]/HomeClient.tsx @@ -4,7 +4,7 @@ import { useState } from "react"; import Image from "next/image"; import { m, type Variants } from "framer-motion"; import Link from "next/link"; -import { Utensils, Umbrella, Home, Wind, Hotel, Star, MapPin, ArrowRight } from "lucide-react"; +import { MapPin, ArrowRight } from "lucide-react"; import { Button } from "@/app/components/ui/button"; import { SectionHeader } from "@/app/components/ui/section-header"; import { Marquee } from "@/app/components/ui/marquee"; @@ -12,6 +12,7 @@ import { AnimatedNumber } from "@/app/components/ui/animated-number"; import { TextReveal } from "@/app/components/ui/text-reveal"; import { ShimmerButton } from "@/app/components/ui/shimmer-button"; import { Badge } from "@/app/components/ui/badge"; +import type { Dictionary } from "@/types/dictionary"; const HERO_BG = "https://images.unsplash.com/photo-1499793983690-e29da59ef1c2?auto=format&fit=crop&q=80&w=2070"; @@ -33,70 +34,6 @@ const STATS = [ { value: 5, suffix: "", label: "Hizmet Kategorisi" }, ]; -const SERVICES = [ - { - id: "restaurant", - title: "Restaurant", - icon: Utensils, - desc: "Ege'nin taze lezzetleri, yerel malzemeler ve şef imzalı tatlar.", - bg: "https://images.unsplash.com/photo-1517248135467-4c7edcad34c4?auto=format&fit=crop&q=80&w=800", - }, - { - id: "beach", - title: "Beach Bar", - icon: Umbrella, - desc: "Altın kumlar, masmavi deniz ve özenle seçilmiş içecekler.", - bg: "https://images.unsplash.com/photo-1507525428034-b723cf961d3e?auto=format&fit=crop&q=80&w=800", - }, - { - id: "bungalow", - title: "Bungalov", - icon: Home, - desc: "Doğa ile iç içe, huzurlu ve modern konaklama deneyimi.", - bg: "https://images.unsplash.com/photo-1449844908441-8829872d2607?auto=format&fit=crop&q=80&w=800", - }, - { - id: "kitesurf", - title: "Kite Surf", - icon: Wind, - desc: "Rüzgarın enerjisini hissedin; başlangıç ve ileri seviye dersler.", - bg: "https://images.unsplash.com/photo-1526685514088-290076a0d426?auto=format&fit=crop&q=80&w=800", - }, - { - id: "hotel", - title: "Hotel", - icon: Hotel, - desc: "Premium konfor ve Ege'nin eşsiz manzarasıyla özel tatil.", - bg: "https://images.unsplash.com/photo-1566073771259-6a8506099945?auto=format&fit=crop&q=80&w=800", - }, -]; - - - -const TESTIMONIALS = [ - { - name: "Ayşe Y.", - origin: "İstanbul", - comment: - "Ege'de şimdiye kadar geçirdiğim en güzel tatildi. Hizmet kalitesi muazzamdı, her detay özenle düşünülmüş.", - rating: 5, - }, - { - name: "John S.", - origin: "London", - comment: - "The kite surfing instructors were incredibly professional. The location is breathtaking — I'll be back next summer.", - rating: 5, - }, - { - name: "Mehmet K.", - origin: "Ankara", - comment: - "Bungalovlar son derece huzurlu. Doğanın içindeyken şehrin konforundan hiç taviz vermiyorsunuz.", - rating: 5, - }, -]; - const fadeUp: Variants = { hidden: { opacity: 0, y: 30 }, visible: (i = 0) => ({ @@ -106,7 +43,7 @@ const fadeUp: Variants = { }), }; -export default function HomeClient({ lang, dict }: { lang: string; dict: any }) { +export default function HomeClient({ lang, dict }: { lang: string; dict: Dictionary["home"] }) { const [activeMap, setActiveMap] = useState(0); const VENUES: { id: string; title: string; tag: string; desc: string; img: string; color: string; link: string }[] = dict.venuesList; diff --git a/app/[lang]/galeri/GaleriClient.tsx b/app/[lang]/galeri/GaleriClient.tsx index ab7acfd..8afabc0 100644 --- a/app/[lang]/galeri/GaleriClient.tsx +++ b/app/[lang]/galeri/GaleriClient.tsx @@ -5,8 +5,9 @@ import Image from "next/image"; import { m, AnimatePresence } from "framer-motion"; import { X, ZoomIn } from "lucide-react"; import { Badge } from "@/app/components/ui/badge"; +import type { Dictionary } from "@/types/dictionary"; -export default function GaleriClient({ lang, dict }: { lang: string; dict: any }) { +export default function GaleriClient({ dict }: { lang?: string; dict: Dictionary }) { const t = dict.gallery; const CATEGORIES = [t.all, t.venues, "Beach", "Bungalov", "Kite Surf", "Hotel"] as const; diff --git a/app/[lang]/sss/SSSClient.tsx b/app/[lang]/sss/SSSClient.tsx index 37f21db..130359f 100644 --- a/app/[lang]/sss/SSSClient.tsx +++ b/app/[lang]/sss/SSSClient.tsx @@ -3,8 +3,8 @@ import { useState } from "react"; import { m, AnimatePresence } from "framer-motion"; import { Plus, Minus } from "lucide-react"; -import { SectionHeader } from "@/app/components/ui/section-header"; import { Badge } from "@/app/components/ui/badge"; +import type { Dictionary } from "@/types/dictionary"; function FaqItem({ q, a }: { q: string; a: string }) { const [open, setOpen] = useState(false); @@ -41,7 +41,7 @@ function FaqItem({ q, a }: { q: string; a: string }) { ); } -export default function SSSClient({ lang, dict }: { lang: string; dict: any }) { +export default function SSSClient({ dict }: { lang?: string; dict: Dictionary }) { const t = dict.faq; const FAQS = [ diff --git a/app/components/Footer.tsx b/app/components/Footer.tsx index 55b9018..4c4a850 100644 --- a/app/components/Footer.tsx +++ b/app/components/Footer.tsx @@ -1,9 +1,10 @@ import Link from "next/link"; import Image from "next/image"; -import { MapPin, Phone, Mail } from "lucide-react"; +import { MapPin } from "lucide-react"; import { Locale } from "../dictionaries"; +import type { Dictionary } from "@/types/dictionary"; -export default function Footer({ lang, dict }: { lang: Locale; dict: any }) { +export default function Footer({ lang, dict }: { lang: Locale; dict: Dictionary["footer"] }) { return (