import React from 'react' import useConfig from '../../providers/Config/useConfig' import { LoginResult } from '../ConnectButton' import TrunkrsFull from '../../../shared/components/vectors/TrunkrsFull' import CenteredContainer from '../CenteredContainer' import ConnectionPanel from '../ConnectionPanel' import DetailsPanel from '../DetailsPanel' import CheckoutPanel from '../CheckoutPanel' import AdvancedCheckout from '../AdvancedCheckout' import { RuleModel } from '../AdvancedCheckout/RulesModal' import { fromOrderRuleString, toOrderRuleString } from './helpers' import './AppContainer.scss' const AppContainer: React.FC = () => { const { isWorking, config, prepareConfig, updateUseBigText, updateIsDarkLogo, updateTntLinks, updateTntActions, updateAllOrdersAreTrunkrs, updateUseOrderRules, updateOrderRules, updateIsSubRenewalsEnabled, } = useConfig() const [isWorkingRules, setWorkingRules] = React.useState(false) const handleLoginDone = React.useCallback( async (result: LoginResult): Promise => prepareConfig(result.accessToken, result.organizationId), [prepareConfig], ) const handleSaveRules = React.useCallback( async (rules: RuleModel[]) => { try { setWorkingRules(true) await updateOrderRules(toOrderRuleString(rules)) } finally { setWorkingRules(false) } }, [updateOrderRules], ) const parsedRules = React.useMemo( () => fromOrderRuleString(config?.orderRules), [config?.orderRules], ) return ( {!config?.isConfigured ? ( ) : ( <> )} ) } export default AppContainer