feat: configureerbare itemnamen per vragenlijst
Voeg item_label en item_label_plural toe aan questionnaires (migratie), beheerformulier en dynamische teksten in UI en API-fouten. Standaard blijft Activiteit/Activiteiten. Negeer tsbuildinfo en geëmitteerde vite.config.js/.d.ts in .gitignore. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -6,7 +6,7 @@ import path from 'path';
|
||||
import fs from 'fs';
|
||||
import { fileURLToPath } from 'url';
|
||||
|
||||
import { initializeDatabase, questionnaireOps, participantOps } from './database.js';
|
||||
import { initializeDatabase, questionnaireOps, participantOps, resolveItemLabels } from './database.js';
|
||||
import authRoutes from './routes/auth.js';
|
||||
import adminRoutes from './routes/admin.js';
|
||||
import questionnaireRoutes from './routes/questionnaire.js';
|
||||
@@ -108,7 +108,9 @@ if (isProduction) {
|
||||
const baseUrl = `${req.protocol}://${req.get('host')}`;
|
||||
const pageUrl = `${baseUrl}/q/${questionnaire.slug}`;
|
||||
const title = questionnaire.title;
|
||||
const description = questionnaire.description || 'Activiteiten Inventaris - Voeg activiteiten toe en stem!';
|
||||
const { plural } = resolveItemLabels(questionnaire);
|
||||
const description =
|
||||
questionnaire.description || `Voeg ${plural.toLowerCase()} toe en stem!`;
|
||||
|
||||
// Make image URL absolute if it's a relative path
|
||||
let ogImageUrl = questionnaire.og_image;
|
||||
@@ -122,7 +124,7 @@ if (isProduction) {
|
||||
html = html.replace('</head>', `${ogTags}</head>`);
|
||||
|
||||
// Update title
|
||||
html = html.replace(/<title>.*?<\/title>/, `<title>${title} - Activiteiten Inventaris</title>`);
|
||||
html = html.replace(/<title>.*?<\/title>/, `<title>${title}</title>`);
|
||||
|
||||
res.send(html);
|
||||
});
|
||||
@@ -153,8 +155,10 @@ if (isProduction) {
|
||||
|
||||
// Get first name from participant name
|
||||
const firstName = participant.name.trim().split(/\s+/)[0] || participant.name;
|
||||
const description = questionnaire.description
|
||||
|| `Hoi ${firstName}! Voeg je ideeën toe en stem op activiteiten.`;
|
||||
const { plural } = resolveItemLabels(questionnaire);
|
||||
const description =
|
||||
questionnaire.description ||
|
||||
`Hoi ${firstName}! Voeg je ideeën toe en stem op ${plural.toLowerCase()}.`;
|
||||
|
||||
// Make image URL absolute if it's a relative path
|
||||
let ogImageUrl = questionnaire.og_image;
|
||||
|
||||
Reference in New Issue
Block a user