Skip to content

Commit 7c07842

Browse files
committed
VKT(Frontend): Hide native file input, render instead button to mimic designs [deploy]
1 parent 55b2431 commit 7c07842

File tree

4 files changed

+34
-7
lines changed

4 files changed

+34
-7
lines changed

frontend/packages/shared/src/components/FileUpload/FileUpload.scss

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
width: fit-content;
77
border: 1px dashed colors.$color-secondary;
88
font-size: 120%;
9+
display: none;
910
}
1011

1112
.custom-fileupload.file-upload-error input {
Lines changed: 30 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,48 @@
1-
import { ChangeEvent, FC } from 'react';
1+
import FileUploadIcon from '@mui/icons-material/FileUpload';
2+
import { Button } from '@mui/material';
3+
import { ChangeEvent, FC, ReactNode } from 'react';
24
import './FileUpload.scss';
5+
import { Color, Variant } from 'enums';
36

47
type FileUploadProps = {
58
accept?: string;
69
error?: boolean;
710
onChange: (files: FileList) => void;
11+
labelText: string;
812
};
913

10-
export const FileUpload: FC<FileUploadProps> = ({ accept, onChange, error }) => {
14+
export const FileUpload: FC<FileUploadProps> = ({
15+
accept,
16+
onChange,
17+
error,
18+
labelText,
19+
}) => {
1120
const handleChange = (event: ChangeEvent<HTMLInputElement>) => {
1221
if (event.target.files) {
1322
onChange(event.target.files);
1423
}
1524
};
1625

1726
return (
18-
<div className={`custom-fileupload ${error && 'file-upload-error'}`}>
19-
<div className="rows gapped">
20-
<input accept={accept} type="file" onChange={handleChange} />
21-
</div>
27+
<div
28+
className={
29+
error ? 'custom-fileupload file-upload-error' : 'custom-fileupload'
30+
}
31+
>
32+
<Button
33+
component="label"
34+
variant={Variant.Contained}
35+
color={error ? Color.Error : Color.Secondary}
36+
startIcon={<FileUploadIcon />}
37+
>
38+
{labelText}
39+
<input
40+
id="custom-fileupload"
41+
accept={accept}
42+
type="file"
43+
onChange={handleChange}
44+
/>
45+
</Button>
2246
</div>
2347
);
2448
};

frontend/packages/vkt/public/i18n/fi-FI/public.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,8 @@
181181
"helpText1": "Voit todistaa täyttäväsi perusteen maksuttomaan tutkintoon todistusasiakirjoilla. Opetushallituksen virkailija tarkastaa, täyttävätkö lähettämäsi asiakirjat maksuttomuuden ehdot. ",
182182
"helpText2": "Voit lisätä enimmillään 10 asiakirjaa. Asiakirja voi olla hyvälaatuinen pdf- tai kuvatiedosto. Liitä kopio alkuperäisestä tutkintotodistuksesta tai korkeakoulun opiskeluoikeudesta todistavasta asiakirjasta. Liitä asiakirjasta myös käännös suomeksi, ruotsiksi tai englanniksi, jos alkuperäisen asiakirjan kieli on muu kuin suomi, ruotsi tai englanti. Nimeä liite selvästi (esim. tutkintotodistus Bachelor.pdf, tutkintotodistus kaannos.pdf, opiskeluoikeus.pdf)",
183183
"maxAttachmentsReached": "Olet lisännyt jo 10 asiakirjaa. Et voi enää lisätä uusia asiakirjoja.",
184-
"title": "Lähetä tutkintotodistus tai opiskelutodistus *"
184+
"title": "Lähetä tutkintotodistus tai opiskelutodistus *",
185+
"uploadFile": "Lähetä tiedosto"
185186
}
186187
},
187188
"preview": {

frontend/packages/vkt/src/components/publicEnrollment/steps/EducationDetails.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,7 @@ const UploadAttachments = ({
131131
accept="application/pdf,image/jpeg,image/png,image/heic,image/tiff,image/webp"
132132
onChange={handleFileUpload}
133133
error={showError}
134+
labelText={t('uploadFile')}
134135
/>
135136
</LoadingProgressIndicator>
136137
)}

0 commit comments

Comments
 (0)