Skip to content

Commit bc26dce

Browse files
committed
Overwrite indicator
1 parent 3142f96 commit bc26dce

File tree

4 files changed

+24
-5
lines changed

4 files changed

+24
-5
lines changed

src/explorer/googleDriveUploadDialog/GoogleDriveUploadDialog.tsx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,9 @@ const GoogleDriveUploadDialog: React.FunctionComponent = () => {
3232
const isUploadFailed = useSelector(
3333
(s) => s.explorer.googleDriveUploadDialog.isUploadFailed,
3434
);
35+
const overwroteExistingFile = useSelector(
36+
(s) => s.explorer.googleDriveUploadDialog.overwroteExistingFile,
37+
);
3538

3639
const inputRef = useRef<HTMLInputElement>(null);
3740

@@ -122,6 +125,7 @@ const GoogleDriveUploadDialog: React.FunctionComponent = () => {
122125
>
123126
{fileName}
124127
</a>
128+
{(overwroteExistingFile && ' (Overwrote)') || ' (New file)'}
125129
</div>
126130
)}
127131
{isUploadFailed && <div>Upload failed.</div>}

src/explorer/googleDriveUploadDialog/reducers.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,16 @@ const uploadedDocId: Reducer<string> = (state = '', action) => {
5757
return state;
5858
};
5959

60+
const overwroteExistingFile: Reducer<boolean> = (state = false, action) => {
61+
if (googleDriveUploadDialogShow.matches(action)) {
62+
return false;
63+
}
64+
if (googleDriveDidUploadFile.matches(action)) {
65+
return action.overwroteExistingFile;
66+
}
67+
return state;
68+
};
69+
6070
const isUploadFailed: Reducer<boolean> = (state = false, action) => {
6171
if (googleDriveUploadDialogShow.matches(action)) {
6272
return false;
@@ -66,10 +76,12 @@ const isUploadFailed: Reducer<boolean> = (state = false, action) => {
6676
}
6777
return state;
6878
};
79+
6980
export default combineReducers({
7081
isOpen,
7182
fileName,
7283
descFolder,
7384
uploadedDocId,
7485
isUploadFailed,
86+
overwroteExistingFile,
7587
});

src/googleDrive/actions.ts

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,13 @@ export const googleDriveUploadFile = createAction(
1717
}),
1818
);
1919

20-
export const googleDriveDidUploadFile = createAction((uploadedFileId: string) => ({
21-
type: 'googleDrive.action.didUploadFile',
22-
uploadedFileId,
23-
}));
20+
export const googleDriveDidUploadFile = createAction(
21+
(uploadedFileId: string, overwroteExistingFile: boolean) => ({
22+
type: 'googleDrive.action.didUploadFile',
23+
uploadedFileId,
24+
overwroteExistingFile,
25+
}),
26+
);
2427

2528
export const googleDriveFailToUploadFile = createAction((err: Error) => ({
2629
type: 'googleDrive.action.failToUploadFile',

src/googleDrive/sagas.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ function* handleUploadFile(
151151

152152
const fileId = yield* call(() => uploadFile);
153153

154-
yield* put(googleDriveDidUploadFile(fileId));
154+
yield* put(googleDriveDidUploadFile(fileId, existingFile !== undefined));
155155
} catch (err) {
156156
console.log('Failed to upload file to Google Drive:', err);
157157
yield* put(googleDriveFailToUploadFile(ensureError(err)));

0 commit comments

Comments
 (0)