"use client"; import { useState, useEffect } from "react"; interface User { id: string; name: string; email: string; role: string; domains: string[]; } export default function UsersPage() { const [users, setUsers] = useState([]); const [loading, setLoading] = useState(true); const [search, setSearch] = useState(""); useEffect(() => { fetch("/api/users") .then((r) => r.json()) .then((data) => { setUsers(Array.isArray(data) ? data : []); setLoading(false); }) .catch(() => setLoading(false)); }, []); const filtered = users.filter( (u) => u.name.toLowerCase().includes(search.toLowerCase()) || u.email.toLowerCase().includes(search.toLowerCase()) ); return ( <>

Kullanıcılar

Panel kullanıcıları .env dosyasından yönetilir

{/* Info card */}
Kullanıcı yönetimi hakkında
Kullanıcılar .env dosyasındaki{" "} USER_0_*,{" "} USER_1_*… değişkenleriyle tanımlanır. Yeni kullanıcı eklemek için .env dosyasını düzenleyip uygulamayı yeniden başlatın.
USER_2_NAME="Ahmet Yılmaz"
USER_2_EMAIL="ahmet@ayristech.com"
USER_2_PASSWORD="güçlü-şifre"
USER_2_ROLE="DOMAIN_ADMIN"
USER_2_DOMAINS="yenidomain.com"
setSearch(e.target.value)} />
{loading ? (
) : filtered.length === 0 ? (
Kullanıcı bulunamadı
) : ( {filtered.map((u) => ( ))}
Kullanıcı Rol İzin Verilen Domainler
{u.name[0]?.toUpperCase()}
{u.name}
{u.email}
{u.role === "SUPER_ADMIN" ? "★ Süper Admin" : "Domain Admin"} {u.domains.includes("*") ? ( Tüm domainler ) : (
{u.domains.map((d) => ( {d} ))}
)}
)}
); } function SearchIcon() { return ; } function UsersIcon() { return ; } function InfoIcon() { return ; }