From d4dfac656e6e9377cfc8f9cb5915c1b926a3d300 Mon Sep 17 00:00:00 2001 From: Keyemail Date: Mon, 12 Aug 2024 21:21:54 -0700 Subject: [PATCH] Added reset instructions, added login exceptions --- public/logo.ico | Bin 4514 -> 0 bytes public/logo.png | Bin 0 -> 10880 bytes src/Index.tsx | 4 +++ src/pages/ResetInstructions.tsx | 45 +++++++++++++++++++++++++++++++ src/styles/ResetInstructions.css | 33 +++++++++++++++++++++++ 5 files changed, 82 insertions(+) delete mode 100644 public/logo.ico create mode 100644 public/logo.png create mode 100644 src/styles/ResetInstructions.css diff --git a/public/logo.ico b/public/logo.ico deleted file mode 100644 index 9bcd86285d27e9a05d0482856a83ab7c094efe0a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4514 zcmeHLTToMH5Z(kMV8ob42nr}7LYDnoush`72RZ^M&~VuzV>AtdG*clq|E%l`yDGAq3_Nz&a@AW zy>5!&mD5l}MsDmbJTp|t9Bp&jLsD=q;#1C6wRB`^Ra4*N9);HwKgI5HV!nK(kdEj1 zx9tWXzn5TmsSZtAlIX>zb$TQI6L|_cccIUBifFwfTpjCH8OlANvxlHGyq=Qh9lB4w zu}x2gRC+NU+`VLwk~9)l)t|+m#hq!VIOvx`Y6`le*V$@&YaLM{{aSFam}CW360DhE zRe@Cnel3}~zZ@0=Fcv-*#N5+MsZk*i*1CucVLQ?>&^pfwtR%dHnZR5n1E3!)WCj?} zsiaEi<^#O$RDO10hYzX<#G((KsjG@Q{|pV?v8lU_gLIaNV16>2<{eA~-um2{8cG)a zlOq^N?D=MY=A(dwi+Ip{O?mj)=Q&%GP%~#BLi9YO`Skm80Cnb-a@7#Sy@(9y&#Qmm z88kVtR*Qr4=M<`T+luJzm$B*m*I}KuVl1+clt5Z+t=!hiZJl5K4;4(MjgV3Z*~?2a z3?t5B?gpiVOPMzIBnym&9)_F~s3bggHBUe~J@Bv?IsQmJVP|S~(Y;VRi|nr+XmZot zF)>1C8du!}UB_-FSfucbfAnJJ!$~fjH z`%3Zf!Ae>AWmcG3*oNbs{?8In?>STx!%T!-_AT|E&1O!#4vTEFt6rTmnZ_T^Qu#^y z=iGbckzTbo<*Xf?J;1MH_sUyy{}trj-jL4m-zp*)1C34WACDL-Z~ytAssGqIajEfk zP%)JPZQ=MG$d<~!R+9}z6C0m`t<+-Sm_1q-g&Gtb4K&%;7T4J_2J(WHd@Crs6;Q zUko`XJ_uiJ@i%Mw@cLNaIEOFcN_%m&NpnZXm-Q1QrPutjbc1=p!$PR_FJMOAns|Ow zIY-;}*id(F=NuVt0(=|kKR|q0P)+n(3a43bDKxW8{?FFz@5$C-flW%>{_2l*XX??7 zv?CUig5}@Eg4$S7LyV?1jd1AH+?UJ#W-h2EOG*?|of5zx!Fg#sVhq0M4{7lw6qkFv zD?HgGd9{bMdV;jO(QMx9g12I8-XSj%s0FKB8$=8uAZSP?kmdz>kOV~3dWuvL zYb_QKwAN=*z=8tu(y9e3Qm*xks3<5oNDD@aD5$91oq)m6V^3t+yY5|=$(l8L{`vQ} z_y7Hmy=RgZ6u9v9i8Cfb5cGP$BL83rvX?>7c$(7$AjvcQlLbL`Q{WW=f`EW`AtxYn z27>XB9canyL35~08xKL_?Cc>Rg0_Rx#cmw*Cb)hD&NqSFq;EQB*g2T5I?#3BdHe@46X z?v$@TIP`Y73V;0Gq-^r+x!A26MBjhE`v=`8n~Muv3O1k~*tg!kvF{i3f2`d(CH#!0 zHhxl9a#!7T^|}*buff;-O_5`_M%hT&BfvQ#l5VD&K?dDIIHvMhucn}Gf^L` z+roJF(5Vl0C8SSzYdT{|;)7JT6N|7}E8oV;=k1yB_I88gz$YzLUYnPFAq}4W+W1xC ze%@c4jN|e@m88sSO6VN##Iz3$uU#b?SG;>4l@Wg1>6exX*aGkDO2?IVAipK${6$-* z>}kVIUEfD~bbyJEbG}z_JXy5caL?{+aN*C?li&XhAGPwA77b%H67T>VOkYhLmnVXisAxDwC}p9$Do&tLLOu%} z>cz&h~JCzHb{GM0?RV-{$H2}HEdL=;ob7cheTKOBMpcPwg!uOo}pLa-(G`B@2xP&r#3j zCy8UTE$~vs5DS10oQ4~RBVh43i3In24~23;0stAB(7)`V;ArDuTrjMVspLF(K>{pQ zdOQ!o=UMv4spMj_IeZ=t7Q+&tssN)BtcEn@rKN|7f*7GB&fE)-ZKbIc3WmwDnw#l~ z*_`Jm0=ippt+b!nZdL|bY&OGR##5Q57vRrAo5pAGWjrCDVQ!M}1d70mOU2N+bUubG z5YRBuTrVPqN`+|@3W4H9rV^fm3Xm$4TqzGWK>={A5a3YBJX$o}i-O?`NMsC|FW_S6 z0xA{b1@lRiXsUo0%_BYsu|zHeQOOlQKPwXyA3zadDjBBG=@>GZ0HD0+FeV!BMZ!=i zQ~{m9CvZv8US=phkMW^QF5v=q3MJea7#AmvF+VU7&X^w*z(NzT_+d$qn5z_k4lMLX zLa9nK{D32rz{`|e6PpAokw_zXQM?EwJl+dGIA=57a#*eak!Zp+S6Fj*lUo?T7(gu7 z6sG{dEC;qQ%w<$2=g4GY7TQvqEsxnCo%mcO*B?}M0BWh$oM+VP2sP052|0)61}MM8yACfAxpgBi69jvu@mycG-0sf0qAlY+tJ4Vs|fCcu32JOS3= zBVH_58UussF%+)PF(d*RIFW~^V7LMz7enUqXmkOIPQr6(*60eE zK&j@+;rTIuN5B;bPxCs4@-#bYuC=y07B+bS5Qf3iFnIDv!f-J$a z6`m_Hpx>Yj6faNlPp99Hjaf`wf5QOzG zopzf2z6n6+s0?5)aQwx|!NGObTVHJf@8{5T<$@JTKbgd|D~Epf&KytNr0>Rf_6pVl1wH5nmSmr~lh zH}l@{W!>tYRKr}W?MV|+cg zUmzjo0eVZtdzpk=-R(77684pg9-mNuZ)A!L>LktiTdBHQU9H|xpAsSqoz^Hl^teJF zqhA$z;&9#!zbAZ_`tgrN+EX*#Qsz-=8Xar92L8cpXuMr*2Z_@O8MFRMdQb>V{}!I} z6SKNFe=BcQUCk99rfXZ$(YDCX^~ghQo^Mo6`$KO-K*RDAhw^5%IG0`*?T1BAcVe2# z+QXZdYp?zcLE<#W+W&f5-0}C!Qg*?L%t+D4SK?Wh?z)sYBS$Y4Rowk;Q|UC_?sp$Y zrtBsEl$IKf-NmE_&gh;19r1FHJ>Gt%A%em=Z@AU%fyw#U6-h#V_%buUY)(!5&bR*V z8kmh_db>%YW;;VCFKPBA9%w5+7}7&K{qd@6U$i=kR=p_;oFbj~v_B%sfx!)cppx@_ z3oEaS+}jUm9|zSP+twv({_NiR_%fp>wW1hqG#=RxL6?brr7Mf%srzrd;}}tp#w@3_ z8e>E9))HZ8+UgWn? z*)|&2+i070^t{M#qq1!*tgZbvD%Za#->m&My0ES{ee<`Zq>TY%TcVFDU~EftYf{Yv z4TtRuAZ)bFn$%%b>qs7zZ5D_dQ^ShKuVFXT_dNElgP^!NF{cx0>sVU1USn9Utxl{V zLeMp0&duJXsfAuI{s+&%$@mQ z`*yOVJ4~fx6bB~<=gzF1gNTy>PIbKEe!OaLViLTjr-tU^zT^$lUvn+uvU(&H=|mz# z$U#hnG*w@#w@02Jxd^`=JeDSvC3AA~qw=Hl%~!URs`XDiZYx!5Ft&?;m*43OlOvu<=n%fqxQk`ka>M(ZHcjR_d3A26rE3bTu+#xsg%+j}n zzh=^ozTYp*e!6;Y0#&vi{KY;Ti7!}|Mit-IS!UzPW?OuZYGt#{HZvENS=g5THrn<- zv1(hBKEiLKv26szSZT9n*hbe|0?MpEoNv}k(*LKh4jTvRuO%g4DI?aT+O`(jmgr;2 zF!&l~@!ME3jM$%z)p+Y7Hi918>Y!~YJED}nASOqZvZD*@mwK0bP;&XurCRW>MN^U> z2jkEx=_`+lbk6|ar+pQw`tzS^48iwrKHz~(Xzvy($+a~d%jx1w!#IH5@6o8-!e+1H zzcnX-&0>T{E7&6Eb(heKlVj;`$SNB95ntV;aO_6ag-nU^JB0FzCIQ?5`M_$LT9jP9_%&D`7eoMbx z8SrB###@?F*nHMYwh4Sv&pzPX!%PXT;uzghJY7QjYx+b;hZCLP2pv&3<(6U_qdN!3V21{5Q4(l7IjJ literal 0 HcmV?d00001 diff --git a/src/Index.tsx b/src/Index.tsx index 27c1d70..f167db3 100644 --- a/src/Index.tsx +++ b/src/Index.tsx @@ -9,6 +9,7 @@ import Login from "./pages/Login"; import Register from "./pages/Register"; import Navbar from "./components/Navbar"; import "./styles/Main.css"; +import ResetInstructions from "./pages/ResetInstructions"; function Index() { const [loginState, setLoginState] = useState(false); @@ -49,6 +50,8 @@ function Index() { useEffect(() => { if (!loginState) { + if (window.location.pathname === "/reset") return; + if (window.location.pathname === "/register") return; navigate("/login"); } setDevicesOnline(deviceNames.length); @@ -100,6 +103,7 @@ function Index() { element={} /> } /> + } /> ); diff --git a/src/pages/ResetInstructions.tsx b/src/pages/ResetInstructions.tsx index e69de29..1421fb8 100644 --- a/src/pages/ResetInstructions.tsx +++ b/src/pages/ResetInstructions.tsx @@ -0,0 +1,45 @@ +import "../styles/ResetInstructions.css"; + +function ResetInstructions() { + return ( +
+

Reset Instructions

+

+ Unfortunely, you can't reset the password using this interface, however + you can reset the entire extender and gain complete control again (the + settings will be reset), as long as you have the extender with you. + Please read this guide carefully on how to reset it, and do every step. +

+
+

Step 1: Look under the device

+

+ On the bottom of the device, there should be a small hole with a label + called "RESET". You will have to use a very small but long lengthed + object to push the button inside the small hole, I reccomand something + like a toothpick. +

+
+
+

Step 2: Hold down that button

+

+ After locating this button, hold down on that button until the lights + on the extender only flash blue on one light, the other one should be + turned off indicating that it is no longer connected to the router. +

+
+
+

Step 3: Wait for the refresh

+

+ This page will automatically refresh back to the register page and you + should now have access to your extender again! Remember that ALL + settings are now reset and you will have configure this extender once + again, please do not lose your password again. +

+
+

Demo User = root

+

Demo Password = 123

+
+ ); +} + +export default ResetInstructions; diff --git a/src/styles/ResetInstructions.css b/src/styles/ResetInstructions.css new file mode 100644 index 0000000..9f2ed47 --- /dev/null +++ b/src/styles/ResetInstructions.css @@ -0,0 +1,33 @@ +#resetInstructions { + background-color: var(--bg-color-alt); + margin-top: 20px; + border-radius: 20px; + padding: 20px; + height: calc(100% - 50px); + overflow: scroll; + + h2 { + font-size: 2.5rem; + text-align: center; + } + p { + font-size: 1.5rem; + margin-top: 20px; + padding: 0 80px; + text-align: center; + } +} + +.row { + margin-top: 50px; + max-width: 900px; + + h3 { + font-size: 1.5rem; + } + p { + font-size: 1.2rem !important; + text-align: left !important; + padding: 0 !important; + } +}