jan/web/screens/Thread/index.tsx

49 lines
1.3 KiB
TypeScript

import { memo } from 'react'
import { useStarterScreen } from '@/hooks/useStarterScreen'
import ThreadLeftPanel from '@/screens/Thread/ThreadLeftPanel'
import ThreadCenterPanel from './ThreadCenterPanel'
import OnDeviceStarterScreen from './ThreadCenterPanel/ChatBody/OnDeviceStarterScreen'
import ModalCleanThread from './ThreadLeftPanel/ModalCleanThread'
import ModalDeleteThread from './ThreadLeftPanel/ModalDeleteThread'
import ModalEditTitleThread from './ThreadLeftPanel/ModalEditTitleThread'
import ThreadRightPanel from './ThreadRightPanel'
type Props = {
isShowStarterScreen: boolean
}
const ThreadPanels = memo(({ isShowStarterScreen }: Props) => {
return isShowStarterScreen ? (
<OnDeviceStarterScreen />
) : (
<>
<ThreadLeftPanel />
<ThreadCenterPanel />
<ThreadRightPanel />
</>
)
})
const WelcomeController = () => {
const { isShowStarterScreen } = useStarterScreen()
return <ThreadPanels isShowStarterScreen={isShowStarterScreen} />
}
const ThreadScreen = () => {
return (
<div className="relative flex h-full w-full flex-1 overflow-x-hidden">
<WelcomeController />
{/* Showing variant modal action for thread screen */}
<ModalEditTitleThread />
<ModalCleanThread />
<ModalDeleteThread />
</div>
)
}
export default memo(ThreadScreen)