Merge pull request #176 from QuentinHsu/perf-helpers-renderGroup

refactor(helpers): renderGroup function
This commit is contained in:
Calcium-Ion 2024-04-03 23:31:02 +08:00 committed by GitHub
commit 456fb875de
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -8,39 +8,37 @@ export function renderText(text, limit) {
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) {
if (group === '') {
return <Tag size='large'>default</Tag>;
return <Tag size='large' key='default'>default</Tag>;
}
let groups = group.split(',');
groups.sort();
const tagColors = {
'vip': 'yellow',
'pro': 'yellow',
'svip': 'red',
'premium': 'red'
};
const groups = group.split(',').sort();
return (
<>
{groups.map((group) => {
if (group === 'vip' || group === 'pro') {
return (
<Tag size='large' color='yellow'>
{group}
</Tag>
);
} else if (group === 'svip' || group === 'premium') {
return (
<Tag size='large' color='red'>
{group}
</Tag>
);
}
if (group === 'default') {
return <Tag size='large'>{group}</Tag>;
} else {
return (
<Tag size='large' color={stringToColor(group)}>
{group}
</Tag>
);
}
})}
</>
<span key={group}>
{groups.map((group) => (
<Tag
size='large'
color={tagColors[group] || stringToColor(group)}
key={group}
>
{group}
</Tag>
))}
</span>
);
}