[WEB-393] feat: new emoji picker using emoji-picker-react (#3868)

* chore: emoji-picker-react package added

* chore: emoji and emoji picker component added

* chore: emoji picker custom style added

* chore: migration of the emoji's

* chore: migration changes

* chore: project logo prop

* chore: added logo props in the serializer

* chore: removed unused keys

* chore: implement emoji picker throughout the web app

* style: emoji icon picker

* chore: update project logo renderer in the space app

* chore: migrations fixes

---------

Co-authored-by: Anmol Singh Bhatia <anmolsinghbhatia@plane.so>
Co-authored-by: NarayanBavisetti <narayan3119@gmail.com>
This commit is contained in:
Aaryan Khandelwal 2024-03-06 19:15:48 +05:30 committed by GitHub
parent b3d3c0fb06
commit e4f48d6878
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
58 changed files with 1513 additions and 2462 deletions

View file

@ -5,12 +5,12 @@ import { Combobox } from "@headlessui/react";
import { Check, ChevronDown, Search } from "lucide-react";
// hooks
import { cn } from "helpers/common.helper";
import { renderEmoji } from "helpers/emoji.helper";
import { useProject } from "hooks/store";
import { useDropdownKeyDown } from "hooks/use-dropdown-key-down";
import useOutsideClickDetector from "hooks/use-outside-click-detector";
// components
import { DropdownButton } from "./buttons";
import { ProjectLogo } from "components/project";
// helpers
// types
import { BUTTON_VARIANTS_WITH_TEXT } from "./constants";
@ -77,13 +77,11 @@ export const ProjectDropdown: React.FC<Props> = observer((props) => {
query: `${projectDetails?.name}`,
content: (
<div className="flex items-center gap-2">
<span className="grid place-items-center flex-shrink-0">
{projectDetails?.emoji
? renderEmoji(projectDetails?.emoji)
: projectDetails?.icon_prop
? renderEmoji(projectDetails?.icon_prop)
: null}
</span>
{projectDetails && (
<span className="grid place-items-center flex-shrink-0 h-4 w-4">
<ProjectLogo logo={projectDetails?.logo_props} className="text-sm" />
</span>
)}
<span className="flex-grow truncate">{projectDetails?.name}</span>
</div>
),
@ -169,13 +167,9 @@ export const ProjectDropdown: React.FC<Props> = observer((props) => {
showTooltip={showTooltip}
variant={buttonVariant}
>
{!hideIcon && (
<span className="grid place-items-center flex-shrink-0">
{selectedProject?.emoji
? renderEmoji(selectedProject?.emoji)
: selectedProject?.icon_prop
? renderEmoji(selectedProject?.icon_prop)
: null}
{!hideIcon && selectedProject && (
<span className="grid place-items-center flex-shrink-0 h-4 w-4">
<ProjectLogo logo={selectedProject.logo_props} className="text-sm" />
</span>
)}
{BUTTON_VARIANTS_WITH_TEXT.includes(buttonVariant) && (