// @ts-nocheck import React from 'react'; import { ProgressBar, Intent } from '@blueprintjs/core'; import * as R from 'ramda'; import { x } from '@xstyled/emotion'; import { css } from '@emotion/css'; import { useIsDarkMode } from '@/hooks/useDarkMode'; import { useJob, useCurrentOrganization } from '@/hooks/query'; import { FormattedMessage as T } from '@/components'; import withOrganizationActions from '@/containers/Organization/withOrganizationActions'; import withCurrentOrganization from '@/containers/Organization/withCurrentOrganization'; import withOrganization from '../Organization/withOrganization'; /** * Setup initializing step form. */ function SetupInitializingForm({ setOrganizationSetupCompleted, organization, }) { const { refetch, isSuccess } = useCurrentOrganization({ enabled: false }); // Job done state. const [isJobDone, setIsJobDone] = React.useState(false); const { data: { isRunning, isWaiting, isFailed, isCompleted }, isFetching: isJobFetching, } = useJob(organization?.build_job_id, { refetchInterval: 2000, enabled: !!organization?.build_job_id, }); React.useEffect(() => { if (isCompleted) { refetch(); setIsJobDone(true); } }, [refetch, isCompleted, setOrganizationSetupCompleted]); React.useEffect(() => { if (isSuccess && isJobDone) { setOrganizationSetupCompleted(true); setIsJobDone(false); } }, [setOrganizationSetupCompleted, isJobDone, isSuccess]); return ( {isFailed ? ( ) : isRunning || isWaiting || isJobFetching ? ( ) : isCompleted ? ( ) : ( )} ); } export default R.compose( withOrganizationActions, withCurrentOrganization(({ organizationTenantId }) => ({ organizationId: organizationTenantId, })), withOrganization(({ organization }) => ({ organization })), )(SetupInitializingForm); /** * State initializing failed state. */ function SetupInitializingFailed() { const isDarkMode = useIsDarkMode(); return ( ); } /** * Setup initializing running state. */ function SetupInitializingRunning() { const isDarkMode = useIsDarkMode(); const progressBarStyles = css` .bp4-progress-bar { border-radius: 40px; display: block; height: 6px; overflow: hidden; position: relative; width: 80%; margin: 0 auto; .bp4-progress-meter { background-color: #809cb3; } } `; return ( ); } /** * Setup initializing completed state. */ function SetupInitializingCompleted() { const isDarkMode = useIsDarkMode(); return ( ); }