diff --git a/components/kanban/TaskCard.tsx b/components/kanban/TaskCard.tsx index aa2acde..8a58318 100644 --- a/components/kanban/TaskCard.tsx +++ b/components/kanban/TaskCard.tsx @@ -88,10 +88,22 @@ export function TaskCard({ task, onDelete, onEdit, onUpdateTitle, compactView = transform: `translate3d(${transform.x}px, ${transform.y}px, 0)`, } : undefined; - // Extraire les emojis du titre pour les afficher comme tags visuels - const emojiRegex = /[\u{1F600}-\u{1F64F}]|[\u{1F300}-\u{1F5FF}]|[\u{1F680}-\u{1F6FF}]|[\u{1F1E0}-\u{1F1FF}]|[\u{2600}-\u{26FF}]|[\u{2700}-\u{27BF}]/gu; - const emojis = task.title.match(emojiRegex) || []; + // Extraire les emojis du titre pour les afficher comme tags visuels + const emojiRegex = /(?:[\u{1F600}-\u{1F64F}]|[\u{1F300}-\u{1F5FF}]|[\u{1F680}-\u{1F6FF}]|[\u{1F900}-\u{1F9FF}]|[\u{1F1E0}-\u{1F1FF}]|[\u{2600}-\u{26FF}]|[\u{2700}-\u{27BF}])(?:[\u{200D}][\u{1F600}-\u{1F64F}]|[\u{1F300}-\u{1F5FF}]|[\u{1F680}-\u{1F6FF}]|[\u{1F900}-\u{1F9FF}]|[\u{1F1E0}-\u{1F1FF}]|[\u{2600}-\u{26FF}]|[\u{2700}-\u{27BF}]|[\u{FE0F}])*/gu; + const titleEmojis = task.title.match(emojiRegex) || []; const titleWithoutEmojis = task.title.replace(emojiRegex, '').trim(); + + // Si pas d'emoji dans le titre, utiliser l'emoji du premier tag + let displayEmojis: string[] = titleEmojis; + if (displayEmojis.length === 0 && task.tags && task.tags.length > 0) { + const firstTag = availableTags.find(tag => tag.name === task.tags[0]); + if (firstTag) { + const tagEmojis = firstTag.name.match(emojiRegex); + if (tagEmojis && tagEmojis.length > 0) { + displayEmojis = [tagEmojis[0]]; // Prendre seulement le premier emoji du tag + } + } + } // Vue compacte : seulement le titre @@ -107,9 +119,9 @@ export function TaskCard({ task, onDelete, onEdit, onUpdateTitle, compactView = {...(isEditingTitle ? {} : listeners)} >
- {emojis.length > 0 && ( + {displayEmojis.length > 0 && (
- {emojis.slice(0, 1).map((emoji, index) => ( + {displayEmojis.slice(0, 1).map((emoji, index) => ( {/* Header tech avec titre et status */}
- {emojis.length > 0 && ( + {displayEmojis.length > 0 && (
- {emojis.slice(0, 2).map((emoji, index) => ( + {displayEmojis.slice(0, 2).map((emoji, index) => (