import { useState } from "react"; import { observer } from "mobx-react"; import { useRouter } from "next/router"; import { FileText } from "lucide-react"; // types import { TLogoProps } from "@plane/types"; // ui import { Breadcrumbs, Button, EmojiIconPicker, EmojiIconPickerTypes, TOAST_TYPE, setToast } from "@plane/ui"; // components import { BreadcrumbLink, Logo } from "@/components/common"; // helper import { convertHexEmojiToDecimal } from "@/helpers/emoji.helper"; // hooks import { usePage, useProject } from "@/hooks/store"; import { usePlatformOS } from "@/hooks/use-platform-os"; export interface IPagesHeaderProps { showButton?: boolean; } export const PageDetailsHeader = observer(() => { // router const router = useRouter(); const { workspaceSlug, pageId } = router.query; // state const [isOpen, setIsOpen] = useState(false); // store hooks const { currentProjectDetails } = useProject(); const { isContentEditable, isSubmitting, name, logo_props, updatePageLogo } = usePage(pageId?.toString() ?? ""); const handlePageLogoUpdate = async (data: TLogoProps) => { if (data) { updatePageLogo(data) .then(() => { setToast({ type: TOAST_TYPE.SUCCESS, title: "Success!", message: "Logo Updated successfully.", }); }) .catch(() => { setToast({ type: TOAST_TYPE.ERROR, title: "Error!", message: "Something went wrong. Please try again.", }); }); } }; // use platform const { platform } = usePlatformOS(); // derived values const isMac = platform === "MacOS"; return (