Improvements to file upload
This commit is contained in:
parent
665f07f5e6
commit
f3fb37eb8d
|
@ -136,6 +136,9 @@ const UploadPage = () => {
|
|||
const [logFiles, setLogFiles] = useState<File[]>([]);
|
||||
const [toothLogFiles, setToothLogFiles] = useState<File[]>([]);
|
||||
|
||||
const [logsTouched, setLogsTouched] = useState(false);
|
||||
const [toothLogsTouched, setToothLogsTouched] = useState(false);
|
||||
|
||||
const shareSupported = 'share' in navigator;
|
||||
const { currentUser, refreshUser } = useAuth();
|
||||
const navigate = useNavigate();
|
||||
|
@ -261,12 +264,15 @@ const UploadPage = () => {
|
|||
}
|
||||
});
|
||||
|
||||
|
||||
if (existingTune) {
|
||||
// clear old multi files first
|
||||
const tempFormData = new FormData();
|
||||
tempFormData.append('logFiles', '');
|
||||
tempFormData.append('toothLogFiles', '');
|
||||
await updateTune(existingTune.id, tempFormData as unknown as TunesRecord);
|
||||
if (logsTouched || toothLogsTouched) {
|
||||
// clear old multi files first since there is no other way to handle this
|
||||
const tempFormData = new FormData();
|
||||
tempFormData.append('logFiles', '');
|
||||
tempFormData.append('toothLogFiles', '');
|
||||
await updateTune(existingTune.id, tempFormData as unknown as TunesRecord);
|
||||
}
|
||||
|
||||
// another update with new files
|
||||
await updateTune(existingTune.id, formData as unknown as TunesRecord);
|
||||
|
@ -343,6 +349,7 @@ const UploadPage = () => {
|
|||
const uploadLogs = async (options: UploadRequestOption) => {
|
||||
upload(options, async (file) => {
|
||||
setLogFiles((prev) => [...prev, file]);
|
||||
setLogsTouched(true);
|
||||
}, async (file) => {
|
||||
const { result, message } = await validateSize(file);
|
||||
if (!result) {
|
||||
|
@ -376,6 +383,7 @@ const UploadPage = () => {
|
|||
const uploadToothLogs = async (options: UploadRequestOption) => {
|
||||
upload(options, async (file) => {
|
||||
setToothLogFiles((prev) => [...prev, file]);
|
||||
setToothLogsTouched(true);
|
||||
}, async (file) => {
|
||||
const { result, message } = await validateSize(file);
|
||||
if (!result) {
|
||||
|
@ -422,11 +430,13 @@ const UploadPage = () => {
|
|||
};
|
||||
|
||||
const removeLogFile = async (file: UploadFile) => {
|
||||
setLogFiles((prev) => prev.filter((f) => f.name !== file.name));
|
||||
setLogFiles((prev) => prev.filter((f) => removeFilenameSuffix(f.name) !== file.name));
|
||||
setLogsTouched(true);
|
||||
};
|
||||
|
||||
const removeToothLogFile = async (file: UploadFile) => {
|
||||
setToothLogFiles((prev) => prev.filter((f) => f.name !== file.name));
|
||||
setToothLogFiles((prev) => prev.filter((f) => removeFilenameSuffix(f.name) !== file.name));
|
||||
setToothLogsTouched(true);
|
||||
};
|
||||
|
||||
const removeCustomIniFile = async (file: UploadFile) => {
|
||||
|
|
Loading…
Reference in New Issue