import { SetStateAction, useEffect, useState } from "react"; import { Button } from "@plane/ui"; type Props = { isLocked: boolean; areFiltersEqual: boolean; isOwner: boolean; isAuthorizedUser: boolean; setIsModalOpen: (value: SetStateAction) => void; handleUpdateView: () => void; lockedTooltipContent?: string; trackerElement: string; }; export const UpdateViewComponent = (props: Props) => { const { isLocked, areFiltersEqual, isOwner, isAuthorizedUser, setIsModalOpen, handleUpdateView, trackerElement } = props; const [isUpdating, setIsUpdating] = useState(false); useEffect(() => { if (areFiltersEqual) { setIsUpdating(false); } }, [areFiltersEqual]); // Change state while updating view to have a feedback const updateButton = isUpdating ? ( ) : ( ); return (
{!isLocked && !areFiltersEqual && isAuthorizedUser && ( <> {isOwner && <>{updateButton}} )}
); };