import { useState } from "react"; import { Controller, useFormContext } from "react-hook-form"; import { X } from "lucide-react"; import { IProject } from "@plane/types"; // ui import { CustomEmojiIconPicker, EmojiIconPickerTypes, Logo } from "@plane/ui"; // components import { ImagePickerPopover } from "@/components/core"; // constants import { ETabIndices } from "@/constants/tab-indices"; // helpers import { convertHexEmojiToDecimal } from "@/helpers/emoji.helper"; import { getTabIndex } from "@/helpers/tab-indices.helper"; type Props = { handleClose: () => void; isMobile?: boolean; }; const ProjectCreateHeader: React.FC = (props) => { const { handleClose, isMobile = false } = props; const { watch, control } = useFormContext(); const [isOpen, setIsOpen] = useState(false); const { getIndex } = getTabIndex(ETabIndices.PROJECT_CREATE, isMobile); return (
{watch("cover_image") && ( Cover image )}
( )} />
( setIsOpen(val)} className="flex items-center justify-center" buttonClassName="flex items-center justify-center" label={ } onChange={(val: any) => { let logoValue = {}; if (val?.type === "emoji") logoValue = { value: convertHexEmojiToDecimal(val.value.unified), url: val.value.imageUrl, }; else if (val?.type === "icon") logoValue = val.value; onChange({ in_use: val?.type, [val?.type]: logoValue, }); setIsOpen(false); }} defaultIconColor={value.in_use && value.in_use === "icon" ? value.icon?.color : undefined} defaultOpen={ value.in_use && value.in_use === "emoji" ? EmojiIconPickerTypes.EMOJI : EmojiIconPickerTypes.ICON } /> )} />
); }; export default ProjectCreateHeader;