Skip to content

Commit 2690c68

Browse files
authored
Merge pull request #302 from nikhil-krajput/cherry-pick-pr-301-release-1.0
cherry pick : Added spinner to file upload in knowledge section
2 parents 2acc624 + ba11456 commit 2690c68

File tree

2 files changed

+22
-0
lines changed

2 files changed

+22
-0
lines changed

src/components/Contribute/Knowledge/UploadFile.tsx

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ import UploadIcon from '@patternfly/react-icons/dist/esm/icons/upload-icon';
1212
import { FileRejection, DropEvent } from 'react-dropzone';
1313
import { Button } from '@patternfly/react-core/dist/dynamic/components/Button';
1414
import { HelperText, HelperTextItem } from '@patternfly/react-core/dist/dynamic/components/HelperText';
15+
import { Spinner } from '@patternfly/react-core/dist/esm/components/Spinner';
16+
import './knowledge.css';
1517

1618
interface readFile {
1719
fileName: string;
@@ -24,6 +26,7 @@ export const UploadFile: React.FunctionComponent<{ onFilesChange: (files: File[]
2426
const [currentFiles, setCurrentFiles] = useState<File[]>([]);
2527
const [readFileData, setReadFileData] = useState<readFile[]>([]);
2628
const [showStatus, setShowStatus] = useState(false);
29+
const [isUploading, setIsUploading] = useState(false);
2730
const [statusIcon, setStatusIcon] = useState<'inProgress' | 'success' | 'danger'>('inProgress');
2831
const [modalText, setModalText] = useState('');
2932

@@ -53,6 +56,7 @@ export const UploadFile: React.FunctionComponent<{ onFilesChange: (files: File[]
5356
};
5457

5558
const handleFileDrop = (_event: DropEvent, droppedFiles: File[]) => {
59+
setIsUploading(true);
5660
const currentFileNames = currentFiles.map((file) => file.name);
5761
const reUploads = droppedFiles.filter((file) => currentFileNames.includes(file.name));
5862

@@ -70,6 +74,7 @@ export const UploadFile: React.FunctionComponent<{ onFilesChange: (files: File[]
7074
if (existingFile) {
7175
return prevReadFiles;
7276
}
77+
setIsUploading(false);
7378
return [...prevReadFiles, { data, fileName: file.name, loadResult: 'success' }];
7479
});
7580
};
@@ -126,6 +131,16 @@ export const UploadFile: React.FunctionComponent<{ onFilesChange: (files: File[]
126131
titleTextSeparator="or"
127132
infoText="Accepted file types: Markdown"
128133
/>
134+
<p className="spinner-container">
135+
{isUploading && (
136+
<>
137+
<Spinner size="lg" />
138+
<p>
139+
Uploading files to <code>taxonomy-knowledge-docs</code> repo in your github account.
140+
</p>
141+
</>
142+
)}
143+
</p>
129144
{showStatus && (
130145
<MultipleFileUploadStatus
131146
statusToggleText={`${successfullyReadFileCount} of ${currentFiles.length} files uploaded`}

src/components/Contribute/Knowledge/knowledge.css

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,10 @@
2222
.button-secondary:hover {
2323
border-color: #45a049;
2424
}
25+
26+
.spinner-container{
27+
display: flex;
28+
justify-content: center;
29+
align-items: center;
30+
gap: 1rem;
31+
}

0 commit comments

Comments
 (0)