refactor(helpers): renderGroup function

This commit is contained in:
QuentinHsu 2024-04-02 13:16:02 +08:00
parent d6e373fbe4
commit 3e90b6d516
No known key found for this signature in database
GPG Key ID: 20D465A435D740D0

View File

@ -8,46 +8,36 @@ export function renderText(text, limit) {
return text; return text;
} }
/**
* Render group tags based on the input group string
* @param {string} group - The input group string
* @returns {JSX.Element} - The rendered group tags
*/
export function renderGroup(group) { export function renderGroup(group) {
if (group === '') { if (group === '') {
return ( return <Tag size='large' key='default'>default</Tag>;
<Tag size='large' key={group}>
default
</Tag>
);
} }
let groups = group.split(',');
groups.sort(); const tagColors = {
'vip': 'yellow',
'pro': 'yellow',
'svip': 'red',
'premium': 'red'
};
const groups = group.split(',').sort();
return ( return (
<span key={group}> <span key={group}>
{groups.map((group) => { {groups.map((group) => (
if (group === 'vip' || group === 'pro') { <Tag
return ( size='large'
<Tag size='large' color='yellow' key={group}> color={tagColors[group] || stringToColor(group)}
{group} key={group}
</Tag> >
); {group}
} else if (group === 'svip' || group === 'premium') { </Tag>
return ( ))}
<Tag size='large' color='red' key={group}>
{group}
</Tag>
);
}
if (group === 'default') {
return (
<Tag size='large' key={group}>
{group}
</Tag>
);
} else {
return (
<Tag size='large' color={stringToColor(group)} key={group}>
{group}
</Tag>
);
}
})}
</span> </span>
); );
} }