'use client' import type { FC } from 'react' import type { InstalledApp } from '@/models/explore' import { useRouter } from 'next/navigation' import * as React from 'react' import { useEffect, useState } from 'react' import { useTranslation } from 'react-i18next' import Sidebar from '@/app/components/explore/sidebar' import { useAppContext } from '@/context/app-context' import ExploreContext from '@/context/explore-context' import useDocumentTitle from '@/hooks/use-document-title' import { useMembers } from '@/service/use-common' export type IExploreProps = { children: React.ReactNode } const Explore: FC = ({ children, }) => { const router = useRouter() const [controlUpdateInstalledApps, setControlUpdateInstalledApps] = useState(0) const { userProfile, isCurrentWorkspaceDatasetOperator } = useAppContext() const [hasEditPermission, setHasEditPermission] = useState(false) const [installedApps, setInstalledApps] = useState([]) const [isFetchingInstalledApps, setIsFetchingInstalledApps] = useState(false) const { t } = useTranslation() const { data: membersData } = useMembers() useDocumentTitle(t('menus.explore', { ns: 'common' })) useEffect(() => { if (!membersData?.accounts) return const currUser = membersData.accounts.find(account => account.id === userProfile.id) setHasEditPermission(currUser?.role !== 'normal') }, [membersData, userProfile.id]) useEffect(() => { if (isCurrentWorkspaceDatasetOperator) return router.replace('/datasets') }, [isCurrentWorkspaceDatasetOperator]) return (
{children}
) } export default React.memo(Explore)