Upload Workspace logo during onboarding (#542)

* Upload image

* Upload image

* Fix tests

* Remove pictures from seeds

* Fix storybook

* Fix storybook

* Fix storybook
This commit is contained in:
Charles Bochet
2023-07-08 16:46:04 -07:00
committed by GitHub
parent e03d5ed8a7
commit be7731b71a
22 changed files with 226 additions and 41 deletions

View File

@ -10,7 +10,7 @@ import {
useUploadProfilePictureMutation,
} from '~/generated/graphql';
export function PictureUploader() {
export function ProfilePictureUploader() {
const [uploadPicture] = useUploadProfilePictureMutation();
const [removePicture] = useRemoveProfilePictureMutation();
const [currentUser] = useRecoilState(currentUserState);

View File

@ -0,0 +1,44 @@
import { getOperationName } from '@apollo/client/utilities';
import { useRecoilState } from 'recoil';
import { currentUserState } from '@/auth/states/currentUserState';
import { ImageInput } from '@/ui/components/inputs/ImageInput';
import { GET_CURRENT_USER } from '@/users/queries';
import { getImageAbsoluteURI } from '@/users/utils/getProfilePictureAbsoluteURI';
import {
useRemoveWorkspaceLogoMutation,
useUploadWorkspaceLogoMutation,
} from '~/generated/graphql';
export function WorkspaceLogoUploader() {
const [uploadLogo] = useUploadWorkspaceLogoMutation();
const [removeLogo] = useRemoveWorkspaceLogoMutation();
const [currentUser] = useRecoilState(currentUserState);
async function onUpload(file: File) {
if (!file) {
return;
}
await uploadLogo({
variables: {
file,
},
refetchQueries: [getOperationName(GET_CURRENT_USER) ?? ''],
});
}
async function onRemove() {
await removeLogo({
refetchQueries: [getOperationName(GET_CURRENT_USER) ?? ''],
});
}
return (
<ImageInput
picture={getImageAbsoluteURI(
currentUser?.workspaceMember?.workspace.logo,
)}
onUpload={onUpload}
onRemove={onRemove}
/>
);
}