Files
MOPC-Portal/next.config.ts
Matt 5a609457c2
All checks were successful
Build and Push Docker Image / build (push) Successful in 9m6s
Overhaul applicant portal: timeline, evaluations, nav, resources
- Fix programId/competitionId bug in competition timeline
- Add applicantVisibility config to EvaluationConfigSchema (JSONB)
- Add admin UI card for controlling applicant feedback visibility
- Add 6 new tRPC procedures: getNavFlags, getMyCompetitionTimeline,
  getMyEvaluations, getUpcomingDeadlines, getDocumentCompleteness,
  and extend getMyDashboard with hasPassedIntake
- Rewrite competition timeline to show only EVALUATION + Grand Finale,
  synthesize FILTERING rejections, handle manually-created projects
- Dynamic ApplicantNav with conditional Evaluations/Mentoring/Resources
- Dashboard: conditional timeline, jury feedback card, deadlines,
  document completeness, conditional mentor tile
- New /applicant/evaluations page with anonymous jury feedback
- New /applicant/resources pages (clone of jury learning hub)
- Rename /applicant/competitions → /applicant/competition
- Remove broken /applicant/competitions/[windowId] page
- Add permission info banner to team invite dialog

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-21 19:51:17 +01:00

56 lines
1.3 KiB
TypeScript

import type { NextConfig } from 'next'
const nextConfig: NextConfig = {
output: 'standalone',
typedRoutes: true,
serverExternalPackages: ['@prisma/client', 'minio'],
experimental: {
optimizePackageImports: ['lucide-react'],
},
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