Try without state

This commit is contained in:
Charles Bochet
2024-02-08 11:25:02 +01:00
parent b9b9f0a4be
commit dad5bb6d6d
12 changed files with 47 additions and 59 deletions
@@ -1,6 +0,0 @@
import { atom } from 'recoil';
export const isWorkspaceSchemaCreatedState = atom<boolean | null>({
key: 'isWorkspaceSchemaCreatedState',
default: null,
});
@@ -6,6 +6,7 @@ export enum OnboardingStatus {
Canceled = 'canceled',
OngoingUserCreation = 'ongoing_user_creation',
OngoingWorkspaceCreation = 'ongoing_workspace_creation',
OngoingWorkspaceActivation = 'ongoing_workspace_activation',
OngoingProfileCreation = 'ongoing_profile_creation',
Completed = 'completed',
}
@@ -44,7 +45,7 @@ export const getOnboardingStatus = ({
}
if (!currentWorkspaceMember) {
return undefined;
return OnboardingStatus.OngoingWorkspaceActivation;
}
if (
@@ -1,6 +1,7 @@
import { useRecoilValue } from 'recoil';
import { isWorkspaceSchemaCreatedState } from '@/auth/states/isWorkspaceSchemaCreated';
import { useOnboardingStatus } from '@/auth/hooks/useOnboardingStatus';
import { OnboardingStatus } from '@/auth/utils/getOnboardingStatus';
import { ObjectMetadataItemsLoadEffect } from '@/object-metadata/components/ObjectMetadataItemsLoadEffect';
import { objectMetadataItemsState } from '@/object-metadata/states/objectMetadataItemsState';
import { RelationPickerScope } from '@/object-record/relation-picker/scopes/RelationPickerScope';
@@ -9,14 +10,13 @@ export const ObjectMetadataItemsProvider = ({
children,
}: React.PropsWithChildren) => {
const objectMetadataItems = useRecoilValue(objectMetadataItemsState);
const isWorkspaceSchemaCreated = useRecoilValue(
isWorkspaceSchemaCreatedState,
);
const onboardingStatus = useOnboardingStatus();
return (
<>
<ObjectMetadataItemsLoadEffect />
{(!isWorkspaceSchemaCreated || !!objectMetadataItems.length) && (
{(onboardingStatus !== OnboardingStatus.Completed ||
!!objectMetadataItems.length) && (
<RelationPickerScope relationPickerScopeId="relation-picker">
{children}
</RelationPickerScope>
@@ -1,7 +1,8 @@
import { gql } from '@apollo/client';
import { useRecoilValue } from 'recoil';
import { isWorkspaceSchemaCreatedState } from '@/auth/states/isWorkspaceSchemaCreated';
import { useOnboardingStatus } from '@/auth/hooks/useOnboardingStatus';
import { OnboardingStatus } from '@/auth/utils/getOnboardingStatus';
import { ObjectMetadataItemNotFoundError } from '@/object-metadata/errors/ObjectMetadataNotFoundError';
import { useGetObjectOrderByField } from '@/object-metadata/hooks/useGetObjectOrderByField';
import { useMapToObjectRecordIdentifier } from '@/object-metadata/hooks/useMapToObjectRecordIdentifier';
@@ -40,9 +41,7 @@ export const useObjectMetadataItem = (
{ objectNameSingular }: ObjectMetadataItemIdentifier,
depth?: number,
) => {
const isWorkspaceSchemaCreated = useRecoilValue(
isWorkspaceSchemaCreatedState,
);
const onboardingStatus = useOnboardingStatus();
const mockObjectMetadataItems = getObjectMetadataItemsMock();
let objectMetadataItem = useRecoilValue(
@@ -54,7 +53,7 @@ export const useObjectMetadataItem = (
let objectMetadataItems = useRecoilValue(objectMetadataItemsState);
if (!isWorkspaceSchemaCreated) {
if (onboardingStatus !== OnboardingStatus.Completed) {
objectMetadataItem =
mockObjectMetadataItems.find(
(objectMetadataItem) =>
@@ -1,6 +1,7 @@
import { useRecoilValue } from 'recoil';
import { isWorkspaceSchemaCreatedState } from '@/auth/states/isWorkspaceSchemaCreated';
import { useOnboardingStatus } from '@/auth/hooks/useOnboardingStatus';
import { OnboardingStatus } from '@/auth/utils/getOnboardingStatus';
import { ObjectMetadataItemNotFoundError } from '@/object-metadata/errors/ObjectMetadataNotFoundError';
import { objectMetadataItemFamilySelector } from '@/object-metadata/states/objectMetadataItemFamilySelector';
import { objectMetadataItemsState } from '@/object-metadata/states/objectMetadataItemsState';
@@ -12,9 +13,7 @@ import { ObjectMetadataItemIdentifier } from '../types/ObjectMetadataItemIdentif
export const useObjectMetadataItemOnly = ({
objectNameSingular,
}: ObjectMetadataItemIdentifier) => {
const isWorkspaceSchemaCreated = useRecoilValue(
isWorkspaceSchemaCreatedState,
);
const onboardingStatus = useOnboardingStatus();
const mockObjectMetadataItems = getObjectMetadataItemsMock();
let objectMetadataItem = useRecoilValue(
@@ -26,7 +25,7 @@ export const useObjectMetadataItemOnly = ({
let objectMetadataItems = useRecoilValue(objectMetadataItemsState);
if (!isWorkspaceSchemaCreated) {
if (onboardingStatus !== OnboardingStatus.Completed) {
objectMetadataItem =
mockObjectMetadataItems.find(
(objectMetadataItem) =>
@@ -1,6 +1,7 @@
import { useRecoilValue } from 'recoil';
import { isWorkspaceSchemaCreatedState } from '@/auth/states/isWorkspaceSchemaCreated';
import { useOnboardingStatus } from '@/auth/hooks/useOnboardingStatus';
import { OnboardingStatus } from '@/auth/utils/getOnboardingStatus';
import { objectMetadataItemFamilySelector } from '@/object-metadata/states/objectMetadataItemFamilySelector';
import { getObjectMetadataItemsMock } from '@/object-metadata/utils/getObjectMetadataItemsMock';
import { isDefined } from '~/utils/isDefined';
@@ -10,9 +11,7 @@ export const useObjectNamePluralFromSingular = ({
}: {
objectNameSingular: string;
}) => {
const isWorkspaceSchemaCreated = useRecoilValue(
isWorkspaceSchemaCreatedState,
);
const onboardingStatus = useOnboardingStatus();
const mockObjectMetadataItems = getObjectMetadataItemsMock();
let objectMetadataItem = useRecoilValue(
@@ -22,7 +21,7 @@ export const useObjectNamePluralFromSingular = ({
}),
);
if (!isWorkspaceSchemaCreated) {
if (onboardingStatus !== OnboardingStatus.Completed) {
objectMetadataItem =
mockObjectMetadataItems.find(
(objectMetadataItem) =>
@@ -1,6 +1,7 @@
import { useRecoilValue } from 'recoil';
import { isWorkspaceSchemaCreatedState } from '@/auth/states/isWorkspaceSchemaCreated';
import { useOnboardingStatus } from '@/auth/hooks/useOnboardingStatus';
import { OnboardingStatus } from '@/auth/utils/getOnboardingStatus';
import { objectMetadataItemFamilySelector } from '@/object-metadata/states/objectMetadataItemFamilySelector';
import { getObjectMetadataItemsMock } from '@/object-metadata/utils/getObjectMetadataItemsMock';
import { isDefined } from '~/utils/isDefined';
@@ -10,9 +11,7 @@ export const useObjectNameSingularFromPlural = ({
}: {
objectNamePlural: string;
}) => {
const isWorkspaceSchemaCreated = useRecoilValue(
isWorkspaceSchemaCreatedState,
);
const onboardingStatus = useOnboardingStatus();
const mockObjectMetadataItems = getObjectMetadataItemsMock();
let objectMetadataItem = useRecoilValue(
@@ -22,7 +21,7 @@ export const useObjectNameSingularFromPlural = ({
}),
);
if (!isWorkspaceSchemaCreated) {
if (onboardingStatus !== OnboardingStatus.Completed) {
objectMetadataItem =
mockObjectMetadataItems.find(
(objectMetadataItem) =>
@@ -1,6 +1,7 @@
import { useRecoilValue, useSetRecoilState } from 'recoil';
import { currentWorkspaceState } from '@/auth/states/currentWorkspaceState';
import { useOnboardingStatus } from '@/auth/hooks/useOnboardingStatus';
import { OnboardingStatus } from '@/auth/utils/getOnboardingStatus';
import { useObjectMetadataItem } from '@/object-metadata/hooks/useObjectMetadataItem';
import { turnSortsIntoOrderBy } from '@/object-record/object-sort-dropdown/utils/turnSortsIntoOrderBy';
import { turnObjectDropdownFilterIntoQueryFilter } from '@/object-record/record-filter/utils/turnObjectDropdownFilterIntoQueryFilter';
@@ -13,7 +14,8 @@ import { useFindManyRecords } from '../../hooks/useFindManyRecords';
export const useLoadRecordIndexTable = (objectNameSingular: string) => {
const { setRecordTableData, setIsRecordTableInitialLoading } =
useRecordTable();
const currentWorkspace = useRecoilValue(currentWorkspaceState);
const onboardingStatus = useOnboardingStatus();
const { objectMetadataItem } = useObjectMetadataItem({
objectNameSingular,
@@ -51,7 +53,10 @@ export const useLoadRecordIndexTable = (objectNameSingular: string) => {
});
return {
records: currentWorkspace ? records : signInBackgroundMockCompanies,
records:
onboardingStatus === OnboardingStatus.Completed
? records
: signInBackgroundMockCompanies,
loading,
fetchMoreRecords,
queryStateIdentifier,
@@ -1,6 +0,0 @@
import { atomFamily } from 'recoil';
export const isCreateModeScopedState = atomFamily<boolean, string>({
key: 'isCreateModeScopedState',
default: false,
});
@@ -28,7 +28,6 @@ export const SignInBackgroundMockContainerEffect = ({
const {
setAvailableTableColumns,
setOnEntityCountChange,
setRecordTableData,
setTableColumns,
resetTableRowSelection,
} = useRecordTable({
@@ -77,7 +76,6 @@ export const SignInBackgroundMockContainerEffect = ({
setAvailableFieldDefinitions,
objectMetadataItem,
setAvailableTableColumns,
setRecordTableData,
setTableColumns,
]);
@@ -5,7 +5,6 @@ import { useSetRecoilState } from 'recoil';
import { currentUserState } from '@/auth/states/currentUserState';
import { currentWorkspaceMemberState } from '@/auth/states/currentWorkspaceMemberState';
import { currentWorkspaceState } from '@/auth/states/currentWorkspaceState';
import { isWorkspaceSchemaCreatedState } from '@/auth/states/isWorkspaceSchemaCreated';
import { GET_CURRENT_USER } from '@/users/graphql/queries/getCurrentUser';
import { ColorScheme } from '@/workspace-member/types/WorkspaceMember';
@@ -14,9 +13,7 @@ export const UserProvider = ({ children }: React.PropsWithChildren) => {
const setCurrentUser = useSetRecoilState(currentUserState);
const setCurrentWorkspace = useSetRecoilState(currentWorkspaceState);
const setIsWorkspaceSchemaCreated = useSetRecoilState(
isWorkspaceSchemaCreatedState,
);
const setCurrentWorkspaceMember = useSetRecoilState(
currentWorkspaceMemberState,
);
@@ -37,7 +34,6 @@ export const UserProvider = ({ children }: React.PropsWithChildren) => {
...workspaceMember,
colorScheme: (workspaceMember.colorScheme as ColorScheme) ?? 'Light',
});
setIsWorkspaceSchemaCreated(true);
}
}, [
setCurrentUser,
@@ -45,7 +41,6 @@ export const UserProvider = ({ children }: React.PropsWithChildren) => {
queryLoading,
setCurrentWorkspace,
setCurrentWorkspaceMember,
setIsWorkspaceSchemaCreated,
queryData?.currentUser,
]);
@@ -1,14 +1,19 @@
import { MigrationInterface, QueryRunner } from "typeorm";
import { MigrationInterface, QueryRunner } from 'typeorm';
export class AddDefaultAvatarUrlToUser1706613419989 implements MigrationInterface {
name = 'AddDefaultAvatarUrlToUser1706613419989'
export class AddDefaultAvatarUrlToUser1706613419989
implements MigrationInterface
{
name = 'AddDefaultAvatarUrlToUser1706613419989';
public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`ALTER TABLE "core"."user" ADD "defaultAvatarUrl" character varying`);
}
public async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`ALTER TABLE "core"."user" DROP COLUMN "defaultAvatarUrl"`);
}
public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(
`ALTER TABLE "core"."user" ADD "defaultAvatarUrl" character varying`,
);
}
public async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(
`ALTER TABLE "core"."user" DROP COLUMN "defaultAvatarUrl"`,
);
}
}