From 8971b35ae3148d5b684c845bc8ae0036e314c5dc Mon Sep 17 00:00:00 2001
From: VividTruthKeeper
Date: Sun, 17 Apr 2022 16:59:57 +0500
Subject: [PATCH] file sizes handled
---
src/components/CardStages/CardStage4.js | 31 ++++++++++++++++++---
src/components/CreditStages/CreditStage5.js | 23 +++++++++++++--
src/maxFileSize.js | 1 +
src/scss/_global.scss | 4 +++
4 files changed, 53 insertions(+), 6 deletions(-)
create mode 100644 src/maxFileSize.js
diff --git a/src/components/CardStages/CardStage4.js b/src/components/CardStages/CardStage4.js
index 5165ee6..d1e614a 100644
--- a/src/components/CardStages/CardStage4.js
+++ b/src/components/CardStages/CardStage4.js
@@ -1,6 +1,7 @@
// IMPORT MODULES
import React, { useState, useEffect, useContext } from "react";
import { LanguageContext } from "../../backend/LanguageContext";
+import { maxFileSize } from "../../maxFileSize";
// IMPORT IMAGES
import remove from "../../icons/remove.svg";
@@ -8,13 +9,17 @@ import next from "../../icons/next.svg";
import arrow from "../../icons/arrow.svg";
import next_reverse from "../../icons/next-reverse.svg";
-const CardStage4 = ({ setStage, data, setData, req, setReq }) => {
+const CardStage4 = ({ setStage, data, setData, req }) => {
const { locale } = useContext(LanguageContext);
const [files, setFiles] = useState(data.file ? data.file : []);
const [btnEnabled, setBtnEnabled] = useState(false);
const [dropdown, setDropdown] = useState(false);
- const parser = new DOMParser();
+ const [validSize, setValidSize] = useState(true);
+
+ // Bytes <= Megabytes
+ // | |||||||||||||||||
+ const maxSize = maxFileSize * 1024 * 1024;
useEffect(() => {
if (files.length > 0) {
@@ -70,9 +75,16 @@ const CardStage4 = ({ setStage, data, setData, req, setReq }) => {
{
- setFiles([...files, e.target.files[0]]);
- e.target.value = "";
+ if (e.target.files[0].size > maxSize) {
+ setValidSize(false);
+ e.target.value = "";
+ } else {
+ setFiles([...files, e.target.files[0]]);
+ e.target.value = "";
+ setValidSize(true);
+ }
}}
/>
@@ -102,6 +114,17 @@ const CardStage4 = ({ setStage, data, setData, req, setReq }) => {
})
: null}
+
+ {locale === "TKM"
+ ? "Hemme faýllar diňe görkezilen formatda bolmaly: "
+ : "Все файлы должны быть следующих форматов: "}
+ .jpg, .jpeg, .doc, .docx, .pdf, .png
+
+
+ {locale === "TKM"
+ ? `Faýlyň ölçegi ${maxFileSize} MB-den geçmeli däl`
+ : `Размер файла не должен превышать ${maxFileSize} МБ`}
+
@@ -131,6 +145,11 @@ const CreditStage5 = ({ setStage, data, setData, creditData, id }) => {
: "Все файлы должны быть следующих форматов: "}
.jpg, .jpeg, .doc, .docx, .pdf, .png
+
+ {locale === "TKM"
+ ? `Faýlyň ölçegi ${maxFileSize} MB-den geçmeli däl`
+ : `Размер файла не должен превышать ${maxFileSize} МБ`}
+