From d92e1b3ecafc826a59ff4a0f411bfbabcda310e6 Mon Sep 17 00:00:00 2001 From: Bernd Schoolmann Date: Mon, 8 Jul 2024 11:19:30 +0200 Subject: [PATCH] Add shared two-factor-options component (#9767) --- .../browser/src/popup/images/two-factor/0.png | Bin 0 -> 4811 bytes .../src/popup/images/two-factor/1-w.png | Bin 0 -> 1855 bytes .../browser/src/popup/images/two-factor/1.png | Bin 0 -> 1974 bytes .../browser/src/popup/images/two-factor/2.png | Bin 0 -> 1397 bytes .../browser/src/popup/images/two-factor/3.png | Bin 0 -> 1791 bytes .../browser/src/popup/images/two-factor/4.png | Bin 0 -> 4454 bytes .../browser/src/popup/images/two-factor/6.png | Bin 0 -> 1397 bytes .../src/popup/images/two-factor/7-w.png | Bin 0 -> 3103 bytes .../browser/src/popup/images/two-factor/7.png | Bin 0 -> 3300 bytes .../src/popup/images/two-factor/rc-w.png | Bin 0 -> 3411 bytes .../src/popup/images/two-factor/rc.png | Bin 0 -> 3694 bytes apps/browser/src/popup/scss/plugins.scss | 31 ++++++++ apps/browser/src/popup/scss/popup.scss | 1 + apps/browser/src/popup/scss/variables.scss | 6 ++ apps/desktop/src/images/two-factor/0.png | Bin 6054 -> 4811 bytes apps/desktop/src/images/two-factor/1-w.png | Bin 0 -> 1855 bytes apps/desktop/src/images/two-factor/1.png | Bin 2675 -> 1974 bytes apps/desktop/src/images/two-factor/2.png | Bin 1211 -> 1397 bytes apps/desktop/src/images/two-factor/3.png | Bin 1624 -> 1791 bytes apps/desktop/src/images/two-factor/4.png | Bin 4810 -> 4454 bytes apps/desktop/src/images/two-factor/6.png | Bin 1211 -> 1397 bytes apps/desktop/src/images/two-factor/7-w.png | Bin 0 -> 3103 bytes apps/desktop/src/images/two-factor/7.png | Bin 0 -> 3300 bytes apps/desktop/src/images/two-factor/rc-w.png | Bin 0 -> 3411 bytes apps/desktop/src/images/two-factor/rc.png | Bin 0 -> 3694 bytes apps/desktop/src/scss/plugins.scss | 31 ++++++++ apps/desktop/src/scss/styles.scss | 1 + apps/desktop/src/scss/variables.scss | 5 ++ .../two-factor-options.component.html | 51 ++++++++++++ .../two-factor-options.component.ts | 74 ++++++++++++++++++ 30 files changed, 200 insertions(+) create mode 100644 apps/browser/src/popup/images/two-factor/0.png create mode 100644 apps/browser/src/popup/images/two-factor/1-w.png create mode 100644 apps/browser/src/popup/images/two-factor/1.png create mode 100644 apps/browser/src/popup/images/two-factor/2.png create mode 100644 apps/browser/src/popup/images/two-factor/3.png create mode 100644 apps/browser/src/popup/images/two-factor/4.png create mode 100644 apps/browser/src/popup/images/two-factor/6.png create mode 100644 apps/browser/src/popup/images/two-factor/7-w.png create mode 100644 apps/browser/src/popup/images/two-factor/7.png create mode 100644 apps/browser/src/popup/images/two-factor/rc-w.png create mode 100644 apps/browser/src/popup/images/two-factor/rc.png create mode 100644 apps/browser/src/popup/scss/plugins.scss create mode 100644 apps/desktop/src/images/two-factor/1-w.png create mode 100644 apps/desktop/src/images/two-factor/7-w.png create mode 100644 apps/desktop/src/images/two-factor/7.png create mode 100644 apps/desktop/src/images/two-factor/rc-w.png create mode 100644 apps/desktop/src/images/two-factor/rc.png create mode 100644 apps/desktop/src/scss/plugins.scss create mode 100644 libs/angular/src/auth/components/two-factor-auth/two-factor-options.component.html create mode 100644 libs/angular/src/auth/components/two-factor-auth/two-factor-options.component.ts diff --git a/apps/browser/src/popup/images/two-factor/0.png b/apps/browser/src/popup/images/two-factor/0.png new file mode 100644 index 0000000000000000000000000000000000000000..307ff4fd60f33b6044ab5779e91f09a87602b12c GIT binary patch literal 4811 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 Bn>GLd literal 0 HcmV?d00001 diff --git a/apps/browser/src/popup/images/two-factor/1.png b/apps/browser/src/popup/images/two-factor/1.png new file mode 100644 index 0000000000000000000000000000000000000000..37fb7bc43277cd394677e516be9d3bce9e9e8975 GIT binary patch literal 1974 zcmZ8ic~nz(7EVenDZ`SWBoR>)76AcelO=2k2`2;u*(wyWqDV(QfDo{3LLfDyS_o0V z02M^2$j|_7S!7WLQ-L-T>Og@IjDr{!LlA>SHklV_XU>^>?)!eONf_XLr82{U!-4bv1N^^$LSZnNAqs^; zqwVeO9UQP&9PU&|NGO#?qtSt2BqSy#B_-wLx2rT!eMi{T)b#M- zqo+eaNFtFtU*rmXVdLPzGx;Ak- z`lMe21ZM4w+k3cq)c1~I$!CGrNXAa;?a9T*6Uq;y1FN{PNe%o`rB-K+8oj-n}1?it^nnwq>UW>afuqry0g+_k}%xZ`Y*Jd&OhG0f4ceA>*bt< z2d5%*ouO~F5}dY!H{I4#G0H8ygY5dj^9oD&>Py5U3mp&nGyFijvwE;@qxt0L=*n~6 z>3YftZZdXUym_GN@uivkH@DVio-H;RzPf6EEB)tZTRyxNiRZDYdNQwN$nzMbN*8se zBAwhxIKpcYcW2C(`#y10hqp84%kj37EM_LSRA?<)5ML-2qD2ZZBA|mw{I~_9ju$RI zzI0tDHc_#haOwt1tKfSBEI+Cu{hfAEDDL7=7DK2v)(gYg0%NA)UJrQJqJinNCH4kt1AN?21$3L#7=rNwInqUMd8O=!&3HVGv|!GcA2z;3`Sb zh))7qRR>KEK)1vdId7T`9IDm^6B+Z-`Sb&B>b0_C7$rW-S}o~bc<^2IvafJjz2?~u zvuHT;RYb;vDoK?rmV+_cfHHf<@sv)h76Y92Q1_Mj8j*Lc^U7g8N6PFn+#^7V57@vL zTI9XX`YuK}Ixhv8!_jlSud|+9?nL;2xn2-V-=>R6KxvF}*1H7N0>*L3VUOCkU0u}k zk`wnHeZtj)U{t-CnVT8J^^~BSjkBDN=l?F1p0n@m z@-pVaL^76B5!WZ%^cxX0R@p1)7vaO4DSPpJo5Y@sfjTtDEt!7B@>|$3N($F~=9yVi z{d#DvTVLG;ltcd9!Kk2gt1Ss6pahB4HQ{YX^j;zay84;oVs(D=Fn4Q_`Y|;@(ub1 zzT$8-`wNftgG+2{}U~ znM3K*c@3>(jJ*yjR=Vpu9!Hb}awXAAX%JBVcRtI%bf3 zl*pQBjw^^M^#2IjZ*tF&t!t7}>#yG}yrAEDc5JeE5FEbYIR5 zMvvT7rOg$fMwow$8ey)Yep1!f<`hjs-+JhWiByI^qZud0tV})i+3cH$zWvvrlBLp5 vQTNs^NT?9)g^N>^>Zn7ES9=uqz1Oz1yANGIsEuG!Hef^WB&zv=T z&fIzPmn>hga@D%^8#is8O<+v*#~gy?*=tPv)>EGl^e6b9;F>-&*Fyb3EtwZ7 zVJ**Fl~$Ipr$HW)K1L?$t!JL+FPxARJ!4^S5XbH0w$)pv zFg3oNqcY=Y_PVbckFNS1{{QW~5Qogv+BCO>8tH_NC3BlI+Mjc<%o4fzZxZEmzx9^VU=iBpYPo2u;9lzL5Ut#^q+r088FzYaQy85}Sb4q9e0FM8V A3IG5A literal 0 HcmV?d00001 diff --git a/apps/browser/src/popup/images/two-factor/3.png b/apps/browser/src/popup/images/two-factor/3.png new file mode 100644 index 0000000000000000000000000000000000000000..c543343f53bfd6feab3eee06eccf2a6e1d500117 GIT binary patch literal 1791 zcmeAS@N?(olHy`uVBq!ia0vp^DL^d4!3-o9_`W*Dz`&Fe;1l9H>y*tX8Vv!OhQOuO z54?cM?sQ3zUoZnB6Eh1d8#@Ol7dHqvnYpEvjjf%%gOjtXyN9QjkDq^Fa7buactm7WbZlIFVp3{ac1~_yeqm8@NoiR{ zRdr2mU427ib4y!$S5I$W|AdK?CQq3khU$Ju4y7e13ZP~hQ z`;MKvcJJMH;NYRdM~|I2dFI^t3l}e4zH;^2^&2;D-M(}0{)2~)pFDl`{Ke}xZ{NND z@bS~~S4P5sfP&A`B1@9E+gQgLhR<)7hGLM7Ng=(C>Tu{x~L-I)@? z5#<%AH)SSwW>=c()U>BY9MASCX|3Dw(5{R5(Y^+&9o#z>tXQmZ>a&04{yUcC?<}q4 z>I>}b&s4rEepb8x`(EyQy~%a1m9CjgI+59@PHU$ffB5%hrN2wmB1NyexEf z(c7IMsdj3oM0=0GQq5zEnv>Ohb);Hnv{(oWv|eVs&3l;Q$S>yjyW&>g> z_QiO$WQUN`_1DrZdFre=kHX@0r?jMLT$%XwJqp8l93?x49kioc;g@@K;qcBP=!7mCvzUb{x- zv`*PjC~)ga-2p~3E=#XRv*-QgP%vJy>hs4cCgnw~Gpd6$PU&f<$V&?+sKf?84q#gm zHD%|TvX{J{U$5ETI>Yu$w4%D}l5ByVki6<_ql~qdJ&PlCzZPx$e{6TF%oZoV?h~gO z4K7tO=T$m9U9=|Y>7(zlGtTDvn=6J_@5$Y{YR!Zwvo_`wx&8CGZl&-UiWTVfyQXNL zxV+{R``*aBI@=|`7r1%hxvLJKKHrANHRSQo@Tn>PIA%{$DhV2$F9Z+ z9o2=uKF%mL38-FT|KLufxW%rtKaJ1a-}Z6`Io4(~HSTIRYM-~_ zscK1DyC>hi$8NaQ@BX|QU9)%QoSgLZ=SJ=d);VUkZw5-Y&j*$;44$rjF6*2UngH;= Bd3gW; literal 0 HcmV?d00001 diff --git a/apps/browser/src/popup/images/two-factor/4.png b/apps/browser/src/popup/images/two-factor/4.png new file mode 100644 index 0000000000000000000000000000000000000000..058671ea37ebbe48ce0bfede09f3e9e548068021 GIT binary patch literal 4454 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 literal 0 HcmV?d00001 diff --git a/apps/browser/src/popup/images/two-factor/6.png b/apps/browser/src/popup/images/two-factor/6.png new file mode 100644 index 0000000000000000000000000000000000000000..d069bdab9920267c0bad60f455e90c742885751d GIT binary patch literal 1397 zcmeAS@N?(olHy`uVBq!ia0vp^DL|~i!3-oXf7O*?U|?bl@Ck9v-5)TDMsf%&?Ffnj zrioQ0L4LsuOw25-Z0sDI+`N4J0)oOKqGA$~QqnTAa`Fm_O3Es#YU&!ATG~3gdin;& zCZ=ZQmR8m_whoTY?jD|A-oAmsA)#U6F|l#+2^pE$`Nbur6_wR>EuG!Hef^WB&zv=T z&fIzPmn>hga@D%^8#is8O<+v*#~gy?*=tPv)>EGl^e6b9;F>-&*Fyb3EtwZ7 zVJ**Fl~$Ipr$HW)K1L?$t!JL+FPxARJ!4^S5XbH0w$)pv zFg3oNqcY=Y_PVbckFNS1{{QW~5Qogv+BCO>8tH_NC3BlI+Mjc<%o4fzZxZEmzx9^VU=iBpYPo2u;9lzL5Ut#^q+r088FzYaQy85}Sb4q9e0FM8V A3IG5A literal 0 HcmV?d00001 diff --git a/apps/browser/src/popup/images/two-factor/7-w.png b/apps/browser/src/popup/images/two-factor/7-w.png new file mode 100644 index 0000000000000000000000000000000000000000..89fdd8a2a08165da804ed79de4a10c4ae1e359ee GIT binary patch literal 3103 zcmd5;`9BkmPz*L1;KR zCNU*5uduATw!XQwtABWWW`1#Hef!`P4XU>Q0HD7Ob#*KsOmDn^1WaSkhx1V6zSuLZ zQdL1LCLM@K=d-gLr~b~6Tl_-5jJue_3SmHb3>;sEVOIj$E zo_wy3bAY46sG8M6aGdgXU#oQSCzwz%tph-%;;{@s806r|_FR?3GTRRKzl3w(7AYI~ zkw@0zs?OmeZGG9TcLOjQ!n42RTpCxWZQ z-IFio_BK|r@q+tAKLh`nKKGt3cF2G4Ts z>BviFdXJAET!#>sNT-F+pDUR40$gQM+>|%iaJ#Lp4BwCTOw|6w(n<_x>yax8#i5kA z_MjM0v|4|o_oetbx1MN+8@(V#*ioda8Pgc#xZDFr)38gG+u|lS@QG^vr-mKyl@TY` zz1F?xQ(k+)^OyJJdHD|EZ-vk|!*t+V_2*9|s|34N9wgeCqA0FCX>!xiXkV-7!T=nK zBTrWPHN`1|Hl%t@K&s$YhZVW^G~Kt9iqG<>IEuYmaapeZBKk#hBvS& zWycVa=^xrA$mFcic)216Qxpp$zsF-)lZG!$3K8WHw9IxJpZ!1;@KbysM|z{sO8L9{vo zNe{`XuFEZz+4+!W1YXC=sN~+ekk*n}uh-{dh<+vs3p0z=df?!5tb9Gs*0~hf^GRy; zd8Xg3H(Qls89c=~CVPnp3)9c>Y63e*+o%TN7r;T)@@22>T)HS zkl1FtblIEs0ZjFAem`Ex+uE;#dl@3#b$vVC!GPQw>N?DKBZNLo7w^wgI2YZ&F*<@R zj#I_(BFHr$^h{7o8pAAZ!L;Q}5}$+S6sm+DM38Ob@_rW}UcFVz*%9s6ZB!ggnBtlk z=vPN=N@7AlIHk`ye6M!zfxq%`>#CyyENgl#=#fh^Y?gn@U2JIj*C6bE4=&0aqx?eM;3iguH&Y5tHjBf{;+~H zG5zlT>E5}t&~CP*?jfbB2(yREC=C;2Zcf2%8$uFdzZ}vo+X`2|mPE9H-W8F!#-Xy>jWYe-&ptF?xhX_vS7Z!`L^HZQg;QG zmwmVXX26wSn0S0CSr~ssu{wmOYxdzSds~KSvyDRh@frIuwGuv<)s!c}nmUf@EaLBO z3;NOJ`(8zDJ8eL<0o#AO63z{06}IIM~QT{tUu^#R~$41K#GhgP>vu3 zY>S%{F08s`JBgSWaX33YUSm7GhH75$1S}HpSxza2Ue8FalU#a^@0%&27FD6TA}xxo z?DvWJFZku%?93&dOzsU#t&fFjd%{H`?9s(D$$++;~{gyZRrkj6Eg4!r}J$}#D ztY0((nF{{4=JnCvXj;cBj7>($oq8nyL8*)$Ys}uHmK0uxg@;(oRLMeaDbnY zC9GsV87gdU5~m6~zHa5@;h6*VXaC{!{z~El%1gi4wZrVi-#n zgY$mx0P<1~anf-Dt+9UC9>AmU!-|Uu-fE}*T9aC!dZlIZaaScQtFjjqqwcu- zcvY|%vM4FW#qpQS3dyDkq}($G7tuJHz5&K=SKkE)Vg6MwpX2I;AA#-kPH8Anh^^|9{NRc{~0HXie zI;KKa^#ccL;32+JKLGiXV0-F`!{~Z8FojRX=d`TXsk6UO50{D5VqhqO31_UnLT{xI zqxW}`z$7_=QJUwwIw>|jFo!fYiSmK@Zgpq)8<|6CS*?nQkE!E(601hc=T}Y)smCI4 zg1EkLy-+df>C63%eyh!;nWs(sLOoXd?APalz=CPq+O>o8KRGpwejfE5V5?rYcjd(0 z+Oj5V$44-fIft-uX?kfbcdW+Tzh$oPvr(fjRty0!lyB+cEvk$aWNFrSi+qw#iphNm z>ng&_0zQn#QHde%=s!vxwslW7VNeaMw*|C);pXM_dcPVH9f*c?zc*x>c4(Nim&Sp6 zfj|{u@`gcs-M#1LLMw73YrLWy+`HWkOTgcN92Vp#h*8)h9g+1)qL#qJ_`HHmdBGGu zmkf{f_+Zg_aDT-t=d^4J{U%v!`j=@ZdWq22U^f zgy|r24Na{~gt+Bn}N$Dm9@|!D}9YpBE;b#dL6|@O1n^8A=+hW!?|eP+Hk!v&&K6 zx(;!nv-gD#Www--MILHPiHz*Cm)x0!EW7AesUW}dH%Ou235KzT2!h%=+G7-y1gFmm zM`>j|+i9n7J<2g!v3eXJJ(~m1 zpB;pdg6-tNdYW|{Rom$v3k5cL1X%#s`a#zdx|-J3kitVsiuAAnzp53j-Ay?a#+6BE z5cgYU9*UYx$Y**wKgGi+mFJQeJgJ=iC@S~pPd!)b;-}&*9X90XokLN#XM5$oHtL;I zn|3{Se$1_fk-87+&T*V~^W>YXq{;sW_}<7C*?Q&un)SVjZj~k8fjxTtAHW%MpXnC( etJYt|GvEVXV&;p{pwWK^8ephrqFaS`j`$x1Fb9SJ literal 0 HcmV?d00001 diff --git a/apps/browser/src/popup/images/two-factor/7.png b/apps/browser/src/popup/images/two-factor/7.png new file mode 100644 index 0000000000000000000000000000000000000000..2a38bdcd3e559de0cbf1f0455b011f5b9250628f GIT binary patch literal 3300 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 K!)lmo?0*1)uoeaY literal 0 HcmV?d00001 diff --git a/apps/browser/src/popup/images/two-factor/rc-w.png b/apps/browser/src/popup/images/two-factor/rc-w.png new file mode 100644 index 0000000000000000000000000000000000000000..e83b8db13243687a7eb44e9c676f6c45ed54dc35 GIT binary patch literal 3411 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 Nt;}uAYE3-}{|88xeg*&l literal 0 HcmV?d00001 diff --git a/apps/browser/src/popup/images/two-factor/rc.png b/apps/browser/src/popup/images/two-factor/rc.png new file mode 100644 index 0000000000000000000000000000000000000000..4bebdf936ccfa8409d6bc74f7bc1a5ac4ec269f7 GIT binary patch literal 3694 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 Zm{ExN^XE!`#BhEW%uk&m6yjW?{tNL&o*e)H literal 0 HcmV?d00001 diff --git a/apps/browser/src/popup/scss/plugins.scss b/apps/browser/src/popup/scss/plugins.scss new file mode 100644 index 0000000000..b8ac8697b7 --- /dev/null +++ b/apps/browser/src/popup/scss/plugins.scss @@ -0,0 +1,31 @@ +@import "variables.scss"; + +@each $mfaType in $mfaTypes { + .mfaType#{$mfaType} { + content: url("../images/two-factor/" + $mfaType + ".png"); + max-width: 100px; + } +} + +.mfaType1 { + @include themify($themes) { + content: url("../images/two-factor/1" + themed("mfaLogoSuffix")); + max-width: 100px; + max-height: 45px; + } +} + +.mfaType7 { + @include themify($themes) { + content: url("../images/two-factor/7" + themed("mfaLogoSuffix")); + max-width: 100px; + } +} + +.recovery-code-img { + @include themify($themes) { + content: url("../images/two-factor/rc" + themed("mfaLogoSuffix")); + max-width: 100px; + max-height: 45px; + } +} diff --git a/apps/browser/src/popup/scss/popup.scss b/apps/browser/src/popup/scss/popup.scss index 850ef96c64..8dc2c206f8 100644 --- a/apps/browser/src/popup/scss/popup.scss +++ b/apps/browser/src/popup/scss/popup.scss @@ -10,5 +10,6 @@ @import "modal.scss"; @import "environment.scss"; @import "pages.scss"; +@import "plugins.scss"; @import "@angular/cdk/overlay-prebuilt.css"; @import "../../../../../libs/components/src/multi-select/scss/bw.theme"; diff --git a/apps/browser/src/popup/scss/variables.scss b/apps/browser/src/popup/scss/variables.scss index d8891cf620..a4366a7415 100644 --- a/apps/browser/src/popup/scss/variables.scss +++ b/apps/browser/src/popup/scss/variables.scss @@ -19,6 +19,8 @@ $border-radius: 6px; $line-height-base: 1.42857143; $icon-hover-color: lighten($text-color, 50%); +$mfaTypes: 0, 2, 3, 4, 6; + $gray: #555; $gray-light: #777; $text-muted: $gray-light; @@ -111,6 +113,7 @@ $themes: ( infoColor: $brand-info, warningColor: $brand-warning, logoSuffix: "dark", + mfaLogoSuffix: ".png", passwordNumberColor: #007fde, passwordSpecialColor: #c40800, passwordCountText: #212529, @@ -174,6 +177,7 @@ $themes: ( infoColor: #a4b0c6, warningColor: #ffeb66, logoSuffix: "white", + mfaLogoSuffix: "-w.png", passwordNumberColor: #6f9df1, passwordSpecialColor: #ff8d85, passwordCountText: #ffffff, @@ -236,6 +240,7 @@ $themes: ( infoColor: $nord9, warningColor: $nord12, logoSuffix: "white", + mfaLogoSuffix: "-w.png", passwordNumberColor: $nord8, passwordSpecialColor: $nord12, passwordCountText: $nord5, @@ -298,6 +303,7 @@ $themes: ( infoColor: $solarizedDarkGreen, warningColor: $solarizedDarkYellow, logoSuffix: "white", + mfaLogoSuffix: "-w.png", passwordNumberColor: $solarizedDarkCyan, passwordSpecialColor: $solarizedDarkYellow, passwordCountText: $solarizedDarkBase2, diff --git a/apps/desktop/src/images/two-factor/0.png b/apps/desktop/src/images/two-factor/0.png index f37e3f17b4dfbb57eff732342ce64c4625bf4ffe..307ff4fd60f33b6044ab5779e91f09a87602b12c 100644 GIT binary patch literal 4811 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 Bn>GLd literal 0 HcmV?d00001 diff --git a/apps/desktop/src/images/two-factor/1.png b/apps/desktop/src/images/two-factor/1.png index b47a12b1db848510625fa6944a059cede37fd05c..37fb7bc43277cd394677e516be9d3bce9e9e8975 100644 GIT binary patch literal 1974 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 diff --git a/apps/desktop/src/images/two-factor/2.png b/apps/desktop/src/images/two-factor/2.png index ab2e43403614fdae987a9f34b5c7c80f7a0599cd..d069bdab9920267c0bad60f455e90c742885751d 100644 GIT binary patch literal 1397 zcmeAS@N?(olHy`uVBq!ia0vp^DL|~i!3-oXf7O*?U|?bl@Ck9v-5)TDMsf%&?Ffnj zrioQ0L4LsuOw25-Z0sDI+`N4J0)oOKqGA$~QqnTAa`Fm_O3Es#YU&!ATG~3gdin;& zCZ=ZQmR8m_whoTY?jD|A-oAmsA)#U6F|l#+2^pE$`Nbur6_wR>EuG!Hef^WB&zv=T z&fIzPmn>hga@D%^8#is8O<+v*#~gy?*=tPv)>EGl^e6b9;F>-&*Fyb3EtwZ7 zVJ**Fl~$Ipr$HW)K1L?$t!JL+FPxARJ!4^S5XbH0w$)pv zFg3oNqcY=Y_PVbckFNS1{{QW~5Qogv+BCO>8tH_NC3BlI+Mjc<%o4fzZxZEmzx9^VU=iBpYPo2u;9lzL5Ut#^q+r088FzYaQy85}Sb4q9e0FM8V A3IG5A delta 1202 zcmV;j1Wo((3cCrA8Gi-<0087G-7WwC00d`2O+f$vugEtAis=9V02y>eSaefwW^{L9 za%BKPWN%_+AW3auXJt}lVPtu6$z?nM00d1*L_t(|+SHp_XjNAfhWEXR(HIqRD1rkj z4wXi1Ep@^v`XVBwj#Z&3h*B%H3WfL}g^Ex5q^O9BBM731pnq7UYLr$Ziu2GqQ%c35 zRqB8w#(VvL?tkzQlHB3kd)CQ7#;5xVp z&V!4Y_K6SEAAfXk!EG@3THikc2f+r3l+Id$0iacm_vYtHz$XC&X`SKqeDU9cX`p)( z*NxOy4zNGKPOw!2r%{W$!dMqDU!!9SXrJc#WFGFxHfjQpPQ+5MS`lDr8ZrFF0a6ZD zNtn47g7`gfo`k7z&DTB$)!@efUQFu@wt@YilZ7Cj^?w0J(F zYHPBXxP#aPu-H-%+6ZM~QMKtIht^6@{J7ymFO0C4EDrg8os>$O3c^L)j0lQR;ak*& zX|tFX$A66<{>umoGSle3TufJ33o=~WCUp@I!dt0-Vc3UZ)`DAYLTlLlvY%^TtY-DjY~>EN}fL z0$CTUFDoTTJ|}sGDOPuW2kzHjoE6&IX!2g-QpF9K+F>w;+X)evPZog3dXce!QKFr~ z6i)~*G_+bS)GEA8{O(c(1N(AlhZT=J#MO|tpg%ZjVLxMCvb3Dz9_>VoYHaV5_R71ndH_+XN2c+V@Q=g76#I^D?U+{Uul zv0x4u;!@`)32pr(>b2>;kEA|(0&MrPsiv|X?%lk0!TueApM9n5=$uA&zC%s5=nBSx zQ7-jw0G*Y&z19756{I%9>raYa5-WxDmIrv}N;Mjk*AOV07*qoM6N<$f|b@mPXGV_ diff --git a/apps/desktop/src/images/two-factor/3.png b/apps/desktop/src/images/two-factor/3.png index 21aac2da678c81608308569464b7589a0b4f4122..c543343f53bfd6feab3eee06eccf2a6e1d500117 100644 GIT binary patch literal 1791 zcmeAS@N?(olHy`uVBq!ia0vp^DL^d4!3-o9_`W*Dz`&Fe;1l9H>y*tX8Vv!OhQOuO z54?cM?sQ3zUoZnB6Eh1d8#@Ol7dHqvnYpEvjjf%%gOjtXyN9QjkDq^Fa7buactm7WbZlIFVp3{ac1~_yeqm8@NoiR{ zRdr2mU427ib4y!$S5I$W|AdK?CQq3khU$Ju4y7e13ZP~hQ z`;MKvcJJMH;NYRdM~|I2dFI^t3l}e4zH;^2^&2;D-M(}0{)2~)pFDl`{Ke}xZ{NND z@bS~~S4P5sfP&A`B1@9E+gQgLhR<)7hGLM7Ng=(C>Tu{x~L-I)@? z5#<%AH)SSwW>=c()U>BY9MASCX|3Dw(5{R5(Y^+&9o#z>tXQmZ>a&04{yUcC?<}q4 z>I>}b&s4rEepb8x`(EyQy~%a1m9CjgI+59@PHU$ffB5%hrN2wmB1NyexEf z(c7IMsdj3oM0=0GQq5zEnv>Ohb);Hnv{(oWv|eVs&3l;Q$S>yjyW&>g> z_QiO$WQUN`_1DrZdFre=kHX@0r?jMLT$%XwJqp8l93?x49kioc;g@@K;qcBP=!7mCvzUb{x- zv`*PjC~)ga-2p~3E=#XRv*-QgP%vJy>hs4cCgnw~Gpd6$PU&f<$V&?+sKf?84q#gm zHD%|TvX{J{U$5ETI>Yu$w4%D}l5ByVki6<_ql~qdJ&PlCzZPx$e{6TF%oZoV?h~gO z4K7tO=T$m9U9=|Y>7(zlGtTDvn=6J_@5$Y{YR!Zwvo_`wx&8CGZl&-UiWTVfyQXNL zxV+{R``*aBI@=|`7r1%hxvLJKKHrANHRSQo@Tn>PIA%{$DhV2$F9Z+ z9o2=uKF%mL38-FT|KLufxW%rtKaJ1a-}Z6`Io4(~HSTIRYM-~_ zscK1DyC>hi$8NaQ@BX|QU9)%QoSgLZ=SJ=d);VUkZw5-Y&j*$;44$rjF6*2UngH;= Bd3gW; delta 1618 zcmV-Y2Ce!34cH8j8Gi-<005Vh8u$PJ00d`2O+f$vugEtAis=9V02y>eSaefwW^{L9 za%BKPWN%_+AW3auXJt}lVPtu6$z?nM00rtvL_t(|+U#0+Y*b|sfBRb6LTw8c1%l#1 zyec9lYD^c>P+%mGmP`?+qdkN7wIIwY&-9L-}~O&GrO_HtIzf#O8JEQ2tx^b2|i&v z;bB5g$i0pu%pvsRf8J{=;Zebh1m$|sr2&Ln35N>aZ-n`2C}b32hT?64LLx;_k||^Y;e7Ezym&L=1;?6G374YsNrZzh3Gbsax{Xkb!^a3a z2~Qbu{0hPtu@8Sf1K}mhD_w*UgqsMJgkexf6VCjGv45@<1%fZ$@kc^!l4l)5xQK8L zVKku#{67dk5I!WVOmbe9#U+Gkgfg6gWz|k-CafYXgRK9h7?r&h^jWXGr5gv@W<2Os z!c~gL4_*N)*eVX6sEm$S*VV2^ZNN7~N zj|mkHL4V#$xScR0!1A}jm^Uc?8H6VYX9ld_g);te=}Mm%-jHty%R>n|QSsIj-W3+y zrmnX;V)dU!B@_>Mf#V6!Cs78|orF6SkN5pM;Q34g39myTLsAGuBUD-LK?y5UP=<$R zERf~5k5Ex#+Wyn35@BpDo7)e4tWorFegtb<|dysIyx^FJ$Vqa*v*09DZ z<$s>%s(Uz8{nCdD*+FnvSNO9z?y2IkU=OO^fX|#V@mL~;<2}% zCKb|byx16M&I(rzCpXC|X{&NQ1sn^3(jut%5{=chG!J2<1#55o$%fdh0;I)R_ zqsi@r7XAIDSB|5_K+?#ev(c=StjWn!mq}LF+le&R^0E&ph6}aynnSJ z_h>YDQv%i;g;15~w_4Qo5;VmYonm-oqc!cVRiVf?wE3LlA>GEThYvLyNh{HORic{> zOM8uq=R(3Y#(i}m_qO_jTZ~3HK|HKngHcjKpzj$5I@4G?O{`1MMxGv6!^H;lB@-M6 zS)U}C^U&-kqr#bo@d}5&;qbb2Xn!O|BTWc}r=t?gSNE+zUloSx(QL|c`4B{d7YU!D zyB`IQtP~RlnOE-;Uc+=X9GrXf_gbp5hfaMkG8Q`XaRa}9{lkA0G!8q3$dn`g&pNSlF zgsL=IzTdzw_o-H6j$fVRqr)7l_!CpGeo3W>xp~MRo4w3^OIL~#Gma*!+sh7>Kp{mi z94>9Q8)b5`^+zHM4uCRR9962*Lnax@NT)O331ow^xwoX;?~ zDFb9Fq|B(2+Cy~a{gh#a%r-(Pmd8;M1zC#PKp+Y#Dhi55+!etE1s70zlIbkklbrD+2Dg~*bkfOmI*F5QG-;>R z7`0nXq9(=|jffZl*#r^AxPnW>6_r8(*#!L0y*E}BmG=se)5US7t>Nb^YPq>CieqpnVV-liU1eM}v_y&lXtjRupKkB`aNCBWq6>ud6&^Qz0+ z{6 zdKf!(g622BMf*=agVUGW&~DAfM%rZ6-#5X@B6-bv+-lYah*o`xcFWh&`BuXD{lCKH zFCV}y{$+ShiiIIC@U&;lr0`z?S@NhX?js?i0bW`S^ufV!Ua|tMatqKp?a)7=e5=w) z8HY(fqID)I>!_&xvcE$g(x*xjJ3Yn>V=M{xBcss(olXm_))Std8hX_5bAJ8NSkMO~ zZ%+?+>9lZOv_uxN%?~+Es`Xtt?9NtIE0W?f*~i6$4Bfkzcs%=DAOqRfTnO&&ZfM`W z9W)vbbmmOby1By3_<$CLq}LnZ>Y-D}O{0VHVMEbs zVD$G#+s%n+oqA9eg2S$Ta7fI8L()E4^c=L?vmdT0xo{)7lRQ!mKtpm%&Q%AQa{_KJ z%!MJO&pHNjk%T5BAUr(WFkwOz7A<-gDJdzqa^(uj%ga$&S&52@3S7H(4LLbE_;|?@ zOpBXBpEEoVkI`uLh!_}vFaK*O{_*+{i`Ks}6n~u`21@EM7z_^=imMCUXT?*fIbySr zwD8aT`0yb(@pFzyM<%7s&KZd2Is14P*h!u^Q5b_w~=+T0v!m7!!JFBU^(tc zgT7DSVg_O&!Jb@PoH05w0;ws<$7iZR!C95IU#i9Bp`{sYxIm zI=JBZ=bsZVxF0Jmy@5V`LO93#+QpF2^wfkNs85MSMdDt6$iCjl8W#Iks;?uM&u3PEhO4R^4xun2~|d6G9=lJ~=zj%%ls z8G;f>3IQ2m2Z+I-hhDEkW@aXuvbwrD$sf0F-9lq~@x>R(yPWx44;9GSjT2fB$YAs0 z@fFSsFFAtk&u1>eAt8fbzo(i860Q!!)wKg=&YS^zcIM0(%$++2;o&0@5)zEi(7uR{ zj+WO}u3X6#7Xy9xKsHT4x0V7jkbz{=;z?4L%IQK)E!bwCILknIahokAkOR=!0V0Wf z&6+h(F|MYl)D1=3wr!~LayR!PoWS{W1k(jZqn^+6(1HBaVn8$mWDwfy79i43wB3_~ z!xfTSDPL5hYi2%|zV}koK!%T01tR$)Az=s9?2FIW!l|9pLm7W)b$Tvy>5)t3W&#Ol zHW2QU_#)y6z~7NCB+hfq0}^HdVoB=%{nI6w?fUIHY$`6nQYwExICojX*z2b+;MG&- z@d~T(JZ2p~%lU6pU(}ymj;ysa@Wq>hu;Hy?(yV>{=1^(U*8WKvHmrGV z2v+}bFjl=fSe{1?3ZO+-hA_RsAkc>Q?~E0%3_{MQqjB}S7~I$~Ngi`nj*-`cy7?k5 zB2X2`IRX->4uo?Um+dl5c;}tBk(|5-#l^*Fpo++BRaI3ud^jJgR(*yMBZl+w>_w_T z^kD-D$UZX=mNbQd8Tr_D{RXNV8kzy*HgxKJ2%pymh+OI0-WvhzpDvA8<<2OSZ6A&D z@5h)W&ue#2r1z)tG51!^bUYv1i<>*!(4jXF5FOf z&{uyMhC8Wo{DmKg8tAH?IVng&n6;!fNRC)XUd0PuO$%%P9Fi+U<%volMPDm`NQm4?O{MEo;$;J^V6ZPG{C0tr(9>6Cs59n%gn6!sSLOv^^{-p))oe4nnU#1ue=4z~sJ z?V{npzG-xIPQk66<59k294dB1SyWD{-ZfFK<~m#9)~;p&5pS9IWC)NpRqZnjh%X9O zld!7IK)P6fa6XW$d&`z@@M|m~A%Q~|_hVKdk6VCPCc0^*<*2=L2lEPw7>3$3SB~qR zc^GecMq4oiAL=Yu}Xjh;qsOkeDm%Ix;RGQA{|G$ z!!D5XUq_?66^NAG@$vDnXB8FY6qZ(C!GZ-?x^yYZ%It@;g$rMnoMHts0Bv?<$-=ez zd7-6KH{0T(D-1=EAIM9j+G4A$Z$MDiVfH2k5E20yW(H!8zbsxj9Wv~6=^uXhq5PvA zJ9@EX{O#YVBaW|&LhYW|rhv%f;yD9=G(}iskC5V^Cna$it&zm+3C}#IiK)(WdyJ9FFGKRp9mo({AX5A5^?Iq%)6>(SX79cKKAfDKI2W*_cX-Ul z3&+-tYYK=Q>q7vKtR06s+vCIw(*G7I3+wJ_smSDS+ABxyXJa@lDu7)0#sWkxlBb`3 z8uo0?oOp&|Q(Q2V`Sa()p3Ru?EH}E%1fuRKt?xp~pur;Bs!P}CeLFw~548c(I1Uq# zbg0?;1ca_IoAQ#Zu{w7Hg8(BrDJ*G%l5^U5;Y+F$OFt410wqOs2=p1a$zrRiRONTbByYK$gHWoDWs_a z;Sk3?lq_yWMh4U@H#gV3#jLsunw*>rHOtG(laOW9cr*!Q2lXM-4i}=161>@XGiv04 z<1+Jli@J8ReR}b#fKmrCxaEMjn5!$>D_xTN@%2%B4mp={mL(fhd@j2nJv3VQ`*%iB zQ4!Q^+qUocO1Hb`vuV>NsM*PrCnYZ#JlvZEl2TeGC2d@Of$WKxjRD=1=T@6}?2L+s znxPpR$COkwHhuF(`=8HFmEeVI#MB@lX@rU5Mn#Emq4Om|2VX+4H}7lAT4yqmRw zv`P~F|HN~ttNcKrEhj1?7hR)uV&Z7`sT*XElb@g^ZZr!?-D^5jHH&;)Qc{D0H zdJ5qOj`Kn@Bo_ZI-MJGT6#ehh{?%UH3#am-gW!r&EURg)O zNv954o3JHiuttx}Wsy7`Pz4gw!;jA`Ro0ttz5zSN8)%BK<>JyFadEM*XYuhbakFVt z_9|vsyvVzAc&u(CO6D?1)TidbC+#5L+`#3qJs^B;Za!NK2=_SBi)4Q~T9Kg1OQaP3 z!!vy-{OGCF)v;&Dl=$uc?9a0-#T0;`3fw+D1&Daam@%VKUtbRu<6D%t(lSqUIfO}N zmXwqPHM?@Lq_6p42eO}FbL$=|B4=f5S4$>_u$kp7Ri z6cB5tK6`p^9+B9DEmq~-3GbdyB4~sYhEL{&A$4hlG>w(J*rU{e^bHaq{C`V$*|KE| z?AgwpJ2856q%8EPQQ@))XU`TdUTpR#0b)OgG~X@~B#qkmU4Udl->-j50uc|9%>=HlYNuWUViYr+rMZu?ie^Q3^#7vXll$(@0ZG>Ju56M zL_mPQxskN%AxWm2a>q#-c|Zk;XH^Y=*d5X>dd~0Nmi`2COy~4N>?KMdi7gJqIu02X z=Fc6wc!Vsny5zmvbk3_=C*tVZagsM|flNfdUXL*lo2u!_C!c8My=3Y$ud!pt*z_%S zatP-I$q##OuWQI;3iQ8CY4skRDPY0=Y~=y z%macMh)wk*2|hY{0?wX2i~F(c>}>PSp;TqIKpt05>a3)@+L?vK67f##EiH$PP7*Tl zZ-)!bTeu8S9Y{ht48g$yq*x6|T3Q;!^~l}Kf_TV#Y91n2a1AX|`Oe8^NywQw(c&Qr zCB3XS}DjloLM%krdolhZ{eoo!EswM zj9t5yFpxC08|4NK8YopuWMqU{?8>}HZFA3+@#nF<+?)_G(4WGQRgv_Z_PkYZhW7q> z4~8XRo{8>>H+~mN3*Q${jqiaWp`8h~QOaI}(I`X2h_C?KgZG#B2848yE?v&26fY`Q zNa8J>J9m=N`~3OyuzdM)tX{nuAAR(p+@4uC~lYJmr z*ic*ow(Zw%Sb)Sa5E(+M-sB)ZN$Bv}TQKwtN@gIxRrx1)Uz$C|MpRnzmy|D{ynBQf zS0PJZp)LW+lVI^8XEzc5E$1^D8{f2G;PcVzBKeHAdAI-Y1!TT&j2GVg$f1e9mt7E| zpD#ZCbrb=~R|8?Q_woGkvvSkJ?2|uPwsj-(PT)*c4R`d4dwcng`nF%~fFUTTP7^zA z2m@(NSNK-icX%XzB=e}rTjLJbd4J%mm~Yj&m#8G>Syc`_%Dq+=IkL>pQ}Y+K;K|5^Z0td4Z5I5R9TK}jl!u`r*|MJgthG}fc?%iBhh zU*G!qdhz3fKflpnGIr@=G6eN9QG7QUdiN#;Tci&*E5s~*osZ+skb>xQJxzulJsPQJ s3H^NSvN0gwyrEaGHJ;Ivx;5tTfBzW~(PQOxS^xk507*qoM6N<$f-m@y-2eap literal 4810 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 diff --git a/apps/desktop/src/images/two-factor/6.png b/apps/desktop/src/images/two-factor/6.png index ab2e43403614fdae987a9f34b5c7c80f7a0599cd..d069bdab9920267c0bad60f455e90c742885751d 100644 GIT binary patch literal 1397 zcmeAS@N?(olHy`uVBq!ia0vp^DL|~i!3-oXf7O*?U|?bl@Ck9v-5)TDMsf%&?Ffnj zrioQ0L4LsuOw25-Z0sDI+`N4J0)oOKqGA$~QqnTAa`Fm_O3Es#YU&!ATG~3gdin;& zCZ=ZQmR8m_whoTY?jD|A-oAmsA)#U6F|l#+2^pE$`Nbur6_wR>EuG!Hef^WB&zv=T z&fIzPmn>hga@D%^8#is8O<+v*#~gy?*=tPv)>EGl^e6b9;F>-&*Fyb3EtwZ7 zVJ**Fl~$Ipr$HW)K1L?$t!JL+FPxARJ!4^S5XbH0w$)pv zFg3oNqcY=Y_PVbckFNS1{{QW~5Qogv+BCO>8tH_NC3BlI+Mjc<%o4fzZxZEmzx9^VU=iBpYPo2u;9lzL5Ut#^q+r088FzYaQy85}Sb4q9e0FM8V A3IG5A delta 1202 zcmV;j1Wo((3cCrA8Gi-<0087G-7WwC00d`2O+f$vugEtAis=9V02y>eSaefwW^{L9 za%BKPWN%_+AW3auXJt}lVPtu6$z?nM00d1*L_t(|+SHp_XjNAfhWEXR(HIqRD1rkj z4wXi1Ep@^v`XVBwj#Z&3h*B%H3WfL}g^Ex5q^O9BBM731pnq7UYLr$Ziu2GqQ%c35 zRqB8w#(VvL?tkzQlHB3kd)CQ7#;5xVp z&V!4Y_K6SEAAfXk!EG@3THikc2f+r3l+Id$0iacm_vYtHz$XC&X`SKqeDU9cX`p)( z*NxOy4zNGKPOw!2r%{W$!dMqDU!!9SXrJc#WFGFxHfjQpPQ+5MS`lDr8ZrFF0a6ZD zNtn47g7`gfo`k7z&DTB$)!@efUQFu@wt@YilZ7Cj^?w0J(F zYHPBXxP#aPu-H-%+6ZM~QMKtIht^6@{J7ymFO0C4EDrg8os>$O3c^L)j0lQR;ak*& zX|tFX$A66<{>umoGSle3TufJ33o=~WCUp@I!dt0-Vc3UZ)`DAYLTlLlvY%^TtY-DjY~>EN}fL z0$CTUFDoTTJ|}sGDOPuW2kzHjoE6&IX!2g-QpF9K+F>w;+X)evPZog3dXce!QKFr~ z6i)~*G_+bS)GEA8{O(c(1N(AlhZT=J#MO|tpg%ZjVLxMCvb3Dz9_>VoYHaV5_R71ndH_+XN2c+V@Q=g76#I^D?U+{Uul zv0x4u;!@`)32pr(>b2>;kEA|(0&MrPsiv|X?%lk0!TueApM9n5=$uA&zC%s5=nBSx zQ7-jw0G*Y&z19756{I%9>raYa5-WxDmIrv}N;Mjk*AOV07*qoM6N<$f|b@mPXGV_ diff --git a/apps/desktop/src/images/two-factor/7-w.png b/apps/desktop/src/images/two-factor/7-w.png new file mode 100644 index 0000000000000000000000000000000000000000..89fdd8a2a08165da804ed79de4a10c4ae1e359ee GIT binary patch literal 3103 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 literal 0 HcmV?d00001 diff --git a/apps/desktop/src/images/two-factor/7.png b/apps/desktop/src/images/two-factor/7.png new file mode 100644 index 0000000000000000000000000000000000000000..2a38bdcd3e559de0cbf1f0455b011f5b9250628f GIT binary patch literal 3300 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 K!)lmo?0*1)uoeaY literal 0 HcmV?d00001 diff --git a/apps/desktop/src/images/two-factor/rc-w.png b/apps/desktop/src/images/two-factor/rc-w.png new file mode 100644 index 0000000000000000000000000000000000000000..e83b8db13243687a7eb44e9c676f6c45ed54dc35 GIT binary patch literal 3411 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 Nt;}uAYE3-}{|88xeg*&l literal 0 HcmV?d00001 diff --git a/apps/desktop/src/images/two-factor/rc.png b/apps/desktop/src/images/two-factor/rc.png new file mode 100644 index 0000000000000000000000000000000000000000..4bebdf936ccfa8409d6bc74f7bc1a5ac4ec269f7 GIT binary patch literal 3694 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 Zm{ExN^XE!`#BhEW%uk&m6yjW?{tNL&o*e)H literal 0 HcmV?d00001 diff --git a/apps/desktop/src/scss/plugins.scss b/apps/desktop/src/scss/plugins.scss new file mode 100644 index 0000000000..b8ac8697b7 --- /dev/null +++ b/apps/desktop/src/scss/plugins.scss @@ -0,0 +1,31 @@ +@import "variables.scss"; + +@each $mfaType in $mfaTypes { + .mfaType#{$mfaType} { + content: url("../images/two-factor/" + $mfaType + ".png"); + max-width: 100px; + } +} + +.mfaType1 { + @include themify($themes) { + content: url("../images/two-factor/1" + themed("mfaLogoSuffix")); + max-width: 100px; + max-height: 45px; + } +} + +.mfaType7 { + @include themify($themes) { + content: url("../images/two-factor/7" + themed("mfaLogoSuffix")); + max-width: 100px; + } +} + +.recovery-code-img { + @include themify($themes) { + content: url("../images/two-factor/rc" + themed("mfaLogoSuffix")); + max-width: 100px; + max-height: 45px; + } +} diff --git a/apps/desktop/src/scss/styles.scss b/apps/desktop/src/scss/styles.scss index 54c1385dcf..187b4bf23c 100644 --- a/apps/desktop/src/scss/styles.scss +++ b/apps/desktop/src/scss/styles.scss @@ -15,5 +15,6 @@ @import "header.scss"; @import "left-nav.scss"; @import "loading.scss"; +@import "plugins.scss"; @import "../../../../libs/angular/src/scss/icons.scss"; @import "../../../../libs/components/src/multi-select/scss/bw.theme"; diff --git a/apps/desktop/src/scss/variables.scss b/apps/desktop/src/scss/variables.scss index e4a2f12476..6f8112b1ca 100644 --- a/apps/desktop/src/scss/variables.scss +++ b/apps/desktop/src/scss/variables.scss @@ -15,6 +15,8 @@ $list-icon-color: #c7c7cd; $border-radius: 3px; $line-height-base: 1.42857143; +$mfaTypes: 0, 2, 3, 4, 6; + $gray: #555; $gray-light: #777; $text-muted: $gray-light; @@ -92,6 +94,7 @@ $themes: ( infoColor: $brand-info, warningColor: $brand-warning, logoSuffix: "dark", + mfaLogoSuffix: ".png", passwordNumberColor: #007fde, passwordSpecialColor: #c40800, passwordCountText: #212529, @@ -150,6 +153,7 @@ $themes: ( infoColor: #a4b0c6, warningColor: #ffeb66, logoSuffix: "white", + mfaLogoSuffix: "-w.png", passwordNumberColor: #6f9df1, passwordSpecialColor: #ff8d85, passwordCountText: #ffffff, @@ -208,6 +212,7 @@ $themes: ( infoColor: $nord9, warningColor: $nord12, logoSuffix: "white", + mfaLogoSuffix: "-w.png", passwordNumberColor: $nord8, passwordSpecialColor: $nord12, passwordCountText: $nord5, diff --git a/libs/angular/src/auth/components/two-factor-auth/two-factor-options.component.html b/libs/angular/src/auth/components/two-factor-auth/two-factor-options.component.html new file mode 100644 index 0000000000..bd19c4cd0b --- /dev/null +++ b/libs/angular/src/auth/components/two-factor-auth/two-factor-options.component.html @@ -0,0 +1,51 @@ + + + {{ "twoStepOptions" | i18n }} + + +
+
+
+ +
+
+

{{ p.name }}

+

{{ p.description }}

+
+
+ +
+
+
+
+
+
+
+ rc logo +
+
+

{{ "recoveryCodeTitle" | i18n }}

+

{{ "recoveryCodeDesc" | i18n }}

+
+
+ +
+
+
+
+ + + +
diff --git a/libs/angular/src/auth/components/two-factor-auth/two-factor-options.component.ts b/libs/angular/src/auth/components/two-factor-auth/two-factor-options.component.ts new file mode 100644 index 0000000000..61f225cc21 --- /dev/null +++ b/libs/angular/src/auth/components/two-factor-auth/two-factor-options.component.ts @@ -0,0 +1,74 @@ +import { DialogRef } from "@angular/cdk/dialog"; +import { CommonModule } from "@angular/common"; +import { Component, EventEmitter, OnInit, Output } from "@angular/core"; +import { firstValueFrom } from "rxjs"; + +import { JslibModule } from "@bitwarden/angular/jslib.module"; +import { I18nPipe } from "@bitwarden/angular/platform/pipes/i18n.pipe"; +import { TwoFactorService } from "@bitwarden/common/auth/abstractions/two-factor.service"; +import { TwoFactorProviderType } from "@bitwarden/common/auth/enums/two-factor-provider-type"; +import { ClientType } from "@bitwarden/common/enums"; +import { EnvironmentService } from "@bitwarden/common/platform/abstractions/environment.service"; +import { PlatformUtilsService } from "@bitwarden/common/platform/abstractions/platform-utils.service"; +import { ButtonModule, DialogModule, DialogService, TypographyModule } from "@bitwarden/components"; + +export enum TwoFactorOptionsDialogResult { + Provider = "Provider selected", + Recover = "Recover selected", +} + +export type TwoFactorOptionsDialogResultType = { + result: TwoFactorOptionsDialogResult; + type: TwoFactorProviderType; +}; + +@Component({ + standalone: true, + selector: "app-two-factor-options", + templateUrl: "two-factor-options.component.html", + imports: [CommonModule, JslibModule, DialogModule, ButtonModule, TypographyModule], + providers: [I18nPipe], +}) +export class TwoFactorOptionsComponent implements OnInit { + @Output() onProviderSelected = new EventEmitter(); + @Output() onRecoverSelected = new EventEmitter(); + + providers: any[] = []; + + // todo: remove after porting to two-factor-options-v2 + // icons cause the layout to break on browser extensions + areIconsDisabled = false; + + constructor( + private twoFactorService: TwoFactorService, + private environmentService: EnvironmentService, + private dialogRef: DialogRef, + private platformUtilsService: PlatformUtilsService, + ) { + // todo: remove after porting to two-factor-options-v2 + if (this.platformUtilsService.getClientType() == ClientType.Browser) { + this.areIconsDisabled = true; + } + } + + async ngOnInit() { + this.providers = await this.twoFactorService.getSupportedProviders(window); + } + + async choose(p: any) { + this.onProviderSelected.emit(p.type); + this.dialogRef.close({ result: TwoFactorOptionsDialogResult.Provider, type: p.type }); + } + + async recover() { + const env = await firstValueFrom(this.environmentService.environment$); + const webVault = env.getWebVaultUrl(); + this.platformUtilsService.launchUri(webVault + "/#/recover-2fa"); + this.onRecoverSelected.emit(); + this.dialogRef.close({ result: TwoFactorOptionsDialogResult.Recover }); + } + + static open(dialogService: DialogService) { + return dialogService.open(TwoFactorOptionsComponent); + } +}