diff --git a/frontend/src/components/format/FormatCard.jsx b/frontend/src/components/format/FormatCard.jsx index 3a028e6..83786db 100644 --- a/frontend/src/components/format/FormatCard.jsx +++ b/frontend/src/components/format/FormatCard.jsx @@ -21,6 +21,31 @@ function FormatCard({format, onEdit, onClone, sortBy}) { return 'bg-blue-100 border-blue-200 text-blue-700 dark:bg-blue-900/30 dark:border-blue-700 dark:text-blue-300'; }; + const getDisplayConditions = conditions => { + if (!conditions?.length) return []; + + // Sort conditions: required first, then non-required + const sortedConditions = [...conditions].sort((a, b) => { + if (a.required && !b.required) return -1; + if (!a.required && b.required) return 1; + return 0; + }); + + if (sortedConditions.length <= 5) return sortedConditions; + + // Take first 4 conditions and add a count of remaining ones + const displayConditions = sortedConditions.slice(0, 4); + const remainingCount = sortedConditions.length - 4; + + // Add a virtual condition for the count + displayConditions.push({ + name: `+${remainingCount} more...`, + isCounter: true + }); + + return displayConditions; + }; + return (
{content.description} @@ -66,15 +90,19 @@ function FormatCard({format, onEdit, onClone, sortBy}) {