diff --git a/config.php b/config.php index 4b587d2..e2a345a 100644 --- a/config.php +++ b/config.php @@ -1,7 +1,7 @@ ` + cards.map(c => { + board.innerHTML = `
` + cards.map(c => { const tags = parseTags(c); const isTermin = tags.includes('termin') || tags.includes('geburtstag'); let calCfg = null; @@ -532,10 +531,26 @@ export function renderBoard() { const dotColor = calCfg?.color || c.color; const icon = isTermin ? (calCfg?.icon || 'calendar-dots') : (isFavorite(c.id) ? 'star' : null); const iconColor = isTermin ? dotColor : (isFavorite(c.id) ? '#fbbf24' : 'var(--t-dim)'); + // Date column: due_date if set, else date prefix in title, else updated/created + const dateStr = c.due_date + || ((c.title || '').match(/^\d{4}-\d{2}-\d{2}/)?.[0]) + || (c.updated_at || c.created_at || '').substring(0, 10); + // Tag chips (excluding termin/geburtstag — those are already + // represented by the icon + dot on the left) + const visibleTags = tags.filter(t => t !== 'termin' && t !== 'geburtstag'); + const tagsHtml = visibleTags.length + ? `${visibleTags.slice(0, 4).map(t => `#${esc(t)}`).join('')}${visibleTags.length > 4 ? `+${visibleTags.length - 4}` : ''}` + : ''; + const bucketHtml = c.bucket_name + ? `${esc(c.bucket_name)}` + : ''; return `
${icon ? `` : ''} ${esc(c.title)} + ${tagsHtml} + ${bucketHtml} + ${dateStr}
`; }).join('') + '
';