diff --git a/pitch-deck/app/api/admin/investors/[id]/route.ts b/pitch-deck/app/api/admin/investors/[id]/route.ts index 343b489..a6b8146 100644 --- a/pitch-deck/app/api/admin/investors/[id]/route.ts +++ b/pitch-deck/app/api/admin/investors/[id]/route.ts @@ -19,7 +19,7 @@ export async function GET(request: NextRequest, ctx: RouteContext) { pool.query( `SELECT i.id, i.email, i.name, i.company, i.status, i.last_login_at, i.login_count, i.created_at, i.updated_at, i.first_activity_at, i.data_masked_at, - i.assigned_version_id, i.is_showcase, + i.assigned_version_id, i.is_showcase, i.preferred_lang, v.name AS version_name, v.status AS version_status FROM pitch_investors i LEFT JOIN pitch_versions v ON v.id = i.assigned_version_id @@ -68,14 +68,14 @@ export async function PATCH(request: NextRequest, ctx: RouteContext) { const { id } = await ctx.params const body = await request.json().catch(() => ({})) - const { name, company, assigned_version_id, is_showcase } = body + const { name, company, assigned_version_id, is_showcase, preferred_lang } = body - if (name === undefined && company === undefined && assigned_version_id === undefined && is_showcase === undefined) { - return NextResponse.json({ error: 'name, company, assigned_version_id, or is_showcase required' }, { status: 400 }) + if (name === undefined && company === undefined && assigned_version_id === undefined && is_showcase === undefined && preferred_lang === undefined) { + return NextResponse.json({ error: 'name, company, assigned_version_id, is_showcase, or preferred_lang required' }, { status: 400 }) } const before = await pool.query( - `SELECT name, company, assigned_version_id, is_showcase FROM pitch_investors WHERE id = $1`, + `SELECT name, company, assigned_version_id, is_showcase, preferred_lang FROM pitch_investors WHERE id = $1`, [id], ) if (before.rows.length === 0) { @@ -98,8 +98,8 @@ export async function PATCH(request: NextRequest, ctx: RouteContext) { // Use null to clear version assignment, undefined to leave unchanged const versionValue = assigned_version_id === undefined ? before.rows[0].assigned_version_id : (assigned_version_id || null) - const showcaseValue = is_showcase !== undefined ? Boolean(is_showcase) : before.rows[0].is_showcase + const langValue = preferred_lang === 'en' || preferred_lang === 'de' ? preferred_lang : before.rows[0].preferred_lang const { rows } = await pool.query( `UPDATE pitch_investors SET @@ -107,10 +107,11 @@ export async function PATCH(request: NextRequest, ctx: RouteContext) { company = COALESCE($2, company), assigned_version_id = $4, is_showcase = $5, + preferred_lang = $6, updated_at = NOW() WHERE id = $3 - RETURNING id, email, name, company, status, assigned_version_id, is_showcase`, - [name ?? null, company ?? null, id, versionValue, showcaseValue], + RETURNING id, email, name, company, status, assigned_version_id, is_showcase, preferred_lang`, + [name ?? null, company ?? null, id, versionValue, showcaseValue, langValue], ) const action = assigned_version_id !== undefined && assigned_version_id !== before.rows[0].assigned_version_id diff --git a/pitch-deck/app/pitch-admin/(authed)/investors/[id]/page.tsx b/pitch-deck/app/pitch-admin/(authed)/investors/[id]/page.tsx index 640bfb8..1fd602f 100644 --- a/pitch-deck/app/pitch-admin/(authed)/investors/[id]/page.tsx +++ b/pitch-deck/app/pitch-admin/(authed)/investors/[id]/page.tsx @@ -22,6 +22,7 @@ interface InvestorDetail { version_name: string | null version_status: string | null is_showcase: boolean + preferred_lang: 'de' | 'en' } sessions: Array<{ id: string @@ -324,6 +325,39 @@ export default function InvestorDetailPage() { + {/* Default language */} +