chrone: sperate client and server to different repos.

This commit is contained in:
a.bouhuolia
2021-09-21 17:13:53 +02:00
parent e011b2a82b
commit 18df5530c7
10015 changed files with 17686 additions and 97524 deletions

View File

@@ -0,0 +1,37 @@
import React from 'react';
import { connect } from 'react-redux';
import { Redirect } from 'react-router-dom';
import { compose } from 'utils';
import withAuthentication from 'containers/Authentication/withAuthentication';
import withOrganization from 'containers/Organization/withOrganization';
/**
* Ensures organization is not ready.
*/
function EnsureOrganizationIsNotReady({
children,
// #withOrganization
isOrganizationReady,
isOrganizationSetupCompleted
}) {
return (isOrganizationReady && !isOrganizationSetupCompleted) ? (
<Redirect to={{ pathname: '/' }} />
) : children;
}
export default compose(
withAuthentication(({ currentOrganizationId }) => ({
currentOrganizationId,
})),
connect((state, props) => ({
organizationId: props.currentOrganizationId,
})),
withOrganization(({
isOrganizationReady,
isOrganizationSetupCompleted
}) => ({
isOrganizationReady,
isOrganizationSetupCompleted
})),
)(EnsureOrganizationIsNotReady);

View File

@@ -0,0 +1,31 @@
import React from 'react';
import { connect } from 'react-redux';
import { Redirect } from 'react-router-dom';
import { compose } from 'utils';
import withAuthentication from 'containers/Authentication/withAuthentication';
import withOrganization from 'containers/Organization/withOrganization';
function EnsureOrganizationIsReady({
// #ownProps
children,
redirectTo = '/setup',
// #withOrganizationByOrgId
isOrganizationReady,
}) {
return (isOrganizationReady) ? children : (
<Redirect
to={{ pathname: redirectTo }}
/>
);
}
export default compose(
withAuthentication(),
connect((state, props) => ({
organizationId: props.currentOrganizationId,
})),
withOrganization(({ isOrganizationReady }) => ({ isOrganizationReady })),
)(EnsureOrganizationIsReady);

View File

@@ -0,0 +1,31 @@
import React from 'react';
import { includes } from 'lodash';
import { compose } from 'utils';
import { Redirect } from 'react-router-dom';
import withSubscriptions from '../../containers/Subscriptions/withSubscriptions';
/**
* Ensures the given subscription type is active or redirect to the given route.
*/
function EnsureSubscriptionIsActive({
children,
subscriptionType = 'main',
redirectTo = '/billing',
routePath,
exclude,
isSubscriptionActive,
}) {
return isSubscriptionActive || includes(exclude, routePath) ? (
children
) : (
<Redirect to={{ pathname: redirectTo }} />
);
}
export default compose(
withSubscriptions(
({ isSubscriptionActive }) => ({ isSubscriptionActive }),
'main',
),
)(EnsureSubscriptionIsActive);

View File

@@ -0,0 +1,31 @@
import React from 'react';
import { includes } from 'lodash';
import { compose } from 'utils';
import { Redirect } from 'react-router-dom';
import withSubscriptions from '../../containers/Subscriptions/withSubscriptionss';
/**
* Ensures the given subscription type is active or redirect to the given route.
*/
function EnsureSubscriptionsIsActive({
children,
subscriptionType = 'main',
redirectTo = '/billing',
routePath,
exclude,
isSubscriptionsActive,
}) {
return !isSubscriptionsActive || includes(exclude, routePath) ? (
children
) : (
<Redirect to={{ pathname: redirectTo }} />
);
}
export default compose(
withSubscriptions(
({ isSubscriptionsActive }) => ({ isSubscriptionsActive }),
'main',
),
)(EnsureSubscriptionsIsActive);

View File

@@ -0,0 +1,31 @@
import React from 'react';
import { includes } from 'lodash';
import { compose } from 'utils';
import { Redirect } from 'react-router-dom';
import withSubscriptions from '../../containers/Subscriptions/withSubscriptionss';
/**
* Ensures the given subscription type is active or redirect to the given route.
*/
function EnsureSubscriptionsIsInactive({
children,
subscriptionType = 'main',
redirectTo = '/billing',
routePath,
exclude,
isSubscriptionsInactive,
}) {
return !isSubscriptionsInactive || includes(exclude, routePath) ? (
children
) : (
<Redirect to={{ pathname: redirectTo }} />
);
}
export default compose(
withSubscriptions(
({ isSubscriptionsInactive }) => ({ isSubscriptionsInactive }),
'main',
),
)(EnsureSubscriptionsIsInactive);

View File

@@ -0,0 +1,18 @@
import React from 'react';
import BodyClassName from 'react-body-classname';
import { Redirect } from 'react-router-dom';
import { useIsAuthenticated } from 'hooks/state';
export default function PrivateRoute({ component: Component, ...rest }) {
const isAuthenticated = useIsAuthenticated();
return (
<BodyClassName className={''}>
{isAuthenticated ? (
<Component />
) : (
<Redirect to={{ pathname: '/auth/login' }} />
)}
</BodyClassName>
);
}