23 lines
852 B
TypeScript
23 lines
852 B
TypeScript
import { redirect } from 'next/navigation';
|
|
import { getTranslations } from 'next-intl/server';
|
|
import type { Metadata } from 'next';
|
|
import { resolveUser } from '@/lib/auth';
|
|
import { QualityConsole } from './quality-console';
|
|
|
|
export async function generateMetadata(): Promise<Metadata> {
|
|
const t = await getTranslations('quality');
|
|
return { title: t('documentTitle') };
|
|
}
|
|
|
|
export default async function QualityPage() {
|
|
const user = await resolveUser();
|
|
// Only quality / admin / supervisor may view the console; everyone else out.
|
|
if (user && !['QUALITY', 'ADMIN', 'SUPERVISOR'].includes(user.role)) {
|
|
redirect('/maintenance');
|
|
}
|
|
// Defects are raised by QCP and admins; supervisors get a read-only view.
|
|
const canCreate = user?.role === 'QUALITY' || user?.role === 'ADMIN';
|
|
|
|
return <QualityConsole canCreate={canCreate} />;
|
|
}
|