Servidor Fastify + Socket.IO + Drizzle/Postgres; front Vite+React (EN/ES, tema claro/oscuro). Tableros por columnas con plantillas, notas privadas/públicas, agrupación, votos configurables (multivoto), timer compartido con alarma, fases, action items, export Markdown/JSON e import, autodestrucción, gestión de columnas. Imagen única (front servido por el servidor) y CI que la construye y publica.
49 lines
1.2 KiB
TypeScript
49 lines
1.2 KiB
TypeScript
// Plantillas predefinidas: cada una es una lista ordenada de columnas.
|
||
export type Template = {
|
||
id: string;
|
||
name: string;
|
||
columns: string[];
|
||
};
|
||
|
||
export const TEMPLATES: Template[] = [
|
||
{
|
||
id: "mad-sad-glad",
|
||
name: "Mad / Sad / Glad",
|
||
columns: ["😠 Mad", "😢 Sad", "😄 Glad"],
|
||
},
|
||
{
|
||
id: "start-stop-continue",
|
||
name: "Start / Stop / Continue",
|
||
columns: ["🟢 Start", "🔴 Stop", "🔵 Continue"],
|
||
},
|
||
{
|
||
id: "4ls",
|
||
name: "4 Ls",
|
||
columns: ["👍 Liked", "📚 Learned", "🕳️ Lacked", "🎯 Longed for"],
|
||
},
|
||
{
|
||
id: "went-well",
|
||
name: "Funcionó / No funcionó / Acciones",
|
||
columns: ["✅ Funcionó", "⚠️ No funcionó", "💡 Acciones"],
|
||
},
|
||
{
|
||
id: "sailboat",
|
||
name: "Velero (Sailboat)",
|
||
columns: ["⛵ Viento", "⚓ Ancla", "🪨 Rocas", "🏝️ Meta"],
|
||
},
|
||
{
|
||
id: "daki",
|
||
name: "DAKI",
|
||
columns: ["🗑️ Drop", "➕ Add", "📌 Keep", "📈 Improve"],
|
||
},
|
||
{
|
||
id: "blank",
|
||
name: "En blanco (columnas libres)",
|
||
columns: ["Columna 1", "Columna 2", "Columna 3"],
|
||
},
|
||
];
|
||
|
||
export function getTemplate(id: string): Template | undefined {
|
||
return TEMPLATES.find((t) => t.id === id);
|
||
}
|