* feat: redirect to Plan Required page if subscription status is not active Closes #2934 * feat: navigate to Plan Required in PageChangeEffect * feat: add Twenty logo to Plan Required modal * test: add Storybook story * Fix lint --------- Co-authored-by: Charles Bochet <charles@twenty.com>
26 lines
878 B
TypeScript
26 lines
878 B
TypeScript
import { useRecoilValue } from 'recoil';
|
|
|
|
import { currentWorkspaceMemberState } from '@/auth/states/currentWorkspaceMemberState';
|
|
import { currentWorkspaceState } from '@/auth/states/currentWorkspaceState';
|
|
import { billingState } from '@/client-config/states/billingState';
|
|
|
|
import { useIsLogged } from '../hooks/useIsLogged';
|
|
import {
|
|
getOnboardingStatus,
|
|
OnboardingStatus,
|
|
} from '../utils/getOnboardingStatus';
|
|
|
|
export const useOnboardingStatus = (): OnboardingStatus | undefined => {
|
|
const billing = useRecoilValue(billingState);
|
|
const currentWorkspaceMember = useRecoilValue(currentWorkspaceMemberState);
|
|
const currentWorkspace = useRecoilValue(currentWorkspaceState);
|
|
const isLoggedIn = useIsLogged();
|
|
|
|
return getOnboardingStatus({
|
|
isLoggedIn,
|
|
currentWorkspaceMember,
|
|
currentWorkspace,
|
|
isBillingEnabled: billing?.isBillingEnabled,
|
|
});
|
|
};
|