mirror of
https://github.com/makeplane/plane
synced 2024-06-14 14:31:34 +00:00
092e65b43d
* [WEB-1424] chore: page and view logo implementation, and emoji/icon picker improvement (#4583) * chore: added logo_props * chore: logo props in cycles, views and modules * chore: emoji icon picker types updated * chore: info icon added to plane ui package * chore: icon color adjust helper function added * style: icon picker ui improvement and default color options updated * chore: update page logo action added in store * chore: emoji code to unicode helper function added * chore: common logo renderer component added * chore: app header project logo updated * chore: project logo updated across platform * chore: page logo picker added * chore: control link component improvement * chore: list item improvement * chore: emoji picker component updated * chore: space app and package logo prop type updated * chore: migration * chore: logo added to project view * chore: page logo picker added in create modal and breadcrumbs * chore: view logo picker added in create modal and updated breadcrumbs * fix: build error * chore: AIO docker images for preview deployments (#4605) * fix: adding single docker base file * action added * fix action * dockerfile.base modified * action fix * dockerfile * fix: base aio dockerfile * fix: dockerfile.base * fix: dockerfile base * fix: modified folder structure * fix: action * fix: dockerfile * fix: dockerfile.base * fix: supervisor file name changed * fix: base dockerfile updated * fix dockerfile base * fix: base dockerfile * fix: docker files * fix: base dockerfile * update base image * modified docker aio base * aio base modified to debian-12-slim * fixes * finalize the dockerfiles with volume exposure * modified the aio build and dockerfile * fix: codacy suggestions implemented * fix: codacy fix * update aio build action --------- Co-authored-by: sriram veeraghanta <veeraghanta.sriram@gmail.com> * fix: merge conflict * chore: lucide react added to planu ui package * chore: new emoji picker component added with lucid icon and code refactor * chore: logo component updated * chore: emoji picker updated for pages and views --------- Co-authored-by: NarayanBavisetti <narayan3119@gmail.com> Co-authored-by: Manish Gupta <59428681+mguptahub@users.noreply.github.com> Co-authored-by: sriram veeraghanta <veeraghanta.sriram@gmail.com> * fix: build error --------- Co-authored-by: Anmol Singh Bhatia <121005188+anmolsinghbhatia@users.noreply.github.com> Co-authored-by: NarayanBavisetti <narayan3119@gmail.com> Co-authored-by: Manish Gupta <59428681+mguptahub@users.noreply.github.com> Co-authored-by: Anmol Singh Bhatia <anmolsinghbhatia@plane.so>
79 lines
1.6 KiB
TypeScript
79 lines
1.6 KiB
TypeScript
export const getRandomEmoji = () => {
|
|
const emojis = [
|
|
"8986",
|
|
"9200",
|
|
"128204",
|
|
"127773",
|
|
"127891",
|
|
"127947",
|
|
"128076",
|
|
"128077",
|
|
"128187",
|
|
"128188",
|
|
"128512",
|
|
"128522",
|
|
"128578",
|
|
];
|
|
|
|
return emojis[Math.floor(Math.random() * emojis.length)];
|
|
};
|
|
|
|
export const renderEmoji = (
|
|
emoji:
|
|
| string
|
|
| {
|
|
name: string;
|
|
color: string;
|
|
}
|
|
) => {
|
|
if (!emoji) return;
|
|
|
|
if (typeof emoji === "object")
|
|
return (
|
|
<span style={{ fontSize: "16px", color: emoji.color }} className="material-symbols-rounded">
|
|
{emoji.name}
|
|
</span>
|
|
);
|
|
else return isNaN(parseInt(emoji)) ? emoji : String.fromCodePoint(parseInt(emoji));
|
|
};
|
|
|
|
export const groupReactions: (reactions: any[], key: string) => { [key: string]: any[] } = (
|
|
reactions: any,
|
|
key: string
|
|
) => {
|
|
const groupedReactions = reactions.reduce(
|
|
(acc: any, reaction: any) => {
|
|
if (!acc[reaction[key]]) {
|
|
acc[reaction[key]] = [];
|
|
}
|
|
acc[reaction[key]].push(reaction);
|
|
return acc;
|
|
},
|
|
{} as { [key: string]: any[] }
|
|
);
|
|
|
|
return groupedReactions;
|
|
};
|
|
|
|
export const convertHexEmojiToDecimal = (emojiUnified: string): string => {
|
|
if (!emojiUnified) return "";
|
|
|
|
return emojiUnified
|
|
.split("-")
|
|
.map((e) => parseInt(e, 16))
|
|
.join("-");
|
|
};
|
|
|
|
|
|
export const emojiCodeToUnicode = (emoji: string) => {
|
|
if (!emoji) return "";
|
|
|
|
// convert emoji code to unicode
|
|
const uniCodeEmoji = emoji
|
|
.split("-")
|
|
.map((emoji) => parseInt(emoji, 10).toString(16))
|
|
.join("-");
|
|
|
|
return uniCodeEmoji;
|
|
};
|