Files
MOPC-Portal/next.config.ts
Matt 2e8ab91e07
All checks were successful
Build and Push Docker Image / build (push) Successful in 11m12s
fix: version guard uses static file, members table shows project name with round badge
Version guard:
- Replace API route with prebuild-generated public/build-id.json
- Captures build ID on first load, only notifies on mismatch
- Fixes false positive refresh prompts from env mismatch

Members table (applicants):
- Show project name + round badge instead of round name + state
- Red badge for rejected, gray for withdrawn, green for passed,
  outline for active rounds
- Include projectName in applicantRoundInfo from backend

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 11:23:24 +01:00

67 lines
1.5 KiB
TypeScript

import type { NextConfig } from 'next'
const nextConfig: NextConfig = {
output: 'standalone',
serverExternalPackages: ['@prisma/client', 'minio'],
typescript: {
// We run tsc --noEmit separately before each push
ignoreBuildErrors: true,
},
experimental: {
optimizePackageImports: [
'lucide-react',
'sonner',
'date-fns',
'recharts',
'motion/react',
'zod',
'@radix-ui/react-icons',
],
},
images: {
remotePatterns: [
{
protocol: 'https',
hostname: '*.minio.local',
},
],
},
async redirects() {
return [
// Legacy Pipeline/Stage routes → Competition/Round routes
{
source: '/admin/rounds/pipelines',
destination: '/admin/competitions',
permanent: true,
},
{
source: '/admin/rounds/pipeline/:path*',
destination: '/admin/competitions',
permanent: true,
},
{
source: '/jury/stages',
destination: '/jury/competitions',
permanent: true,
},
{
source: '/jury/stages/:path*',
destination: '/jury/competitions',
permanent: true,
},
{
source: '/applicant/pipeline',
destination: '/applicant/competition',
permanent: true,
},
{
source: '/applicant/pipeline/:path*',
destination: '/applicant/competition',
permanent: true,
},
]
},
}
export default nextConfig