diff --git a/src/app/(auth)/verify/actions.ts b/src/app/(auth)/verify/actions.ts index df654e9..4c8dae8 100644 --- a/src/app/(auth)/verify/actions.ts +++ b/src/app/(auth)/verify/actions.ts @@ -6,7 +6,6 @@ import { OTPTemplate } from "@/components/emails/otp-template" import { verifyCaptcha } from "@/lib/captcha" import { checkRateLimit, incrementRateLimit, logActivity } from '@/lib/security' import { cookies } from "next/headers" -import { redirect } from "next/navigation" import { compare } from 'bcryptjs' diff --git a/src/app/(auth)/verify/page.tsx b/src/app/(auth)/verify/page.tsx index f8bf95a..24a1cec 100644 --- a/src/app/(auth)/verify/page.tsx +++ b/src/app/(auth)/verify/page.tsx @@ -18,7 +18,7 @@ export default function VerifyPage() { const [isLoading, setIsLoading] = useState(false) const [isResending, setIsResending] = useState(false) const router = useRouter() - const captchaRef = useRef(null) + const captchaRef = useRef<{ reset: () => void }>(null) const handleVerify = async (e: React.FormEvent) => { e.preventDefault() diff --git a/src/app/dashboard/reservations/[id]/actions.ts b/src/app/dashboard/reservations/[id]/actions.ts index 800ce90..a1352ad 100644 --- a/src/app/dashboard/reservations/[id]/actions.ts +++ b/src/app/dashboard/reservations/[id]/actions.ts @@ -4,8 +4,6 @@ import { createClient } from "@/lib/supabase/server" import { revalidatePath } from "next/cache" import { logAction } from "@/lib/logger" -import { sendEmail } from "@/lib/email" -import { ReservationCancelledTemplate } from "@/components/emails/reservation-cancelled-template" export async function addPayment(reservationId: string, formData: FormData) { const supabase = await createClient() diff --git a/src/app/dashboard/reservations/new/actions.ts b/src/app/dashboard/reservations/new/actions.ts index 105093d..bbf3656 100644 --- a/src/app/dashboard/reservations/new/actions.ts +++ b/src/app/dashboard/reservations/new/actions.ts @@ -4,8 +4,6 @@ import { createClient } from "@/lib/supabase/server" import { revalidatePath } from "next/cache" import { redirect } from "next/navigation" import { logAction } from "@/lib/logger" -import { sendEmail } from "@/lib/email" -import { ReservationCreatedTemplate } from "@/components/emails/reservation-created-template" export async function createReservation(data: { hall_id: string diff --git a/src/app/dashboard/settings/logs/log-tabs.tsx b/src/app/dashboard/settings/logs/log-tabs.tsx index e099f7a..1c83cc9 100644 --- a/src/app/dashboard/settings/logs/log-tabs.tsx +++ b/src/app/dashboard/settings/logs/log-tabs.tsx @@ -14,14 +14,14 @@ import { Badge } from "@/components/ui/badge" import { Button } from "@/components/ui/button" interface LogTabsProps { - auditLogs: any[] - securityLogs: any[] + auditLogs: Record[] + securityLogs: Record[] } export function LogTabs({ auditLogs, securityLogs }: LogTabsProps) { const [activeTab, setActiveTab] = useState<'business' | 'security'>('business') - const getSecurityBadgeColor = (type: string) => { + const getSecurityBadgeColor = (type: string): "default" | "destructive" | "secondary" | "outline" => { switch (type) { case 'login_success': return 'default' case 'login_failed': return 'destructive' @@ -79,7 +79,8 @@ export function LogTabs({ auditLogs, securityLogs }: LogTabsProps) { - {auditLogs?.map((log) => ( + {/* eslint-disable-next-line @typescript-eslint/no-explicit-any */} + {auditLogs?.map((log: any) => ( {new Date(log.created_at).toLocaleString('tr-TR')} {log.action} @@ -121,11 +122,12 @@ export function LogTabs({ auditLogs, securityLogs }: LogTabsProps) { - {securityLogs?.map((log) => ( + {/* eslint-disable-next-line @typescript-eslint/no-explicit-any */} + {securityLogs?.map((log: any) => ( {new Date(log.created_at).toLocaleString('tr-TR')} - + {formatSecurityEvent(log.event_type)} diff --git a/src/lib/captcha.ts b/src/lib/captcha.ts index b6d65db..7056e71 100644 --- a/src/lib/captcha.ts +++ b/src/lib/captcha.ts @@ -1,4 +1,4 @@ -import { createHmac, randomBytes } from 'crypto' +import { createHmac } from 'crypto' export interface CaptchaData { image: string // SVG string diff --git a/src/lib/security.ts b/src/lib/security.ts index 84c5a2e..ee3cbb2 100644 --- a/src/lib/security.ts +++ b/src/lib/security.ts @@ -7,7 +7,7 @@ export type SecurityEventType = 'login_success' | 'login_failed' | 'otp_sent' | export async function logActivity( userId: string | null, eventType: SecurityEventType, - details: Record = {} + details: Record = {} ) { try { // Use Admin Client to bypass RLS for inserting logs @@ -35,7 +35,6 @@ export async function logActivity( export async function checkRateLimit(action: string): Promise<{ blocked: boolean, remaining?: number, resetTime?: Date }> { const MAX_ATTEMPTS = 5 - const WINDOW_MINUTES = 10 try { const supabase = await createAdminClient() || await createClient()