From b4d4b42101b124091d9ca325e928ea683c2739f2 Mon Sep 17 00:00:00 2001 From: Fabien Mercier Date: Mon, 29 Jul 2024 09:56:42 +0200 Subject: [PATCH 1/5] Optimisation du build --- package-lock.json | 6 - package.json | 1 - public/logos/ex-libris-france-services.svg | 1 - public/logos/logo-banque-des-territoires.svg | 1 - public/logos/pix-citoyen.png | Bin 4287 -> 0 bytes public/logos/pix-ressources.png | Bin 6545 -> 0 bytes public/logos/pix-utilisation.png | Bin 4359 -> 0 bytes src/App.js | 13 +- src/actions/conseiller.actions.js | 4 +- src/actions/user.actions.js | 2 +- src/assets/css/app.scss | 408 ++++++++++++++++++- src/assets/css/style.scss | 357 ---------------- src/assets/js/app.js | 1 - src/components/common/Header.js | 4 +- src/components/connected/Informations.js | 4 + src/components/connected/MonEspace.js | 2 +- 16 files changed, 415 insertions(+), 389 deletions(-) delete mode 100644 public/logos/ex-libris-france-services.svg delete mode 100644 public/logos/logo-banque-des-territoires.svg delete mode 100644 public/logos/pix-citoyen.png delete mode 100644 public/logos/pix-ressources.png delete mode 100644 public/logos/pix-utilisation.png delete mode 100644 src/assets/css/style.scss delete mode 100644 src/assets/js/app.js diff --git a/package-lock.json b/package-lock.json index 5b479bd..997c177 100644 --- a/package-lock.json +++ b/package-lock.json @@ -24,7 +24,6 @@ "react-redux": "^9.1.2", "react-router-dom": "^6.25.1", "redux": "^5.0.1", - "remixicon": "^4.3.0", "vite": "^5.3.4", "web-vitals": "^4.2.2" }, @@ -4737,11 +4736,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/remixicon": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/remixicon/-/remixicon-4.3.0.tgz", - "integrity": "sha512-jRYQ37dTFSkJtvcxwTUAkIiXkYRvA9EDvVuXPNrmt2xf/VS//CRgFtsX2TAFBoQOhh9SDh7l6La4Xu12snEyxg==" - }, "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", diff --git a/package.json b/package.json index b512f71..272b5b9 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,6 @@ "react-redux": "^9.1.2", "react-router-dom": "^6.25.1", "redux": "^5.0.1", - "remixicon": "^4.3.0", "vite": "^5.3.4", "web-vitals": "^4.2.2" }, diff --git a/public/logos/ex-libris-france-services.svg b/public/logos/ex-libris-france-services.svg deleted file mode 100644 index 83cd852..0000000 --- a/public/logos/ex-libris-france-services.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/public/logos/logo-banque-des-territoires.svg b/public/logos/logo-banque-des-territoires.svg deleted file mode 100644 index 3a1d2cd..0000000 --- a/public/logos/logo-banque-des-territoires.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/public/logos/pix-citoyen.png b/public/logos/pix-citoyen.png deleted file mode 100644 index 5b6b45d316d77fe355974e467abec7c19642dcc3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4287 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 diff --git a/public/logos/pix-ressources.png b/public/logos/pix-ressources.png deleted file mode 100644 index 08485b837b22c01f85c56e1e2ed184659b106742..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6545 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 DL%ogq diff --git a/public/logos/pix-utilisation.png b/public/logos/pix-utilisation.png deleted file mode 100644 index c8ebed7b8ef526614ba3adfb3d843479f80d5d01..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4359 zcmV+i5%}(jP)$ zY4+4gi!KBTvN>GACN^bcCw~xvaUmR>qA)n+M3yBBD5{b&32{ng?0^m~VJ<^a7<_{r z2PZME!ZFA~2oR^PMaOCn?am%EJJWZ+m+$q=u6DJvJ2Sg0Y`4_2yVKL}z2A5IzT@=} z_>hi^zVJnoxp38rtfn+ZUHjOv+rQcSVa!X;_5@8o+ofq;)@OVTwt6~WD{w~Dr-ItS zlfWZ8dvD$J=ASIU)Q)@Bs6KzhPLhkQ4wVKPPzjI|4*Dqg#z~(un?BAX^p1gzThf0r z02e>FbD87tO`!9y*iBTm>nQ~g6Vu68jxWpu5g81GIvn&8U)@?2_WI={kP zs)HBhY`$aagTjyYcn}bB7xV3{{kML@{?Gx|KD52wF#UVD23P0XS;9>+w6(d9CngqD z7=-!(SBHc!`n{8yr)^U@YIhx7|0VB30oc5K$KMig?zNg(t<|J4LB+f*AwnoDkJNz= z9J*|z*9o|ihy;&+;BlI#`xQ<3V$a6S2hSS7wtIK1+pY&z z2bOh*A1CYWRt9dIGMFUgI-XjB%U0f{wA+7qhle^)G!2_V7P*!NtL<2bDWFQcH z79Yjmae$gW9z^=RJZEIX(m474o||tiiGh}Sv+>zSmF9c4U6(kVe`~bKziDi>#@qx| zU}Djed?e>U3&sTbo|r&^@lBpQfY%3lfcw07PvH#XBK}*X=;5bb{M#=XzOp5Y$2IFW+yef(NT=|+u5wC6b&SPO0nhgw zfX}`14D3yx3^n;`wjZu~`DysciFXTTTsfACjsQ_*S8Fu8lwFx)!GWgj+c#eD!n3C} z*t+XJYT54Neu`XSwjevw)55JL07!a&@bDh^LHFAs(3LgylU5<%{`Yr7H!|d=6_%-6?7@w4i6~f4t_jbcIul*Q)amlqaSb%_lRu8>!3k9wK&3EFfY&gXi4uO@uEgP2=UxdZ z)tFNzbbsG|__zKyfuLZm#Ttzt48Eo$9P#P&IVvKb-54hV!z8{J#UL<#aJ>FM9~^}B zqZznj@p8DVwFyC@o09;3H#!WD^}GkKqKQh{lCy=ZJ89Ns7J)@t1g8)oTTeD(5&lJB zX2T|MVND81e_=%q#_C9|_ff^AaCwldz$S1-%*HAFsWcuL3ovgK6J{vq-#^q3Z)FDI z<)Ou}zH<%yX!JPjl|elaA+T{7Q3pvNdwM(;c);-52`>l7oH1N7ouZ-(Fqx>KYK4S{ zLQ1F@+X!#PN?Vyt^%0Z9>V5;ha>2#Wo~)U2eGIkLiJ8cm_Xt0L-*+E_-MuG(*T(>2 z81u+fBe|{-wX8RvCaIwjSwTRrlZRKvPEGT%&PWWBnli;=WWvCSC~0yY;zEFg%%*sX zfwz4m0?%J}Jv8a@Gu(#2P&z#&LpgIC5^!LHV*nQBDM|D#RhbCd%j)alyr!0k&mLu6 zg@gf3xM00x%GlpeAHknw3UPfh*$N+vHO}Z)v@APeT6qDcQ7uMI=sT25KF5_(fVDVM zQ}9(Hrk#*8f%Xmo%~;T?#9*9YCyz(aU!_K(7^ftYib-dfOweLwTs#FXP8YL#mr~aC za8!e-Q?mb=j$eQJMlb`vq%{=X6MalT6vy+BVD%EbCfW9ok0ry{Kt(ZlxmpJo#23vS z;JCw9Qg|qoLV{}5Rk&x4ftu|@lG&5(DJJ!^Q~O`nw9QY0ILFh$3rNR+QC{P~j1hkZ!1eAOI;oxQJ@^+CxE$(Bf%!IT9k zhpJ&3SeQ+WOJypH39xMkT-N~y6Jj5DbtXwL0cI59(I|!+I&0FL(hT@`yg3Zy<(jE& znA(-qp!A>RMm;2uzGbX?E0+e3PwlH@GFb@lz2m}ycid5oi}A4fHhnMbuMB$D3?@fF zQb`2sna?LW%KECjx>!#lz?MlJf|<455lPG*$H#k-2D0I6<^T+MCbX*2X$&?xItoD$ zK;Cnpg~g!>qL3m{h;a=fSfc>usKkS5r_58ChcF49ma5Hka1j)H6m-^8e#95N5+4-c zp=4KRNk}Lf9JWSho*aiY6#|ENE{s_Q=7#NQySADU+#&5q1qN>T}pSg*Oh4|$X{L4RsB z5|H(6$Z{KM)CgEe@h&=3Le*eI*kB4DYS6Dp#Y{RSZJ+TJq0d$jCdPMv@}65DmNF}m zTKRKR&+LC6x1OYcFI$%l(EqW~c%x}`=`?T_2j@qA%gr*V_!Nfr3 zfCWur@jZ)%9O;z5{Ptr=ZWy!%CwLM!5qk^#-uH4=(p0&LU8+>cv)K9Th}58Q}MvX1q@*5SgLbK zBSG1|3l{U?q@4}rcuBGa&9<`qw6n7_{At@Zd26$A1C3K-{|GeBu_3bJDk2kIymz;Ub~WRf5$+e6~9(I*?UD1uWeHc_dqY&Hv? zSKSWTQ7Z$(c?W6{+!1GV{;3+}7`PGO+Gqpt7{LK3G(}<|y}p*|2Zlc{Of-e29LS8a z$l?W7E^Ts>STdPR=y!8T?M66i&F2e~i?*Oi{Bq|rUDwD6Jh|`paLt;va9&3Tk_q~rR;4Kw{p^W1 z_Q9BC!9qO$a3C`bq|7>$N+@$_JO(#?^rEnu=;@vN6IiiW46a|fYQajY7rKtX&(eLf z1LV?vX3?^*5=f&FHq3DE9uR z%PQBT!oLjfgS!sylQ~p%t3mQy6^VnOOg15=T*_lWKIve_qLPZ0Pl_48RnNd)roqe` zMi|0IdDz;1QSbNu-L2Dj7}RDsygCI&>tx?jtqNbV$Az8eeF9WXomRlUogRV>y?bG- zMVYemTMniCEE6zMQItBgoCsJZIIQ$1^!<$)>*xBZ;BU+}r4X3O3@nIJQAKsF3K=mX zQ3DK2*~l3HBYG}uS1Vjh)9$Qe&QchJg5q50$6bt%c(x^>F^~U-fkD zd3!_6K=4T15*M588U#_fdpXBgg$x!k(R|QdRXc!v{ii@d6FrlGyM~AHItMiy?h}D9 z5GbRicZ9ND`ymu1ZMpm|F z6GhF-`_-)P$9k|>Hu*~~p<4x4_Ke-O#e`DPFZ$3<%5A?r76kvS5^;mqh^xe*WT&}& zqnScH1908aRUn^*s&=bgZrl9m$or5>G8Bq{8G~+Nn+fEuKeKtjvSQez;!cxkKWw?A zGu?gZ)l;=wa?j!Z?I?72X)T9usf=D_wyVsoFT~23^Mb;a#YPPbApKjSI*&acD-;to z*@%h!q5LppCneB=oDLH>tcdmaftL1jCJ|d*BA(LYiv}`ZzFCws-Re~rjX|dsBkobC0JOwA*Je+cJRkbYE#u{ONJ`GFtMA&of#``CC z62b>JGF-$?dO702|7IEawy$aXy{~R|XZ6pry^_bb5i%xfjUc!>&iPimo-Q&wbomfP zu`5>)TniSt%Z&OkagyOdYU9mpA65~Sp>6Sl|Obc*fg2~R@W^F#^~HEQHvHm9I^fZPz~dJD+$Q8fm+8CP z+dSv!=eNvJT=O^*zx@fZUhhuD0{?m)f;*iQi{{%kRw(N$8=iy>TmcHwZsNGZd7ixE zfY=&P{ROhFBcEUMxp@^<3vwur?^LuAZ*5HQ4I~2Vos=52QnEKu8tC|wQ=wJ+oX7eQ z;IP-leez6}l80%d(P!WARX*Q!E$A0RIv#%jdQDF^9Pbkb1a}afT_*ign(dicOwnD1 zmgYgM$MXVTJeyDe#Bg?2`4Ha zlS54*ICaSP^}!$zCOqd*@>njS{BHTmCD!3}*DUB-&gz%58XkLyWV7btIQKVd05=nr zB)Ez}&JBQi state.alerteEtSpinner?.isLoading); + return (
{isLoading && diff --git a/src/actions/conseiller.actions.js b/src/actions/conseiller.actions.js index 34a17d2..9267088 100644 --- a/src/actions/conseiller.actions.js +++ b/src/actions/conseiller.actions.js @@ -1,6 +1,6 @@ import download from 'downloadjs'; -import { conseillerService } from '../services/conseiller.service.js'; -import { userService } from '../services/user.service.js'; +import { conseillerService } from '../services/conseiller.service'; +import { userService } from '../services/user.service'; export const conseillerActions = { get, diff --git a/src/actions/user.actions.js b/src/actions/user.actions.js index a0552af..18be144 100644 --- a/src/actions/user.actions.js +++ b/src/actions/user.actions.js @@ -1,4 +1,4 @@ -import { userService } from '../services/user.service.js'; +import { userService } from '../services/user.service'; export const userActions = { login, diff --git a/src/assets/css/app.scss b/src/assets/css/app.scss index 3afb987..f5e5454 100644 --- a/src/assets/css/app.scss +++ b/src/assets/css/app.scss @@ -1,12 +1,398 @@ -@use './style'; - -@import '../../../node_modules/@gouvfr/dsfr/dist/dsfr/dsfr.min.css'; -@import '../../../node_modules/@gouvfr/dsfr/dist/utility/icons/icons-communication/icons-communication.min.css'; -@import '../../../node_modules/@gouvfr/dsfr/dist/utility/icons/icons-business/icons-business.min.css'; -@import '../../../node_modules/@gouvfr/dsfr/dist/utility/icons/icons-user/icons-user.min.css'; -@import '../../../node_modules/@gouvfr/dsfr/dist/utility/icons/icons-design/icons-design.min.css'; -@import '../../../node_modules/@gouvfr/dsfr/dist/utility/icons/icons-system/icons-system.min.css'; -@import '../../../node_modules/@gouvfr/dsfr/dist/utility/icons/icons-document/icons-document.min.css'; -@import '../../../node_modules/react-datepicker/dist/react-datepicker.css'; -@import '../../../node_modules/remixicon/fonts/remixicon.css'; +.flashBag { + background-color: var(--grey-50-1000); + color: #008941; + padding: 30px; + text-align: center; + font-weight: bold; + border: 1px solid; + border-radius: 20px; +} +.labelError { + color: #FF3333; +} + +.red-background { + background-color: #E10600; +} + +.header__logo-rf { + height: 78px; +} + +.Login { + border-radius: 8px; + text-align: center; +} + +.fr-sur-mesure { + flex: none; + padding-right: 0; + height: 75px; +} + +.logo-conseiller-numerique { + height: 75px; + margin-left: 1.25rem; + display: flex; +} + +.logo-conseiller-numerique img:first-child { + height: 54px; + margin-top: 1.1em; + font-weight: lighter !important; +} + +.fr-tag.current { + font-weight: 600; + color: var(--grey-50-1000); + background-color: #5770BE; +} + +.fr-tag:hover { + background-color: #D5DBEF; +} + +.hidden { + display: none; +} + +.big-btn { + display: inline-block; + padding: 1.5rem; + border: none; + border-radius: 50px; + font-size: 1rem !important; + width: 60%; + text-align: center; + background: var(--grey-50-1000) !important; + border: 1px solid #383838 !important; + color: #383838 !important; +} + +/* Modal Gestion */ +.modalOpened { + opacity: 1; + visibility: visible; +} + +#fr-modal-supprimer-candidat { + .fr-modal__body { + width: 130%; + } +} + +/** Icones menu gauche **/ +.Menu .fr-sidemenu__item--active [class^="fr-fi"] { + color: var(--blue-france-975-sun-113); +} + +.fr-sidemenu__inner { + padding: 0 1rem 0 .25rem; +} + +/** style custom **/ +.alignRight { + text-align: right; +} + +.valignTextTop { + vertical-align: text-top; +} + +.valignMiddle { + vertical-align: middle; +} + +.valignBottom { + vertical-align: bottom; +} + +.conseiller .customTitleLink { + color: var(--blue-france-975-sun-113); + text-align: right; +} + +.capitalizeFirstLetter { + text-transform: capitalize; + color: var(--blue-france-975-sun-113); +} + +.centrerTexte { + text-align: center; +} + +.titrage { + font-size: 56px; +} + +.invalid, .important { + color: #e10600; +} + +.valid { + color: #008941; +} + +.sansBoxShadow { + box-shadow: none; +} + +.react-datepicker-wrapper { + width: 100%; +} + +.supprimer-link { + text-decoration: underline; + cursor: pointer; +} + +.supprimer-link:hover { + color: red; +} + +.upload-btn { + height: 64px; + cursor: pointer; +} + +.download-btn { + padding: 1em 1.8em; + width: 100%; + text-align: left; +} + +.download-img { + margin-right: 0.8em; +} + +.red-btn { + background-color: #e10600; + padding: .5rem 1.5rem; + text-align: center; + color: #e7e7e7; + font-size: 1rem; + cursor: pointer; + &:hover { + background-color: #d30000 !important; + } +} + +.desactiver-btn { + padding: .5rem 1.5rem; + text-align: center; + font-size: 1rem; +} + +.info-candidat { + margin-bottom: 'revert'; +} + +/** Header **/ +.logo { + height: 72px; + margin-top: -32px; +} + +.fr-header__tools-links { + display: block !important; +} + +.menu-flex { + display: flex; + justify-content: space-between; + align-items: baseline; +} + +.user-header { + margin: 0 2.5rem 0 0.7rem; +} + +.user-img { + position: relative; + top: 3px; +} + +.informations p { + margin: 0 0 1.5rem; +} + +.image-download { + margin: 0 15px 0 6px; +} + +.dropZone { + background-color: #f3f3f3; + padding: 15px 15px 1px; + cursor: pointer; + overflow: hidden; + text-overflow: ellipsis; + + .drop-error-message { + text-align: center; + color: #ff6961; + } + + .image-dropZone { + float: left; + margin: 0 15px; + } + + .texte-dropZone { + margin: 0 10px 1.5rem 54px; + } + + img { + margin-right: 15px; + } +} + +.drop-error { + background-color: #ffb4bf; + border: 1px solid #ff6961; +} + +.contenu-droite { + float: right; +} + +.marge-radio { + margin-right: 7.5rem; +} + +.input-autre { + width: 322px; +} + +.wrapperModal { + position: fixed; + z-index: 1; + padding-top: 100px; + left: 0; + top: 0; + width: 100%; + height: 100%; + overflow: auto; + background-color: rgb(0,0,0); + background-color: rgba(0,0,0,0.4); +} + +.spinnerCustom { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + z-index: 2; +} + +.link-test-pix { + display: 'flex'; + align-items: center; + width: 41%; +} + +@media (min-width: 769px) { + .headerAlignementmd-lg { + margin-left: 2.5rem !important; + } +} + +@media (max-width: 1092) and (min-width: 992px) { + .info-btn { + width: 100%; + text-align: center; + padding: 0 35%; + } +} + +@media (max-width: 1177px) and (min-width: 992px) { + .upload-btn { + height: 80px; + } +} + +@media (max-width: 992px) { + .hide-deconnexion { + display: none; + } + + .user-header { + margin: 0 2.5rem 0 0.7rem; + } + + #fr-modal-supprimer-candidat { + .fr-modal__body { + width: 100%; + } + } +} + +@media (max-width: 963px) { + .user-header { + margin: 0 1rem 0 0.7rem; + } + + .marge-radio { + margin-right: 1rem; + } +} + +@media (max-width: 767px) { + .responsiveHeaderTools { + display: block !important; + } + + .responsiveVisibilityMenu { + visibility: hidden; + margin: -3.5rem; + } + + .responsiveBouton { + width: 26rem; + } + + .responsiveTextHeader { + text-align: end; + margin-right: 0; + } + + .headerAlignement { + margin-left: 0.6rem; + } + + .responsiveHeaderTools { + margin-left: 0 !important; + } + + .marge-contenu { + margin: 0.7em; + } +} + +@media (min-width: 460px) and (max-width: 767px) { + .placement-droite { + position: absolute; + right: 0; + margin: 0 30px; + } +} + +@media (max-width: 460px) { + .user-header { + font-size: 12px; + } + + .marge-contenu { + margin: 0 10px; + } + + .input-autre { + width: 80%; + } +} + +@media (max-width: 411px) { + .upload-btn { + height: 80px; + } +} diff --git a/src/assets/css/style.scss b/src/assets/css/style.scss deleted file mode 100644 index 0b4f3ef..0000000 --- a/src/assets/css/style.scss +++ /dev/null @@ -1,357 +0,0 @@ -$blue-france:#000091; - -.flashBag { - background-color: white; - color: #008941; - padding: 30px; - text-align: center; - font-weight: bold; - border: 1px solid; - border-radius: 20px; -} - -.labelError { - color: #FF3333; -} -.red-background { - background-color: #E10600; -} - -.header__logo-rf { - height: 78px; -} - -.Login { - border-radius: 8px; - text-align: center; -} - -.fr-sur-mesure { - flex: none; - padding-right: 0; - height: 75px; -} - -.logo-conseiller-numerique { - height: 75px; - margin-left: 1.25rem; - display: flex; -} - -.logo-conseiller-numerique img:first-child { - height: 54px; - margin-top: 1.1em; - font-weight: lighter!important; -} - -.fr-tag.current { - font-weight: 600; - color: white; - background-color: #5770BE; -} - -.fr-tag:hover { - background-color: #D5DBEF; -} - -.hidden { - display: none; -} - -.big-btn { - display: inline-block; - padding: 1.5rem; - border: none; - border-radius: 50px; - font-size: 1rem!important; - width: 60%; - text-align: center; - background: white!important; - border: 1px solid #383838!important; - color: #383838!important; -} - -/* Modal Gestion */ -.modalOpened { - opacity: 1; - visibility: visible; -} -#fr-modal-supprimer-candidat { - .fr-modal__body { - width: 130%; - } -} - -/** Icones menu gauche **/ -.Menu .fr-sidemenu__item--active [class^="fr-fi"] { - color: $blue-france; -} -.fr-sidemenu__inner { - padding: 0 1rem 0 .25rem; -} - -/** style custom **/ -.alignRight { - text-align: right; -} - -.valignTextTop { - vertical-align: text-top; -} - -.valignMiddle { - vertical-align: middle; -} - -.valignBottom { - vertical-align: bottom; -} - -.conseiller .customTitleLink { - color: $blue-france; - text-align: right; -} - -.capitalizeFirstLetter { - text-transform: capitalize; - color: $blue-france; -} - -.centrerTexte { - text-align: center; -} - -.titrage { - font-size: 56px; -} - -.invalid, .important { - color: #e10600; -} - -.valid { - color: #008941; -} -.sansBoxShadow { - box-shadow: none; -} -.react-datepicker-wrapper { - width: 100%; -} -.supprimer-link { - text-decoration: underline; - cursor: pointer; -} -.supprimer-link:hover { - color: red; -} -.upload-btn { - height: 64px; - cursor: pointer; -} -.download-btn { - padding: 1em 1.8em; - width: 100%; - text-align: left; -} -.download-img { - margin-right: 0.8em; -} -.red-btn { - background-color: #e10600; - padding: .5rem 1.5rem; - text-align: center; - color: #e7e7e7; - font-size: 1rem; - cursor: pointer; - &:hover { - background-color: #d30000 !important; - } -} -.desactiver-btn { - padding: .5rem 1.5rem; - text-align: center; - font-size: 1rem; -} -.info-candidat { - margin-bottom: 'revert'; -} - -/** Header **/ -.logo { - height: 72px; - margin-top: -32px; -} -.fr-header__tools-links { - display: block!important; -} -.menu-flex { - display: flex; - justify-content: space-between; - align-items: baseline; -} -.user-header { - margin: 0 2.5rem 0 0.7rem; -} -.user-img { - position: relative; - top: 3px; -} -.informations p { - margin: 0 0 1.5rem; -} -.image-download { - margin: 0 15px 0 6px; -} - -.dropZone { - background-color: #f3f3f3; - padding: 15px 15px 1px; - cursor: pointer; - overflow: hidden; - text-overflow: ellipsis; - - .drop-error-message { - text-align: center; - color: #ff6961; - } - .image-dropZone { - float: left; - margin: 0 15px; - } - .texte-dropZone { - margin: 0 10px 1.5rem 54px; - } - img { - margin-right: 15px; - } -} -.drop-error { - background-color: #ffb4bf; - border: 1px solid #ff6961; -} -.contenu-droite { - float: right; -} -.marge-radio { - margin-right: 7.5rem; -} -.input-autre { - width: 322px; -} - -.wrapperModal { - position: fixed; - z-index: 1; - padding-top: 100px; - left: 0; - top: 0; - width: 100%; - height: 100%; - overflow: auto; - background-color: rgb(0,0,0); - background-color: rgba(0,0,0,0.4); -} -.spinnerCustom { - position: absolute; - top: 50%; - left: 50%; - transform: translate(-50%, -50%); - z-index: 2; -} - -.link-test-pix { - display: 'flex'; - align-items: center; - width: 41%; -} - - -@media (min-width: 769px) { - .headerAlignementmd-lg { - margin-left: 2.5rem!important; - } -} - -@media (max-width: 1092) and (min-width: 992px) { - .info-btn { - width: 100%; - text-align: center; - padding: 0 35%; - } -} -@media (max-width: 1177px) and (min-width: 992px) { - .upload-btn { - height: 80px; - } -} -@media (max-width: 992px) { - .hide-deconnexion { - display: none; - } - .user-header { - margin: 0 2.5rem 0 0.7rem; - } - #fr-modal-supprimer-candidat { - .fr-modal__body { - width: 100%; - } - } -} -@media (max-width: 963px) { - .user-header { - margin: 0 1rem 0 0.7rem; - } - .marge-radio { - margin-right: 1rem; - } -} -@media (max-width: 767px) { - .responsiveHeaderTools { - display: block!important; - } - .responsiveVisibilityMenu { - visibility: hidden; - margin: -3.5rem; - } - .responsiveBouton { - width: 26rem; - } - .responsiveTextHeader { - text-align: end; - margin-right: 0px; - } - .headerAlignement { - margin-left: 0.6rem; - } - .responsiveHeaderTools { - margin-left: 0px !important; - } - .marge-contenu { - margin: 0.7em; - } -} -@media (min-width: 460px) and (max-width: 767px) { - .placement-droite { - position: absolute; - right: 0; - margin: 0 30px; - } -} -@media (max-width: 460px) { - - .user-header { - font-size: 12px; - } - .marge-contenu { - margin: 0 10px; - } - .input-autre { - width: 80%; - } -} -@media (max-width: 411px) { - .upload-btn { - height: 80px; - } -} diff --git a/src/assets/js/app.js b/src/assets/js/app.js deleted file mode 100644 index 20155e7..0000000 --- a/src/assets/js/app.js +++ /dev/null @@ -1 +0,0 @@ -import '@gouvfr/dsfr/dist/dsfr/dsfr.module'; diff --git a/src/components/common/Header.js b/src/components/common/Header.js index 7e12066..fdb2708 100644 --- a/src/components/common/Header.js +++ b/src/components/common/Header.js @@ -3,6 +3,8 @@ import PropTypes from 'prop-types'; import { Link } from 'react-router-dom'; import { useSelector } from 'react-redux'; +import '@gouvfr/dsfr/dist/utility/icons/icons-user/icons-user.min.css'; + function Header({ connected }) { const user = useSelector(state => state.authentication?.user?.user); @@ -35,7 +37,7 @@ function Header({ connected }) {
  • Se déconnecter  - +
  • diff --git a/src/components/connected/Informations.js b/src/components/connected/Informations.js index 86a0ff6..d17a177 100644 --- a/src/components/connected/Informations.js +++ b/src/components/connected/Informations.js @@ -5,6 +5,10 @@ import PropTypes from 'prop-types'; import dayjs from 'dayjs'; import DatePicker from 'react-datepicker'; +import '@gouvfr/dsfr/dist/utility/icons/icons-design/icons-design.min.css'; +import '@gouvfr/dsfr/dist/utility/icons/icons-system/icons-system.min.css'; +import 'react-datepicker/dist/react-datepicker.css'; + function Informations({ infos, setInfos, conseiller }) { const dispatch = useDispatch(); const { _id } = useSelector(state => state.authentication.user?.user); diff --git a/src/components/connected/MonEspace.js b/src/components/connected/MonEspace.js index edb3642..279dc19 100644 --- a/src/components/connected/MonEspace.js +++ b/src/components/connected/MonEspace.js @@ -245,7 +245,7 @@ function MonEspace() {

    Pour consulter vos résultats, il vous suffit de vous connecter à votre compte personnel Pix, vous pourrez alors retrouver vos résultats depuis la page "Mes certifications". - Elle est accessible depuis la rubrique "Certification" + Elle est accessible depuis la rubrique "Certification"{' '} en cliquant sur "Voir mes certifications".

    Date: Mon, 29 Jul 2024 18:58:27 +0000 Subject: [PATCH 2/5] build(deps): bump the minor-and-patch group with 2 updates Bumps the minor-and-patch group with 2 updates: [@reduxjs/toolkit](https://github.com/reduxjs/redux-toolkit) and [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite). Updates `@reduxjs/toolkit` from 2.2.6 to 2.2.7 - [Release notes](https://github.com/reduxjs/redux-toolkit/releases) - [Commits](https://github.com/reduxjs/redux-toolkit/compare/v2.2.6...v2.2.7) Updates `vite` from 5.3.4 to 5.3.5 - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/v5.3.5/packages/vite) --- updated-dependencies: - dependency-name: "@reduxjs/toolkit" dependency-type: direct:production update-type: version-update:semver-patch dependency-group: minor-and-patch - dependency-name: vite dependency-type: direct:production update-type: version-update:semver-patch dependency-group: minor-and-patch ... Signed-off-by: dependabot[bot] --- package-lock.json | 16 ++++++++-------- package.json | 4 ++-- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/package-lock.json b/package-lock.json index 997c177..e312f85 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,7 @@ "license": "AGPL-3.0", "dependencies": { "@gouvfr/dsfr": "^1.12.1", - "@reduxjs/toolkit": "^2.2.6", + "@reduxjs/toolkit": "^2.2.7", "@vitejs/plugin-react": "^4.3.1", "axios": "^1.7.2", "dayjs": "^1.11.12", @@ -24,7 +24,7 @@ "react-redux": "^9.1.2", "react-router-dom": "^6.25.1", "redux": "^5.0.1", - "vite": "^5.3.4", + "vite": "^5.3.5", "web-vitals": "^4.2.2" }, "devDependencies": { @@ -1042,9 +1042,9 @@ } }, "node_modules/@reduxjs/toolkit": { - "version": "2.2.6", - "resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-2.2.6.tgz", - "integrity": "sha512-kH0r495c5z1t0g796eDQAkYbEQ3a1OLYN9o8jQQVZyKyw367pfRGS+qZLkHYvFHiUUdafpoSlQ2QYObIApjPWA==", + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-2.2.7.tgz", + "integrity": "sha512-faI3cZbSdFb8yv9dhDTmGwclW0vk0z5o1cia+kf7gCbaCwHI5e+7tP57mJUv22pNcNbeA62GSrPpfrUfdXcQ6g==", "dependencies": { "immer": "^10.0.3", "redux": "^5.0.1", @@ -5616,9 +5616,9 @@ } }, "node_modules/vite": { - "version": "5.3.4", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.3.4.tgz", - "integrity": "sha512-Cw+7zL3ZG9/NZBB8C+8QbQZmR54GwqIz+WMI4b3JgdYJvX+ny9AjJXqkGQlDXSXRP9rP0B4tbciRMOVEKulVOA==", + "version": "5.3.5", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.3.5.tgz", + "integrity": "sha512-MdjglKR6AQXQb9JGiS7Rc2wC6uMjcm7Go/NHNO63EwiJXfuk9PgqiP/n5IDJCziMkfw9n4Ubp7lttNwz+8ZVKA==", "dependencies": { "esbuild": "^0.21.3", "postcss": "^8.4.39", diff --git a/package.json b/package.json index 272b5b9..3ccd7ee 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,7 @@ }, "dependencies": { "@gouvfr/dsfr": "^1.12.1", - "@reduxjs/toolkit": "^2.2.6", + "@reduxjs/toolkit": "^2.2.7", "@vitejs/plugin-react": "^4.3.1", "axios": "^1.7.2", "dayjs": "^1.11.12", @@ -25,7 +25,7 @@ "react-redux": "^9.1.2", "react-router-dom": "^6.25.1", "redux": "^5.0.1", - "vite": "^5.3.4", + "vite": "^5.3.5", "web-vitals": "^4.2.2" }, "devDependencies": { From 1f9d0dca154935a393003cf7df29cdc0908a1d35 Mon Sep 17 00:00:00 2001 From: Fabien Mercier Date: Thu, 3 Oct 2024 13:56:41 +0200 Subject: [PATCH 3/5] Optimisation de l'installation des packages sur la CI --- .github/workflows/eslint.yml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/eslint.yml b/.github/workflows/eslint.yml index 73ee1da..55dd65f 100644 --- a/.github/workflows/eslint.yml +++ b/.github/workflows/eslint.yml @@ -6,12 +6,12 @@ jobs: eslint: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - - uses: actions/setup-node@v4 - with: - cache: npm - node-version-file: package.json - - name: Install modules - run: npm i - - name: Lint - run: npm run lint + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + cache: npm + node-version-file: package.json + - name: Install modules + run: npm i --no-audit --prefer-offline + - name: Lint + run: npm run lint From 1d5928cd371dd9b04b9c13e6fb85b9b596d71b6c Mon Sep 17 00:00:00 2001 From: Ornella <68587983+Ornella452@users.noreply.github.com> Date: Thu, 7 Nov 2024 18:04:22 +0100 Subject: [PATCH 4/5] gestion conseiller & candidat update infos (#150) --- src/App.js | 2 + src/actions/user.actions.js | 56 ++++++++- .../anonymous/ConfirmationEmailPro.js | 50 ++++++++ src/components/anonymous/ForgottenPassword.js | 2 +- src/components/connected/Home.js | 4 +- src/components/connected/Informations.js | 119 +++++++++++++----- src/components/connected/MonEspace.js | 17 ++- src/reducers/userReducer.js | 18 +++ src/services/user.service.js | 24 ++++ 9 files changed, 249 insertions(+), 43 deletions(-) create mode 100644 src/components/anonymous/ConfirmationEmailPro.js diff --git a/src/App.js b/src/App.js index b99b639..7c211ae 100644 --- a/src/App.js +++ b/src/App.js @@ -6,6 +6,7 @@ import ChoosePassword from './components/anonymous/createAccount/ChoosePassword' import PrivateRoute from './components/connected/PrivateRoute'; import Footer from './components/common/Footer'; import EmailConfirmer from './components/anonymous/ConfirmationEmail'; +import ConfirmationEmailPro from './components/anonymous/ConfirmationEmailPro'; import ForgottenPassword from './components/anonymous/ForgottenPassword'; import CandidatureSupprimee from './components/anonymous/CandidatureSupprimee'; import { useSelector } from 'react-redux'; @@ -26,6 +27,7 @@ function App() { } /> } /> } /> + } /> } /> } /> } /> diff --git a/src/actions/user.actions.js b/src/actions/user.actions.js index 18be144..b1a4c66 100644 --- a/src/actions/user.actions.js +++ b/src/actions/user.actions.js @@ -10,7 +10,9 @@ export const userActions = { inviteAccountsPrefet, forgottenPassword, updateInfosCandidat, + updateInfosConseiller, confirmUserEmail, + confirmUserEmailPro, verifyCode, }; @@ -18,18 +20,17 @@ function login(username, password) { return dispatch => { dispatch(request({ username })); - userService.login(username, password) - .then( + userService.login(username, password).then( data => { data.user.role = data.user.roles[0]; delete data.user.roles; dispatch(success(data)); - if (data.user.role !== 'candidat') { - window.location.pathname = '/login'; - } else { + if (['candidat', 'conseiller'].includes(data.user.role)) { // store user details and jwt token in local storage to keep user logged in between page refreshes localStorage.setItem('user', JSON.stringify(data)); window.location.pathname = '/mon-espace'; + } else { + window.location.pathname = '/login'; } }, error => { @@ -214,6 +215,29 @@ function updateInfosCandidat({ id, infos }) { } } +function updateInfosConseiller({ id, infos }) { + return dispatch => { + dispatch(request()); + userService.updateInfosConseiller(id, infos) + .then( + user => dispatch(success(user)), + error => { + dispatch(failure(error)); + } + ); + }; + + function request() { + return { type: 'UPDATE_USER_EMAIL_REQUEST' }; + } + function success(user) { + return { type: 'UPDATE_USER_EMAIL_SUCCESS', user }; + } + function failure(error) { + return { type: 'UPDATE_USER_EMAIL_FAILURE', error }; + } +} + function confirmUserEmail(token) { return dispatch => { dispatch(request()); @@ -237,6 +261,28 @@ function confirmUserEmail(token) { } } +function confirmUserEmailPro(token) { + return dispatch => { + dispatch(request()); + userService.confirmUserEmailPro(token).then( + user => dispatch(success(user)), + error => { + dispatch(failure(error)); + } + ); + }; + + function request() { + return { type: 'CONFIRMATION_UPDATE_USER_EMAIL_PRO_REQUEST' }; + } + function success(user) { + return { type: 'CONFIRMATION_UPDATE_USER_EMAIL_PRO_SUCCESS', user }; + } + function failure(error) { + return { type: 'CONFIRMATION_UPDATE_USER_EMAIL_PRO_FAILURE', error }; + } +} + function verifyCode(code, email) { return dispatch => { dispatch(request()); diff --git a/src/components/anonymous/ConfirmationEmailPro.js b/src/components/anonymous/ConfirmationEmailPro.js new file mode 100644 index 0000000..5f10070 --- /dev/null +++ b/src/components/anonymous/ConfirmationEmailPro.js @@ -0,0 +1,50 @@ +import React, { useEffect } from 'react'; +import { useDispatch, useSelector } from 'react-redux'; +import { userActions } from '../../actions'; +import Header from '../common/Header'; +import { useNavigate, useParams } from 'react-router-dom'; + +function ConfirmationEmailPro() { + const navigate = useNavigate(); + const { token } = useParams(); + const dispatch = useDispatch(); + const tokenVerifiedOK = useSelector(state => state.user?.isEmailPro); + const tokenVerifiedError = useSelector(state => state.user?.patchError); + + useEffect(() => { + dispatch(userActions.confirmUserEmailPro(token)); + setTimeout(() => { + navigate('/mon-espace'); + }, 7000); + }, []); + + return ( +
    +
    +
    +
    +
    + {tokenVerifiedOK && +
    +

    + La confirmation de votre e-mail a été effectuée avec succès +   + +

    +

    Nous allons vous rediriger vers votre espace candidat....

    +
    + } + {tokenVerifiedError && +

    + La confirmation de votre e-mail a échoué,
    + veuillez réessayer plus tard +

    + } +
    +
    +
    +
    + ); +} + +export default ConfirmationEmailPro; diff --git a/src/components/anonymous/ForgottenPassword.js b/src/components/anonymous/ForgottenPassword.js index 049d110..dfdb442 100644 --- a/src/components/anonymous/ForgottenPassword.js +++ b/src/components/anonymous/ForgottenPassword.js @@ -119,7 +119,7 @@ function ForgottenPassword() { Désolé mais le lien est invalide ou a déjà été utilisé. } - { tokenVerified && !passwordChoosen && resultVerifyToken?.role === 'candidat' && + { tokenVerified && !passwordChoosen && ['candidat', 'conseiller'].includes(resultVerifyToken?.role) &&
    {errorPassword && {errorPassword.error ? errorPassword.error : 'Une erreur s’est produite'}} diff --git a/src/components/connected/Home.js b/src/components/connected/Home.js index 2917564..1526adc 100644 --- a/src/components/connected/Home.js +++ b/src/components/connected/Home.js @@ -27,10 +27,10 @@ function Home() { return ( <> - {user?.role === 'candidat' && (!candidat || candidat?.sexe !== undefined) && + {['candidat', 'conseiller'].includes(user?.role) && (!candidat || candidat?.sexe !== undefined) && } - {user?.role === 'candidat' && candidat && candidat?.sexe === undefined && + {['candidat', 'conseiller'].includes(user?.role) && candidat && candidat?.sexe === undefined && } diff --git a/src/components/connected/Informations.js b/src/components/connected/Informations.js index d17a177..e4a925c 100644 --- a/src/components/connected/Informations.js +++ b/src/components/connected/Informations.js @@ -9,32 +9,53 @@ import '@gouvfr/dsfr/dist/utility/icons/icons-design/icons-design.min.css'; import '@gouvfr/dsfr/dist/utility/icons/icons-system/icons-system.min.css'; import 'react-datepicker/dist/react-datepicker.css'; -function Informations({ infos, setInfos, conseiller }) { +function Informations({ infos, setInfos, infosConseiller, setInfosConseiller, conseiller }) { const dispatch = useDispatch(); const { _id } = useSelector(state => state.authentication.user?.user); const [form, setForm] = useState(false); const activeFormulaire = () => { setForm(true); - setInfos({ - nom: conseiller?.nom, - prenom: conseiller?.prenom, - email: conseiller?.email, - telephone: conseiller?.telephone, - dateDisponibilite: new Date(conseiller?.dateDisponibilite), - }); + if (conseiller.statut === 'RECRUTE') { + setInfosConseiller({ + email: conseiller?.email, + emailPro: conseiller?.emailPro, + telephone: conseiller?.telephone, + dateDisponibilite: new Date(conseiller?.dateDisponibilite), + }); + } else { + setInfos({ + nom: conseiller?.nom, + prenom: conseiller?.prenom, + email: conseiller?.email, + emailPro: conseiller?.emailPro, + telephone: conseiller?.telephone, + dateDisponibilite: new Date(conseiller?.dateDisponibilite), + }); + } }; const handleForm = event => { let { name, value } = event.target; - setInfos({ - ...infos, - [name]: value - }); + if (conseiller.statut === 'RECRUTE') { + setInfosConseiller({ + ...infosConseiller, + [name]: value + }); + } else { + setInfos({ + ...infos, + [name]: value + }); + } }; const updateEmail = () => { - dispatch(userActions.updateInfosCandidat({ id: _id, infos: infos })); + if (conseiller?.statut === 'RECRUTE') { + dispatch(userActions.updateInfosConseiller({ id: _id, infos: infosConseiller })); + } else { + dispatch(userActions.updateInfosCandidat({ id: _id, infos })); + } setForm(false); }; @@ -45,6 +66,8 @@ function Informations({ infos, setInfos, conseiller }) {

    Nom : { conseiller?.nom }

    Prénom : { conseiller?.prenom }

    Email : { conseiller?.email }

    + {conseiller?.statut === 'RECRUTE' && +

    Email  professionnel: { conseiller?.emailPro ?? '-'}

    }

    Téléphone : { conseiller?.telephone }

    Disponible à partir du : { dayjs(conseiller?.dateDisponibilite).format('DD/MM/YYYY') }

    @@ -91,6 +144,8 @@ function Informations({ infos, setInfos, conseiller }) { Informations.propTypes = { infos: PropTypes.object, setInfos: PropTypes.func, + infosConseiller: PropTypes.object, + setInfosConseiller: PropTypes.func, conseiller: PropTypes.object }; export default Informations; diff --git a/src/components/connected/MonEspace.js b/src/components/connected/MonEspace.js index 279dc19..2cf0e2f 100644 --- a/src/components/connected/MonEspace.js +++ b/src/components/connected/MonEspace.js @@ -34,7 +34,16 @@ function MonEspace() { nom: conseiller?.nom, prenom: conseiller?.prenom, email: conseiller?.email, - telephone: conseiller?.telephone + emailPro: conseiller?.emailPro, + telephone: conseiller?.telephone, + dateDisponibilite: conseiller?.dateDisponibilite + }); + + const [infosConseiller, setInfosConseiller] = useState({ + email: conseiller?.email, + emailPro: conseiller?.emailPro, + telephone: conseiller?.telephone, + dateDisponibilite: conseiller?.dateDisponibilite }); const errorTab = [{ @@ -177,9 +186,11 @@ function MonEspace() {

    Mes informations

    - + - + {conseiller && conseiller?.statut !== 'RECRUTE' && + + }

    Mon Curriculum vitæ

    diff --git a/src/reducers/userReducer.js b/src/reducers/userReducer.js index 2c5172c..8fd567e 100644 --- a/src/reducers/userReducer.js +++ b/src/reducers/userReducer.js @@ -38,6 +38,24 @@ export default function user(state = null, action) { patchError: action.error, loading: false }; + case 'CONFIRMATION_UPDATE_USER_EMAIL_PRO_REQUEST': + return { + ...state, + loading: true, + patchError: false + }; + case 'CONFIRMATION_UPDATE_USER_EMAIL_PRO_SUCCESS': + return { + ...state, + isEmailPro: action.user.isEmailPro, + loading: false + }; + case 'CONFIRMATION_UPDATE_USER_EMAIL_PRO_FAILURE': + return { + ...state, + patchError: action.error, + loading: false + }; default: return state; } diff --git a/src/services/user.service.js b/src/services/user.service.js index dcf0070..3565e4e 100644 --- a/src/services/user.service.js +++ b/src/services/user.service.js @@ -6,7 +6,9 @@ export const userService = { verifyToken, choosePassword, updateInfosCandidat, + updateInfosConseiller, confirmUserEmail, + confirmUserEmailPro, sendForgottenPasswordEmail, verifyCode, }; @@ -78,6 +80,18 @@ function updateInfosCandidat(id, infos) { return fetch(uri, requestOptions).then(handleResponse); } +function updateInfosConseiller(id, infos) { + const apiUrlRoot = import.meta.env.VITE_APP_API; + const requestOptions = { + method: 'PATCH', + headers: Object.assign({ 'Content-Type': 'application/json' }, authHeader()), + body: JSON.stringify(infos) + }; + + let uri = `${apiUrlRoot}/conseiller/updateInfosConseiller/${id}`; + return fetch(uri, requestOptions).then(handleResponse); +} + function confirmUserEmail(token) { const apiUrlRoot = import.meta.env.VITE_APP_API; const requestOptions = { @@ -88,6 +102,16 @@ function confirmUserEmail(token) { return fetch(uri, requestOptions).then(handleResponse); } +function confirmUserEmailPro(token) { + const apiUrlRoot = import.meta.env.VITE_APP_API; + const requestOptions = { + method: 'PATCH', + headers: authHeader(), + }; + let uri = `${apiUrlRoot}/conseillers/confirmation-email/${token}`; + return fetch(uri, requestOptions).then(handleResponse); +} + function sendForgottenPasswordEmail(username) { const apiUrlRoot = import.meta.env.VITE_APP_API; From abf4f1de63ae5abda663c976e06604568af303ae Mon Sep 17 00:00:00 2001 From: Ornella <68587983+Ornella452@users.noreply.github.com> Date: Fri, 8 Nov 2024 12:50:37 +0100 Subject: [PATCH 5/5] delete background color (#151) --- src/assets/css/app.scss | 1 - 1 file changed, 1 deletion(-) diff --git a/src/assets/css/app.scss b/src/assets/css/app.scss index f5e5454..0b42a3f 100644 --- a/src/assets/css/app.scss +++ b/src/assets/css/app.scss @@ -1,5 +1,4 @@ .flashBag { - background-color: var(--grey-50-1000); color: #008941; padding: 30px; text-align: center;