/**
 * /vendors — vendor-attributed SLA tracking.
 *
 * Server shell: reads the session role server-side to decide whether to surface
 * write controls (create/edit/delete/assign). Read access is universal among
 * authenticated users; writes are ADMIN/EDITOR (enforced server-side in the
 * vendor CRUD API regardless).
 */
import { getServerSession } from 'next-auth';
import { redirect } from 'next/navigation';
import { authOptions } from '@/lib/auth';
import { VendorList } from '@/components/vendors/VendorList';

export const metadata = {
    title: 'Vendors — Uptime Sentinel',
    description: 'Vendor SLA tracking and accountability',
};

export default async function VendorsPage() {
    const session = await getServerSession(authOptions);
    if (!session?.user?.id) {
        redirect('/login');
    }

    const role = (session!.user as { role?: string }).role || '';
    const canWrite = ['ADMIN', 'EDITOR'].includes(role);

    return (
        <div className="p-6 max-w-7xl mx-auto">
            <VendorList canWrite={canWrite} />
        </div>
    );
}
