MCPcopy Create free account
hub / github.com/Linen-dev/linen.dev / onAvatarChange

Function onAvatarChange

apps/web/ui/ProfileForm/index.tsx:47–73  ·  view source on GitHub ↗
(event: React.ChangeEvent<HTMLInputElement>)

Source from the content-addressed store, hash-verified

45 };
46
47 const onAvatarChange = async (event: React.ChangeEvent<HTMLInputElement>) => {
48 const file = event.target.files?.[0];
49 if (file) {
50 if (file.size > FILE_SIZE_LIMIT_IN_BYTES) {
51 event.target.value = '';
52 return Toast.error(getFileSizeErrorMessage(file.name));
53 }
54 const formData = new FormData();
55 formData.set('file', file, file.name);
56 try {
57 setUploading(true);
58 await onUpload(formData, {
59 onUploadProgress: (progressEvent: ProgressEvent) => {
60 const percentCompleted = Math.round(
61 (progressEvent.loaded * 100) / progressEvent.total
62 );
63 setProgress(percentCompleted);
64 },
65 });
66 } catch (exception) {
67 event.target.value = '';
68 Toast.error('Something went wrong. Please try again.');
69 } finally {
70 setUploading(false);
71 }
72 }
73 };
74
75 return (
76 <>

Callers

nothing calls this directly

Calls 3

getFileSizeErrorMessageFunction · 0.90
errorMethod · 0.65
setMethod · 0.45

Tested by

no test coverage detected