Commit Graph

15 Commits

Author SHA1 Message Date
Matt 7ff961f0c2 Fix profile photo section: replace hover overlay with button
Build and Push Docker Image / build (push) Has been cancelled Details
Remove showEditOverlay that stretched across the full width.
Show avatar and a "Change Photo" button side by side instead.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 20:08:59 +01:00
Matt 402bdfd8c5 Add profile settings page, mentor management, and S3 email logos
Build and Push Docker Image / build (push) Successful in 8m10s Details
- Add universal /settings/profile page accessible to all roles with
  avatar upload, bio, phone, password change, and account deletion
- Expand updateProfile endpoint to accept bio (metadataJson), phone,
  and notification preference
- Add deleteAccount endpoint with password confirmation
- Add Profile Settings link to all nav components (admin, jury, mentor,
  observer)
- Add /admin/mentors list page and /admin/mentors/[id] detail page for
  mentor management
- Add Mentors nav item to admin sidebar
- Update email logo URLs to S3 (s3.monaco-opc.com/public/)
- Add ocean.png background image to email wrapper

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 19:57:12 +01:00
Matt 0c0a9b7eb5 Add round delete with confirmation dialog
Build and Push Docker Image / build (push) Successful in 7m57s Details
- Add delete procedure to round tRPC router with cascade and audit log
- Add delete option to rounds list dropdown menu
- Show confirmation dialog with project/assignment counts before deletion

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 19:28:57 +01:00
Matt 4c5a49cede Fix: add AUTH_TRUST_HOST for reverse proxy support
Build and Push Docker Image / build (push) Has been cancelled Details
Auth.js v5 requires explicit trust for hosts behind a reverse proxy.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 19:24:25 +01:00
Matt 4071606005 Add initial Prisma migration from schema
Build and Push Docker Image / build (push) Successful in 8m27s Details
Generated via prisma migrate diff --from-empty for fresh DB deployment.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 19:10:27 +01:00
Matt e686a73b75 Fix: copy full node_modules into runner for prisma/seed support
Build and Push Docker Image / build (push) Successful in 8m24s Details
Cherry-picking individual prisma modules fails due to transitive
deps (effect, @prisma/config, etc). Copy full node_modules instead.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 18:51:37 +01:00
Matt c2506edd52 Fix: prisma not found in Docker runner stage
Build and Push Docker Image / build (push) Successful in 4m13s Details
- Use direct node path to prisma CLI instead of npx
- Copy seed dependencies (bcryptjs, papaparse, tsx, esbuild) for manual seeding
- Copy package.json for module resolution

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 18:44:39 +01:00
Matt a020d13c00 Update seed: real admin accounts, remove all dummy data
Build and Push Docker Image / build (push) Successful in 4m3s Details
- Add matt@monaco-opc.com and admin@monaco-opc.com as SUPER_ADMIN with passwords
- Remove dummy jury members (jury1-3@example.com)
- Remove dummy sample projects
- Keep system settings, program, round, and evaluation form

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 16:40:07 +01:00
Matt bfcfd84008 Use admin-configured AI model and add GPT-5/o-series options
Build and Push Docker Image / build (push) Successful in 4m6s Details
- Add getConfiguredModel() that reads ai_model from SystemSettings
- AI assignment and mentor matching now use the admin-selected model
- Remove duplicate OpenAI client in mentor-matching (use shared singleton)
- Add GPT-5, GPT-5 Mini, o3, o3 Mini, o4 Mini to model dropdown

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 16:24:46 +01:00
Matt 8c598ba3ee Add email password change feature and fix nginx config
Build and Push Docker Image / build (push) Successful in 4m22s Details
- Add public page at /email/change-password for Poste.io mailbox password management
- Add API routes for SMTP credential verification and Poste.io password change
- Rewrite nginx config as HTTP-only (certbot --nginx will add SSL)
- Add Poste.io admin API env vars to docker-compose and env templates

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 16:15:08 +01:00
Matt d5398e93a0 Fix: remove invalid 'name' field from EvaluationForm create
Build and Push Docker Image / build (push) Successful in 9m11s Details
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 13:51:44 +01:00
Matt a0016fbccb Fix: sync package-lock.json and update CLAUDE.md dev notes
Build and Push Docker Image / build (push) Failing after 4m16s Details
Add missing @mantine/utils to lock file so npm ci works in CI.
Document that npm/node commands must also use PowerShell on Windows.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 13:47:00 +01:00
Matt 65ebcd3731 Fix CI: hardcode Gitea registry URL
Build and Push Docker Image / build (push) Failing after 28s Details
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 13:45:07 +01:00
Matt 8da7f111ef Fix CI: use REGISTRY_TOKEN secret for registry auth
Build and Push Docker Image / build (push) Failing after 8s Details
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 13:43:40 +01:00
Matt a606292aaa Initial commit: MOPC platform with Docker deployment setup
Build and Push Docker Image / build (push) Failing after 10s Details
Full Next.js 15 platform with tRPC, Prisma, PostgreSQL, NextAuth.
Includes production Dockerfile (multi-stage, port 7600), docker-compose
with registry-based image pull, Gitea Actions CI workflow, nginx config
for portal.monaco-opc.com, deployment scripts, and DEPLOYMENT.md guide.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 13:41:32 +01:00