'use server' import { login } from '@/lib/auth' import prisma from '@/lib/prisma' import bcrypt from 'bcryptjs' import { redirect } from 'next/navigation' export async function authenticate(prevState: any, formData: FormData) { const username = formData.get('username') as string const password = formData.get('password') as string if (!username || !password) { return { error: 'Lütfen tüm alanları doldurun.' } } try { // Check user in database const user = await prisma.users.findUnique({ where: { username } }) if (!user) { return { error: 'Kullanıcı adı veya şifre hatalı.' } } const passwordsMatch = await bcrypt.compare(password, user.password_hash) if (!passwordsMatch) { return { error: 'Kullanıcı adı veya şifre hatalı.' } } await login(username) } catch (error) { console.error('Login error:', error) return { error: 'Bir hata oluştu, lütfen tekrar deneyin.' } } // Redirect to admin dashboard after successful login redirect('/admin') }