import React, { useCallback, useState } from 'react'; import { DrawioViewer, DrawioViewerProps } from '@growi/remark-drawio-plugin'; import { useTranslation } from 'next-i18next'; import { useIsGuestUser, useIsSharedUser } from '~/stores/context'; import NotAvailableForGuest from '../NotAvailableForGuest'; import styles from './DrawioViewerWithEditButton.module.scss'; export const DrawioViewerWithEditButton = React.memo((props: DrawioViewerProps): JSX.Element => { const { t } = useTranslation(); const { data: isGuestUser } = useIsGuestUser(); const { data: isSharedUser } = useIsSharedUser(); const [isMounted, setMounted] = useState(false); const editButtonClickHandler = useCallback(() => { }, []); const renderingStartHandler = useCallback(() => { setMounted(false); }, []); const renderingUpdatedHandler = useCallback((hasError: boolean) => { setMounted(!hasError); }, []); const showEditButton = isMounted && !isGuestUser && !isSharedUser; return (