feat: init
This commit is contained in:
33
apps/space/helpers/emoji.helper.tsx
Normal file
33
apps/space/helpers/emoji.helper.tsx
Normal file
@@ -0,0 +1,33 @@
|
||||
export const renderEmoji = (
|
||||
emoji:
|
||||
| string
|
||||
| {
|
||||
name: string;
|
||||
color: string;
|
||||
}
|
||||
) => {
|
||||
if (!emoji) return;
|
||||
|
||||
if (typeof emoji === "object")
|
||||
return (
|
||||
<span style={{ color: emoji.color }} className="material-symbols-rounded text-lg">
|
||||
{emoji.name}
|
||||
</span>
|
||||
);
|
||||
else return isNaN(parseInt(emoji)) ? emoji : String.fromCodePoint(parseInt(emoji));
|
||||
};
|
||||
|
||||
export const groupReactions = <T extends { reaction: string }>(reactions: T[], key: string) => {
|
||||
const groupedReactions = reactions.reduce(
|
||||
(acc: { [key: string]: T[] }, reaction: any) => {
|
||||
if (!acc[reaction[key]]) {
|
||||
acc[reaction[key]] = [];
|
||||
}
|
||||
acc[reaction[key]].push(reaction);
|
||||
return acc;
|
||||
},
|
||||
{} as { [key: string]: T[] }
|
||||
);
|
||||
|
||||
return groupedReactions;
|
||||
};
|
||||
Reference in New Issue
Block a user