Fix workspace prefill and remove user allowImpersonation Boolean

This commit is contained in:
Charles Bochet
2023-11-24 00:07:15 +01:00
parent 5038c36df4
commit 2d0f63219f
12 changed files with 21 additions and 76 deletions
@@ -1,5 +1,6 @@
import { useTheme } from '@emotion/react';
import styled from '@emotion/styled';
import { isNonEmptyString } from '@sniptt/guards';
import { ActivityTargetChips } from '@/activities/components/ActivityTargetChips';
import { useOpenActivityRightDrawer } from '@/activities/hooks/useOpenActivityRightDrawer';
@@ -71,7 +72,8 @@ export const TaskRow = ({
const theme = useTheme();
const openActivityRightDrawer = useOpenActivityRightDrawer();
const body = JSON.parse(task.body ?? '{}')[0]?.content[0]?.text;
const body = JSON.parse(isNonEmptyString(task.body) ? task.body : '{}')[0]
?.content[0]?.text;
const { completeTask } = useCompleteTask(task);
const activityTargetIds =
@@ -1,5 +1,6 @@
import { Tooltip } from 'react-tooltip';
import styled from '@emotion/styled';
import { isNonEmptyString } from '@sniptt/guards';
import { useOpenActivityRightDrawer } from '@/activities/hooks/useOpenActivityRightDrawer';
import { useCompleteTask } from '@/activities/tasks/hooks/useCompleteTask';
@@ -136,7 +137,9 @@ type TimelineActivityProps = {
export const TimelineActivity = ({ activity }: TimelineActivityProps) => {
const beautifiedCreatedAt = beautifyPastDateRelativeToNow(activity.createdAt);
const exactCreatedAt = beautifyExactDateTime(activity.createdAt);
const body = JSON.parse(activity.body ?? '{}')[0]?.content[0]?.text;
const body = JSON.parse(
isNonEmptyString(activity.body) ? activity.body : '{}',
)[0]?.content[0]?.text;
const openActivityRightDrawer = useOpenActivityRightDrawer();
const { completeTask } = useCompleteTask(activity);
@@ -33,6 +33,11 @@ export const settingsFieldMetadataTypes: Record<
defaultValue:
'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum magna enim, dapibus non enim in, lacinia faucibus nunc. Sed interdum ante sed felis facilisis, eget ultricies neque molestie. Mauris auctor, justo eu volutpat cursus, libero erat tempus nulla, non sodales lorem lacus a est.',
},
[FieldMetadataType.Numeric]: {
label: 'Numeric',
Icon: IconNumbers,
defaultValue: 2000,
},
[FieldMetadataType.Number]: {
label: 'Number',
Icon: IconNumbers,
@@ -1,51 +0,0 @@
import { useRecoilState } from 'recoil';
import { currentWorkspaceMemberState } from '@/auth/states/currentWorkspaceMemberState';
import { useUpdateOneObjectRecord } from '@/object-record/hooks/useUpdateOneObjectRecord';
import { useSnackBar } from '@/ui/feedback/snack-bar-manager/hooks/useSnackBar';
import { Toggle } from '@/ui/input/components/Toggle';
export const ToggleField = () => {
const { enqueueSnackBar } = useSnackBar();
const [currentWorkspaceMember, setCurrentWorkspaceMember] = useRecoilState(
currentWorkspaceMemberState,
);
const { updateOneObject, objectNotFoundInMetadata } =
useUpdateOneObjectRecord({
objectNameSingular: 'workspaceMember',
});
const handleChange = async (value: boolean) => {
try {
if (!updateOneObject || objectNotFoundInMetadata) {
throw new Error('Object not found in metadata');
}
if (!currentWorkspaceMember?.id) {
throw new Error('User is not logged in');
}
await updateOneObject({
idToUpdate: currentWorkspaceMember?.id,
input: {
allowImpersonation: value,
},
});
setCurrentWorkspaceMember({
...currentWorkspaceMember,
allowImpersonation: value,
});
} catch (err: any) {
enqueueSnackBar(err?.message, {
variant: 'error',
});
}
};
return (
<Toggle
value={currentWorkspaceMember?.allowImpersonation}
onChange={handleChange}
/>
);
};
@@ -17,7 +17,6 @@ export const USER_QUERY_FRAGMENT = gql`
colorScheme
avatarUrl
locale
allowImpersonation
}
defaultWorkspace {
id
@@ -18,7 +18,6 @@ export const GET_CURRENT_USER = gql`
colorScheme
avatarUrl
locale
allowImpersonation
}
defaultWorkspace {
id
@@ -9,5 +9,4 @@ export type WorkspaceMember = {
avatarUrl?: string | null;
locale: string;
colorScheme?: ColorScheme;
allowImpersonation: boolean;
};