From 9f24eeee88dd7626f041b2ca93c66179ac99db77 Mon Sep 17 00:00:00 2001 From: DiamondThree Date: Fri, 23 Dec 2022 18:21:23 +0800 Subject: [PATCH] feat: upload avatar --- .../workspace-setting/general/general.tsx | 28 +++++++++++++------ .../workspace-setting/general/style.ts | 2 +- 2 files changed, 20 insertions(+), 10 deletions(-) diff --git a/packages/app/src/components/workspace-setting/general/general.tsx b/packages/app/src/components/workspace-setting/general/general.tsx index 34673b9955..c81578a793 100644 --- a/packages/app/src/components/workspace-setting/general/general.tsx +++ b/packages/app/src/components/workspace-setting/general/general.tsx @@ -9,7 +9,11 @@ import { StyledSettingH2 } from '../style'; import { useState } from 'react'; import { Button } from '@/ui/button'; import Input from '@/ui/input'; -import { Workspace, WorkspaceType } from '@pathfinder/data-services'; +import { + uploadBlob, + Workspace, + WorkspaceType, +} from '@pathfinder/data-services'; import { useAppState } from '@/providers/app-state-provider'; import { WorkspaceDetails } from '@/components/workspace-slider-bar/WorkspaceSelector/SelectorPopperContent'; import { WorkspaceDelete } from './delete'; @@ -70,16 +74,18 @@ export const GeneralPage = ({ setShowLeave(false); }; + const fileChange = async (file: File) => { + const blob = new Blob([file], { type: file.type }); + const blobId = await uploadBlob({ blob }); + const newAvatar = `/api/blob/${blobId}`; + currentWorkspace?.meta.setAvatar(newAvatar); + workspaces[workspace.id]?.meta.setAvatar(newAvatar); + debouncedRefreshWorkspacesMeta(); + }; + return workspace ? (
- - Workspace Avatar - { - console.log(file); - }} - > - + Workspace Avatar {workspaces[workspace.id]?.meta.name[0]} + {/* TODO: add upload logic */} {/* {isOwner ? ( upload diff --git a/packages/app/src/components/workspace-setting/general/style.ts b/packages/app/src/components/workspace-setting/general/style.ts index 19e8c98b0b..e4b505f228 100644 --- a/packages/app/src/components/workspace-setting/general/style.ts +++ b/packages/app/src/components/workspace-setting/general/style.ts @@ -24,5 +24,5 @@ export const StyledSettingAvatarContent = styled('div')(() => { }); export const StyledSettingAvatar = styled(MuiAvatar)(() => { - return { height: '72px', width: '72px' }; + return { height: '72px', width: '72px', marginRight: '24px' }; });