Implement Prototype 1 improvements: unified members, project filters, audit expansion, filtering rounds, special awards
- Unified Member Management: merge /admin/users and /admin/mentors into /admin/members with role tabs, search, pagination - Project List Filters: add search, multi-status filter, round/category/country selects, boolean toggles, URL persistence - Audit Log Expansion: track logins, round state changes, evaluation submissions, file access, role changes via shared logAudit utility - Founding Date Field: add foundedAt to Project model with CSV import support - Filtering Round System: configurable rules (field-based, document check, AI screening), execution engine, results review with override/reinstate - Special Awards System: named awards with eligibility criteria, dedicated jury, PICK_WINNER/RANKED/SCORED voting modes, AI eligibility - Dashboard resilience: wrap heavy queries in try-catch to prevent error boundary on transient DB failures - Reusable pagination component extracted to src/components/shared/pagination.tsx - Old /admin/users and /admin/mentors routes redirect to /admin/members - Prisma migration for all schema additions (additive, no data loss) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -60,13 +60,24 @@ const ACTION_TYPES = [
|
||||
'IMPORT',
|
||||
'EXPORT',
|
||||
'LOGIN',
|
||||
'LOGIN_SUCCESS',
|
||||
'LOGIN_FAILED',
|
||||
'INVITATION_ACCEPTED',
|
||||
'SUBMIT_EVALUATION',
|
||||
'EVALUATION_SUBMITTED',
|
||||
'UPDATE_STATUS',
|
||||
'ROUND_ACTIVATED',
|
||||
'ROUND_CLOSED',
|
||||
'ROUND_ARCHIVED',
|
||||
'UPLOAD_FILE',
|
||||
'DELETE_FILE',
|
||||
'FILE_DOWNLOADED',
|
||||
'BULK_CREATE',
|
||||
'BULK_UPDATE_STATUS',
|
||||
'UPDATE_EVALUATION_FORM',
|
||||
'ROLE_CHANGED',
|
||||
'PASSWORD_SET',
|
||||
'PASSWORD_CHANGED',
|
||||
]
|
||||
|
||||
// Entity type options
|
||||
@@ -90,7 +101,18 @@ const actionColors: Record<string, 'default' | 'destructive' | 'secondary' | 'ou
|
||||
IMPORT: 'default',
|
||||
EXPORT: 'outline',
|
||||
LOGIN: 'outline',
|
||||
LOGIN_SUCCESS: 'outline',
|
||||
LOGIN_FAILED: 'destructive',
|
||||
INVITATION_ACCEPTED: 'default',
|
||||
SUBMIT_EVALUATION: 'default',
|
||||
EVALUATION_SUBMITTED: 'default',
|
||||
ROUND_ACTIVATED: 'default',
|
||||
ROUND_CLOSED: 'secondary',
|
||||
ROUND_ARCHIVED: 'secondary',
|
||||
FILE_DOWNLOADED: 'outline',
|
||||
ROLE_CHANGED: 'secondary',
|
||||
PASSWORD_SET: 'outline',
|
||||
PASSWORD_CHANGED: 'outline',
|
||||
}
|
||||
|
||||
export default function AuditLogPage() {
|
||||
|
||||
Reference in New Issue
Block a user