From 5ea7681f777c8df38035dc0957a447c967574e3f Mon Sep 17 00:00:00 2001 From: rdbsolutions Date: Thu, 3 Feb 2022 15:13:00 +0000 Subject: [PATCH 1/3] document upload form --- .env.local | 14 +- components/elements/index.js | 123 +- components/newappeal/buildcheckrow.js | 102 +- components/newappeal/buildfield.js | 11 + components/newappeal/buildrow.js | 32 +- components/newappeal/buildsection.js | 46 +- components/newappeal/createCase.js | 1 - components/newappeal/fileupload.js | 167 +- components/search/searchresults.js | 16 +- data/appealtypes.json | 143 ++ data/formsxml/adverts.xml | 1280 ++++++++------- data/formsxml/callinss77.xml | 1446 +++++++++-------- data/formsxml/commonland.xml | 822 +++++----- .../communityinfrastructurelevys117118119.xml | 1242 +++++++------- data/formsxml/compulsorypurchaseorders.xml | 820 +++++----- data/formsxml/dns.xml | 1250 +++++++------- data/formsxml/electricityact.xml | 1086 +++++++------ ...nforcementlistedbuildingconservationap.xml | 884 +++++----- data/formsxml/enforcementnoticeappeals174.xml | 1104 +++++++------ data/formsxml/environmentalpermitting.xml | 820 +++++----- data/formsxml/harbourrevisionorder.xml | 1100 +++++++------ ...edgeshedgerowstreepreservationreplacem.xml | 820 +++++----- data/formsxml/householderappealhas.xml | 1430 ++++++++-------- .../formsxml/lawfuldevelopmentcertificate.xml | 1280 ++++++++------- data/formsxml/ldp.xml | 26 + ...istedbuildingandconservationareaconsen.xml | 1128 ++++++------- data/formsxml/maintenanceoflands217.xml | 988 +++++------ data/formsxml/miscellaneouscasework.xml | 26 + data/formsxml/nonvalidation.xml | 124 +- data/formsxml/planningappeals78.xml | 1430 ++++++++-------- data/formsxml/planningconditionss73s79.xml | 1440 ++++++++-------- .../formsxml/planningobligationappeals106.xml | 1280 ++++++++------- data/formsxml/row.xml | 818 +++++----- data/formsxml/transportandworkact.xml | 1100 +++++++------ data/formsxml/wayleave.xml | 836 +++++----- data/lookups.txt | 290 ---- data/lpa.json | 109 ++ pages/_document.js | 2 +- pages/account/register.js | 7 - pages/advancedsearch.js | 6 +- pages/api/endpoint/createcase_api.js | 2 +- pages/api/endpoint/getlpa_api.js | 1 + pages/myportal/[appealtypes].js | 2 +- pages/myportal/advancedsearch.js | 4 + pages/newappeal/[appealtypes].js | 2 +- pages/newappeal/index.js | 3 + styles/sass/patterns/_card.scss | 8 +- 47 files changed, 13368 insertions(+), 12303 deletions(-) create mode 100644 data/appealtypes.json delete mode 100644 data/lookups.txt create mode 100644 data/lpa.json diff --git a/.env.local b/.env.local index 9038599b..dc2349dc 100644 --- a/.env.local +++ b/.env.local @@ -2,9 +2,9 @@ ACCESS_TOKEN_ENDPOINT = https://login.microsoftonline.com/ //ESNR Tenant -//TENANT = a8d860de-d5e1-45af-8376-d93f02e6b502 +TENANT = a8d860de-d5e1-45af-8376-d93f02e6b502 //WGO Tenant -TENANT = 9ac1a5ab-cd58-409e-a1b6-6b10422a68f5 +//TENANT = 9ac1a5ab-cd58-409e-a1b6-6b10422a68f5 GRANT_TYPE = "client_credentials" HASHKEY = 028ffbae928d7191c0017f298260995f901d78eabde1436c0af0423459cc3715832136d84f68818d3a96399467b52143e273d4f3bf4ae190848891535421cd6c @@ -37,11 +37,11 @@ RELAYPATH = "test-pedw-hc" //Prod Oauth WGO -CLIENT_ID = 3e4141a3-1fbd-454e-98f0-7f3a4f14a3cc -CLIENT_SECRET = mJN7Q~lFu.xFGa5KCc.zwIm_fJAWxajyQaFo~ -RELAY_ROOT = https://prod-pedw-ns.servicebus.windows.net/prod-pedw-hc/ -RELAYURI = "prod-pedw-ns.servicebus.windows.net" -RELAYPATH = "prod-pedw-hc" +//CLIENT_ID = 3e4141a3-1fbd-454e-98f0-7f3a4f14a3cc +//CLIENT_SECRET = mJN7Q~lFu.xFGa5KCc.zwIm_fJAWxajyQaFo~ +//RELAY_ROOT = https://prod-pedw-ns.servicebus.windows.net/prod-pedw-hc/ +//RELAYURI = "prod-pedw-ns.servicebus.windows.net" +//RELAYPATH = "prod-pedw-hc" GOOGLE_TAG_MANAGER = GTM-T78CBC3 diff --git a/components/elements/index.js b/components/elements/index.js index d6b2934c..68e4b0e6 100644 --- a/components/elements/index.js +++ b/components/elements/index.js @@ -3,13 +3,15 @@ import { Field, reduxForm } from "redux-form"; import { useRouter } from "next/router"; import DatePicker, { registerLocale, setDefaultLocale } from "react-datepicker"; import cy from "date-fns/locale/cy"; -import React, { useState } from "react"; +import React, { useCallback, useEffect, useMemo, useState } from "react"; import "react-datepicker/dist/react-datepicker.css"; import moment from "moment"; import jsonpath from "jsonpath"; import fieldLookup from "../../data/crmfieldlookuptranslations.json"; import pickListLookup from "../../data/picklistLookups.json"; import useTranslation from "next-translate/useTranslation"; +import FileUpload from "../newappeal/fileupload"; +import { useDropzone } from "react-dropzone"; const RenderTextfield = ({ id, @@ -538,3 +540,122 @@ const PickListTranslations = (optionValue) => { //console.log(optionTrans, optionValue); return optionTrans; }; + +export function FileUploadField(props) { + return ( +
+ + helllo +
+ ); +} + +const baseStyle = { + display: "flex", + flexDirection: "column", + alignItems: "center", + padding: "20px", + borderWidth: 2, + borderRadius: 2, + borderColor: "#eeeeee", + borderStyle: "dashed", + backgroundColor: "#fafafa", + color: "#bdbdbd", + transition: "border .3s ease-in-out", +}; + +const activeStyle = { + borderColor: "#2196f3", +}; + +const acceptStyle = { + borderColor: "#00e676", +}; + +const rejectStyle = { + borderColor: "#ff1744", +}; + +const RenderFileUpload = ({ + id, + className, + rows, + datafieldname, + name, + label, + input, + errorMsg, + meta: { touched, error }, + ...custom +}) => { + const [files, setFiles] = useState([]); + + const onDrop = useCallback((acceptedFiles) => { + setFiles( + acceptedFiles.map((file) => + Object.assign(file, { + preview: URL.createObjectURL(file), + }) + ) + ); + }, []); + + const { + getRootProps, + getInputProps, + isDragActive, + isDragAccept, + isDragReject, + } = useDropzone({ + onDrop, + }); + + const style = useMemo( + () => ({ + ...baseStyle, + ...(isDragActive ? activeStyle : {}), + ...(isDragAccept ? acceptStyle : {}), + ...(isDragReject ? rejectStyle : {}), + }), + [isDragActive, isDragReject, isDragAccept] + ); + + const thumbs = files.map((file) => ( +
+ {file.name} -{" "} + + {file.name} ({file.size / 1024}kb) + +
+ )); + + // clean up + useEffect( + () => () => { + files.forEach((file) => URL.revokeObjectURL(file.preview)); + }, + [files] + ); + return ( +
+
+
+
+ +

Drag and drop files here or click to select files

+
+
{" "} + + {touched && errorStr && {errorStr}} +
+ ); +}; diff --git a/components/newappeal/buildcheckrow.js b/components/newappeal/buildcheckrow.js index 699de42c..6ebf6762 100644 --- a/components/newappeal/buildcheckrow.js +++ b/components/newappeal/buildcheckrow.js @@ -93,53 +93,65 @@ let BuildCheckRow = (props) => { datafieldname[0].value + "')]" ); - - if (isRequiredField[0].RequiredLevel.Value != "None") { - return ( -
-
- {FieldsTranslations(rows[0].value)} -
-
- {fieldtype[0].value == - "{5B773807-9FB2-42db-97C3-7A91EFF8ADFF}" - ? formatDate( - props.props.form["appealForm"] + if (typeof isRequiredField[0] != "undefined") { + if (isRequiredField[0].RequiredLevel.Value != "None") { + return ( +
+
+ {FieldsTranslations(rows[0].value)} +
+
+ {fieldtype[0].value == + "{5B773807-9FB2-42db-97C3-7A91EFF8ADFF}" + ? formatDate( + props.props.form["appealForm"] + .values[ + datafieldname[0].value + ] + ) + : fieldtype[0].value == + "{3EF39988-22BB-4f0b-BBBE-64B5A3748AEE}" + ? getPickListLabel( + props.props.formData + .pickListData, + datafieldname[0].value, + props.props.form["appealForm"] + .values[ + datafieldname[0].value + ] + ) + : props.props.form["appealForm"] .values[ datafieldname[0].value - ] - ) - : fieldtype[0].value == - "{3EF39988-22BB-4f0b-BBBE-64B5A3748AEE}" - ? getPickListLabel( - props.props.formData.pickListData, - datafieldname[0].value, - props.props.form["appealForm"] - .values[ - datafieldname[0].value - ] - ) - : props.props.form["appealForm"].values[ - datafieldname[0].value - ]} -
-
- { - updateCurrentSection(whichSection); - }} - > - {t("newappeal:change-link-label")} - - {" "} - {FieldsTranslations(rows[0].value)} - - -
-
- ); + ]} + +
+ { + updateCurrentSection( + whichSection + ); + }} + > + {t("newappeal:change-link-label")} + + {" "} + {FieldsTranslations( + rows[0].value + )} + + +
+ + ); + } else { + return null; + } } else { return null; } diff --git a/components/newappeal/buildfield.js b/components/newappeal/buildfield.js index 00abafa9..2cc60696 100644 --- a/components/newappeal/buildfield.js +++ b/components/newappeal/buildfield.js @@ -13,6 +13,7 @@ import { NumericField, ReadOnlyfield, DecimalField, + FileUploadField, } from "../elements"; export default function BuildField(props) { @@ -25,6 +26,8 @@ export default function BuildField(props) { const parser = new DOMParser(); + console.log(props); + const whichFieldType = (classid) => { switch (classid) { case "{270BD3DB-D9AF-4782-9025-509E298DEC0A}": @@ -107,6 +110,14 @@ export default function BuildField(props) { /> ); break; + case "{16D63FD6-119B-4353-BDCA-18358721C3FE}": + return ( + + ); + break; default: return ( diff --git a/components/newappeal/buildrow.js b/components/newappeal/buildrow.js index 7efdb493..80249e3e 100644 --- a/components/newappeal/buildrow.js +++ b/components/newappeal/buildrow.js @@ -5,6 +5,7 @@ import useTranslation from "next-translate/useTranslation"; import xpath from "xpath"; import BuildField from "./buildfield"; import jsonpath from "jsonpath"; +import FileUpload from "./fileupload"; export default function BuildRow(props) { let { t } = useTranslation(); @@ -36,6 +37,8 @@ export default function BuildRow(props) { var fieldtype = xpath.select("//@classid", doc); var datafieldname = xpath.select("//@datafieldname", doc); + console.log(doc, datafieldname[0].value); + const isRequiredField = jsonpath.query( mandatoryFieldsData, "$..value[?(@.LogicalName=='" + @@ -43,7 +46,7 @@ export default function BuildRow(props) { "')]" ); - if (isRequiredField[0].RequiredLevel.Value != "None") { + if (datafieldname[0].value == "pinswg_fileUpload") { return ( ); } else { - return null; + if (typeof isRequiredField[0] != "undefined") { + if ( + isRequiredField[0].RequiredLevel.Value != "None" + ) { + return ( + + ); + } else { + return null; + } + } else { + return null; + } } } })} diff --git a/components/newappeal/buildsection.js b/components/newappeal/buildsection.js index 452126b2..ad15ac5d 100644 --- a/components/newappeal/buildsection.js +++ b/components/newappeal/buildsection.js @@ -38,15 +38,15 @@ let BuildSection = (props) => { const currentSection = props.appealType.currentSection; const parser = new DOMParser(); var doc = parser.parseFromString(props.formXML, "text/xml"); - // var titles = xpath.select( - // "//form/tabs/tab[" + currentSection + " ]/labels/label/@description", - // doc - // ); + var titles = xpath.select( + "//form/tabs/tab[" + currentSection + " ]/labels/label/@description", + doc + ); var rowXML = xpath.select( - // "/form/tabs/tab[" + - // currentSection + - // "]/columns//sections/section/rows/row", - "/form/tabs/tab/columns//sections/section/rows/row", + "/form/tabs/tab[" + + currentSection + + "]/columns//sections/section/rows/row", + //"/form/tabs/tab/columns//sections/section/rows/row", doc ); @@ -65,7 +65,7 @@ let BuildSection = (props) => { const getErrors = () => { let errorsobj = props.props.form["appealForm"]; - setHasErrors(errorsobj.hasOwnProperty("syncErrors")); + //setHasErrors(errorsobj.hasOwnProperty("syncErrors")); window.scrollTo(0, 0); }; @@ -152,9 +152,9 @@ let BuildSection = (props) => { mandatoryFieldsData={mandatoryFieldsData} props={props} /> - {} +
- {/* {props.sectionCount != currentSection ? ( + {props.sectionCount != currentSection ? ( - {/* ) : ( + {props.sectionCount == currentSection ? ( + + ) : ( "" )} {currentSection > 1 ? ( @@ -189,11 +189,11 @@ let BuildSection = (props) => { ) : ( "" - )} */} + )}
- {/*
+
-
*/} +
); }; diff --git a/components/newappeal/createCase.js b/components/newappeal/createCase.js index 0e176059..87d5a3c5 100644 --- a/components/newappeal/createCase.js +++ b/components/newappeal/createCase.js @@ -247,7 +247,6 @@ let CreateCase = (props) => { label={t("newappeal:select-appeal-type-label")} errorMsg={t("newappeal:select-appeal-type-label-error-msg")} /> - diff --git a/public/assets/images/documenttypes/csv.png b/public/assets/images/documenttypes/csv.png new file mode 100644 index 0000000000000000000000000000000000000000..3ce38d48912f0f28c24c65db2e895d6da559cadd GIT binary patch literal 1130 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 literal 0 HcmV?d00001 diff --git a/public/assets/images/documenttypes/pdf.png b/public/assets/images/documenttypes/pdf.png new file mode 100644 index 0000000000000000000000000000000000000000..5df29217caa2208de4db385f8b5090bd1e440e30 GIT binary patch literal 1031 zcmV+i1o-=jP)Dv}xLwN~oI~ z+uC>V9Cmllbw{_03_5T*-}jy0_xGH8&be2DwKg>LAxdfN<#@(nxA)_NGU>I+p+Hg~ z(HSbtT^!vq|lt!!o;#vaFx{=}~6R zMl=X+U>aDpWvmo7tXA{4w+cN)%<%^C3490l&T42~_zK~rW&VPQ zcS&hQ!Ksk;>rDW~@Oo7~JP>cfcsQIy3`Dq^JR@2%p-8n>jFwU11)^nuCr_F_zE-#l zT>c57kFOWyjU`1yhCDuv?k9v7O5bzmAuPUm$ATKYd>y8HA3^KV7`UyKL_V;~36a1m zp>;`Lmvx%7rYz?T5J_v=(9kH&`+jqelSDtbHDlYFNYV2K7QYMeNz+G=*4Bz+yp}oX z>$3QDNq=jM(jBO(w}(tL7p~H zq8Srt$}f{_$p&L_A)DdgtQR6He#T1%1DN)fGCnltQyk(rAe)R}+*8ajNZ?0PaAuCl zQm$zJ(H3YPaf7vHf9#gA0=5fh$%QKKa1(K2cG$^yX~(J9FNPf0edZ*z%#T3bv%4&a zoCEa)Q+T`$wplFXq4y{XO1Yxc(7x_2QmO5+|5*OdY)GeHT6LM4OilzVn002ovPDHLkV1gQ{ B%Jl#M literal 0 HcmV?d00001 diff --git a/public/assets/images/documenttypes/txt.png b/public/assets/images/documenttypes/txt.png new file mode 100644 index 0000000000000000000000000000000000000000..8bab95cbe9defbe328f6aeabfc930f4d5c5934bb GIT binary patch literal 979 zcmV;^11$WBP)k5hcJ;i~w@*MF6^5WIjevB1^*9*dh!jhfISa5#$i8en(bF4x1>K z;z}{NEF?PcaT$P39H;jURJa+cqGcGu97Gu8fmsU#_H^qoaC0y*tg2H7^FdiI!cl~w zB2tDyUzr;$1|o2J|H7TG464$c45x2=W_bAWCs@PrYo8bjL!=ot9DN7oKLCm|Gcz*$ z`tzUR;@z)cF%Ur$@6#lm;tW%`U&vtK3{#j{hK5Fr@7}z^TAjeuz-Um>3<3k=QjpCg zBz^~wdV<~uDZ*8>g5+^w|M<5ymg!ot(7L=(nY--VDU}b^i zZge%Ulz`Kv2QPjCtAWw)KK%igMklX-X7~*(l|TR{2cyA)KmwpB1DI zMixhB6K&|mW=#f{(kl#6tv4B_<}0I{gTfy=NeXWvjp8RX4!I2tG-HV75>-eMGL4Om zL7R{oa^!#gVz>&^M-_)^Ya3l7w!(o~Oo)cI%HYa~PWf;h1H_<8h=SY>3ISUBfocw= zMbsmEe8@ySO$t)vkf0WO$b{&SaVW`|X=b4^gMkVUMvTtd@`7RR_LpGs_7r&rdwqU} zgwERxx1M}wZ~(G9(-auyZhOHnYb!)ex{m}ylBYO^IcIKtVaT3%7ek!vGzuCvC<&8h z2yeQ<0P2~c17AxahME{zh6gWxfV+tq{dXBIAobc{>OrG1%c|8GI#)blSaOc;Zv zS=1l7{E6Y?*FOvj5*!TIAAM)IbPv(B#Bc=>0yJ@`wKgxqj!tccedj+iSmaz}`1|ia z!~Q;925AvCBAkR>3E5GP-8kBb(j-J_;oKqPPyj|*?tXeftq1@B002ovPDHLkV1kLt Bh4TOa literal 0 HcmV?d00001 diff --git a/public/assets/images/documenttypes/xlsx.png b/public/assets/images/documenttypes/xlsx.png new file mode 100644 index 0000000000000000000000000000000000000000..b4957161ea771f4df75a0bd0d89e57b3f6f284c5 GIT binary patch literal 1241 zcmV;~1Sb25P)-omOAk8n&2fyGqp{ zY59YCtf0Fk@vf?h^@zl~5yUf*2-)3;4WV9Pvmzo|w!|ZZ(4-#4sK-)|5K(GW)zX?i zr)GTj*1fskH#PIo`8FYLGP&oR`#a~Jd(QdJcjwdLY8IWq|ef;n=%Zi4T4h-rv*u931sfwF(;eQq7e4l1Fr5hRp+cGP3roxJvS27{D z$)sdMa-axfJDs>s$+J@V$(h2Z=4KuH6c{9QU@VjC2;47dziO z-cyXsXE8uZ>w2YtWlEHjgUV7WE-Go&K-H&LZIJ`(Ry4}o8WTT`@=VTw0lzl|z`m-f zS`McDg8+RiFu7_UWdWD%EivvApu~#2OLD|TMvDnkRwToanXC~<_}Rt9meQISRUQ1# z@!rML+7))H&q{zaAaRsrJ%?>s9dAfYHKfC%`A;~^B~g8LC*t0mhZvJPii1QVGjAf^ z)V;yw85V@D55yMBW;|X{g6`YnIZTt|Yf`5!G394y0pSu;r7iMa5!40lj8qM6V7M&$i16`xUI2NH1FhWT$ynV#jozb z*6@zOT%V`}V*=U+$?sJReY^Z$%sf6FhtrS3&&NQ;jgCePjUC1ybe4I#Jb5Lg`wa%} zNygu!_ENz3gfx(b-6f(cZk64nbX<5G?2ZN$&whZ`>w{5PdI|ka1GwR@r=;9AX?~t& zh%dcpG-FDY$YYOIW5r;ASq<)UF%42FFdeTrYBnd`Rr|tW8qzFILbEV zRuu$sNFm~^yEP7y2(LM+MMO1m)Lmr0bWIaSwT`GJjZ}<;w`kdG#9KzSu=8y=+NPBe zKZbRNzi$8!65%6*+jBm;bqv}C{lIx8Ves|Gz^Fm=-{7W|HMPf_pHk4$QqNuD0 z7VA}9m{y2WnP)iUW%Wzs|5|{H)2?7v(j2^A@)pryF{rUua||Oq_R%#3tD*PN<5?!uE%-FnMJ6quavGt_hAY(p}w&myRPr#dewFtdhYCw2Xh}Gd-yh_?*AG2 zPtNjnk#HMPU!5L>(=Eu5ZjHtb;fRaqLcipN1%!(>&>^HFM#qokzaYP0x}G=T2r_$2 z##rh9a>q@PIPvf}*8H>SXQ)7UUSfwSa$WWIm{xJ*Hlj6%Qa%>n$B_Q{PhK-qim9`a*m5tsI@`00000NkvXXu0mjf D>(fLl literal 0 HcmV?d00001 diff --git a/public/assets/images/documenttypes/zip.png b/public/assets/images/documenttypes/zip.png new file mode 100644 index 0000000000000000000000000000000000000000..5783736c02fbe0f448498edd540f464ef9d03e5b GIT binary patch literal 932 zcmV;V16%xwP)qg3-;XfWT9T9rTq0TzCYXdIHH46u zSu)GMuVhW%BLrO7%*@VjW@l#i?b{ax8tw4#V~u#E=S0Eh@x-y?m=X$2sE`CyS>WK_ zUX1BXEfg{pC+CBibm~0;3|;h)7HK512*KcW9_Ac)R}XQ31b+T z2^LfV69}smkAHw_waO9*hbNgz6|-0%G9;?=YLwW8iMgO(ZsX(NeX9dLX+DC#*c9iyt?+`PdwTL3Lqly#*PmBbq@80kcci->{fau-4E z@=}qS?HIF3rHgOoz-U}5{r>)bb^zhtnVY-E{NNdZ4acxgP2FNL{z#=?C={SptHI>t zO-8wOgNa6;K`i!$58INyE&EieraUi6re#fshK7~j>0gGg6YU&$G-K;bq&V|GZ2mFC zw@e>FW=AXPj9T}kZ_DPlCH>AhrIQFLw(aegj80GAW+&9{?rSE~kJOgJ8^qGmA{-rk zB0ElJX70e~=rtG|ybLENKiRlc`XeI&a5|lEaPW>hBPJBO0jX4)JH&CRNSBu%G9Q>e z-FwLC{{CCYX0s$R+C5vU=^?GkNh7p-(a^Y&7NypymAAe=@VCOWqc4}?3)xu`sNX;Q zRrZBL6Sty`TN#H*Jx(0mLB^7bV*FSEJM*wCP&<}hOuTEB-j;(@tb|p3*HpA?0=4X6 zQWOQ;Zntiwi^U@3^LaLo`ckO`xm=FP_*I6TS~{JEN~J=gidt4t4AkLpusA(K&GozU2_K)qfsY;3HvfY#R5;q>$m z1OfrT - - Gwaith Achos + + Gwaith achos cynllun - - Gwaith Achos + + Gwaith achos cynllunio \ No newline at end of file diff --git a/public/assets/images/planning-casework-en.svg b/public/assets/images/planning-casework-en.svg index e018d1de..80c762f4 100644 --- a/public/assets/images/planning-casework-en.svg +++ b/public/assets/images/planning-casework-en.svg @@ -1,9 +1,9 @@ - - Casework + + Planning casework - - Casework + + Planning casework \ No newline at end of file diff --git a/styles/sass/welshgov/_application.scss b/styles/sass/welshgov/_application.scss index 35e0c574..85b9d41c 100644 --- a/styles/sass/welshgov/_application.scss +++ b/styles/sass/welshgov/_application.scss @@ -1877,3 +1877,11 @@ fade { background-position: 90% 15px; } } + +//fileupload + +.fileThumb { + display: flex; + flex-direction: row; + align-items: center; +} From 5b9c033406d6348c574871fe053ebf56c416ace5 Mon Sep 17 00:00:00 2001 From: rdbsolutions Date: Mon, 7 Feb 2022 15:36:02 +0000 Subject: [PATCH 3/3] updated register link --- components/homepage/login.js | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/components/homepage/login.js b/components/homepage/login.js index df25d4d2..26994319 100644 --- a/components/homepage/login.js +++ b/components/homepage/login.js @@ -207,7 +207,7 @@ let Login = (props) => {

{t("home:login-card-title")}

{" "} -
+ {/* {validLoginID == false && (
Incorrect username or password @@ -254,7 +254,7 @@ let Login = (props) => { {t("home:login-card-button")}
-
+ */}