import * as React from 'react'; import { Actions } from './components/Actions'; import { BaseView } from './components/BaseView'; import { GlobalSettings } from './components/GlobalSettings'; import { OtherActions } from './components/OtherActions'; import { SeoStatus } from './components/SeoStatus'; import { Spinner } from './components/Spinner'; import { FolderAndFiles } from './components/FolderAndFiles'; import { Metadata } from './components/Metadata'; import { SponsorMsg } from './components/SponsorMsg'; import useMessages from './hooks/useMessages'; import { FeatureFlag } from '../components/features/FeatureFlag'; import { FEATURE_FLAG } from '../constants/Features'; import { GitAction } from './components/Git/GitAction'; import { CustomView } from './components/CustomView'; import { useEffect, useMemo, useState } from 'react'; export interface IViewPanelProps { } export const ViewPanel: React.FunctionComponent = ( { }: React.PropsWithChildren ) => { const [isDevMode, setIsDevMode] = useState(false); const { loading, mediaSelecting, metadata, settings, folderAndFiles, focusElm, unsetFocus, mode } = useMessages(); const allPanelValues = useMemo(() => { return Object.values(FEATURE_FLAG.panel).filter(v => v !== FEATURE_FLAG.panel.globalSettings) }, [FEATURE_FLAG.panel]); useEffect(() => { if (window.fmExternal && window.fmExternal.isDevelopment) { setIsDevMode(true); } }, []); if (mediaSelecting) { return (

Continue in the media dashboard to select the image you want to insert.

); } if (loading) { return ; } if (!metadata || Object.keys(metadata || {}).length === 0) { return ; } return (
{ isDevMode && ( ) }
{settings && settings.seo && ( )} {settings && metadata && ( )}
); };