in apps/chat/src/pages/index.tsx [37:112]
function Home() {
useCustomizations();
const isProfileOpen = useAppSelector(UISelectors.selectIsProfileOpen);
const enabledFeatures = useAppSelector(
SettingsSelectors.selectEnabledFeatures,
);
const { conversationsToMigrateCount, migratedConversationsCount } =
useAppSelector(
MigrationSelectors.selectConversationsToMigrateAndMigratedCount,
);
const { promptsToMigrateCount, migratedPromptsCount } = useAppSelector(
MigrationSelectors.selectPromptsToMigrateAndMigratedCount,
);
const failedMigratedConversations = useAppSelector(
MigrationSelectors.selectFailedMigratedConversations,
);
const failedMigratedPrompts = useAppSelector(
MigrationSelectors.selectFailedMigratedPrompts,
);
const showSelectToMigrateWindow = useAppSelector(
selectShowSelectToMigrateWindow,
);
const isImportingExporting = useAppSelector(
ImportExportSelectors.selectIsLoadingImportExport,
);
if (conversationsToMigrateCount !== 0 || promptsToMigrateCount !== 0) {
if (
conversationsToMigrateCount + promptsToMigrateCount ===
migratedPromptsCount + migratedConversationsCount
) {
return window.location.reload();
}
}
return (
<>
{conversationsToMigrateCount + promptsToMigrateCount !==
migratedPromptsCount + migratedConversationsCount ? (
<Migration
total={conversationsToMigrateCount + promptsToMigrateCount}
uploaded={migratedPromptsCount + migratedConversationsCount}
/>
) : failedMigratedConversations.length ||
failedMigratedPrompts.length ||
showSelectToMigrateWindow ? (
<MigrationFailedWindow
showSelectToMigrateWindow={showSelectToMigrateWindow}
failedMigratedConversations={failedMigratedConversations}
failedMigratedPrompts={failedMigratedPrompts}
/>
) : (
<div className="flex size-full flex-col sm:pt-0">
{enabledFeatures.has(Feature.Header) && <Header />}
<div className="flex w-full grow overflow-auto">
{enabledFeatures.has(Feature.ConversationsSection) && <Chatbar />}
<div className="flex min-w-0 grow flex-col">
<AnnouncementsBanner />
<Chat />
{isImportingExporting && (
<ImportExportLoader isOpen={isImportingExporting} />
)}
</div>
{enabledFeatures.has(Feature.PromptsSection) && <Promptbar />}
{isProfileOpen && <UserMobile />}
<MainModalManager />
</div>
</div>
)}
</>
);
}