From 1480e88081382d94f2edd6e30b120bfcb1b710dc Mon Sep 17 00:00:00 2001 From: Michael Gordeev Date: Tue, 10 Mar 2020 19:41:05 +0300 Subject: [PATCH] Done extension UI and basic interactions --- collections.html | 56 +++++++++++ css/style.css | 178 ++++++++++++++++++++++++++++++++++ css/style.dark.css | 54 +++++++++++ css/style.generic.css | 123 +++++++++++++++++++++++ icons/dark/empty/128.png | Bin 0 -> 2378 bytes icons/dark/empty/16.png | Bin 0 -> 1888 bytes icons/dark/empty/32.png | Bin 0 -> 1910 bytes icons/dark/empty/48.png | Bin 0 -> 2027 bytes icons/dark/full/128.png | Bin 0 -> 2290 bytes icons/dark/full/16.png | Bin 0 -> 2072 bytes icons/dark/full/32.png | Bin 0 -> 2099 bytes icons/dark/full/48.png | Bin 0 -> 2231 bytes icons/light/empty/128.png | Bin 0 -> 2583 bytes icons/light/empty/16.png | Bin 0 -> 2088 bytes icons/light/empty/32.png | Bin 0 -> 2108 bytes icons/light/empty/48.png | Bin 0 -> 2231 bytes icons/light/full/128.png | Bin 0 -> 2497 bytes icons/light/full/16.png | Bin 0 -> 2069 bytes icons/light/full/32.png | Bin 0 -> 2090 bytes icons/light/full/48.png | Bin 0 -> 2222 bytes images/edge_icon.png | Bin 0 -> 2776 bytes images/tab_icon.png | Bin 0 -> 1839 bytes images/tab_icon_dark.png | Bin 0 -> 2305 bytes images/tab_thumbnail.png | Bin 0 -> 1999 bytes images/tab_thumbnail_dark.png | Bin 0 -> 2206 bytes js/aside-script.js | 40 ++++++++ js/background.js | 50 ++++++++++ manifest.json | 39 ++++++++ popup/popup.html | 8 ++ popup/trigger.js | 11 +++ 30 files changed, 559 insertions(+) create mode 100644 collections.html create mode 100644 css/style.css create mode 100644 css/style.dark.css create mode 100644 css/style.generic.css create mode 100644 icons/dark/empty/128.png create mode 100644 icons/dark/empty/16.png create mode 100644 icons/dark/empty/32.png create mode 100644 icons/dark/empty/48.png create mode 100644 icons/dark/full/128.png create mode 100644 icons/dark/full/16.png create mode 100644 icons/dark/full/32.png create mode 100644 icons/dark/full/48.png create mode 100644 icons/light/empty/128.png create mode 100644 icons/light/empty/16.png create mode 100644 icons/light/empty/32.png create mode 100644 icons/light/empty/48.png create mode 100644 icons/light/full/128.png create mode 100644 icons/light/full/16.png create mode 100644 icons/light/full/32.png create mode 100644 icons/light/full/48.png create mode 100644 images/edge_icon.png create mode 100644 images/tab_icon.png create mode 100644 images/tab_icon_dark.png create mode 100644 images/tab_thumbnail.png create mode 100644 images/tab_thumbnail_dark.png create mode 100644 js/aside-script.js create mode 100644 js/background.js create mode 100644 manifest.json create mode 100644 popup/popup.html create mode 100644 popup/trigger.js diff --git a/collections.html b/collections.html new file mode 100644 index 0000000..df52f3d --- /dev/null +++ b/collections.html @@ -0,0 +1,56 @@ +
+
+
+

Tabs aside

+ + + +
+  Set current tabs aside +
+
+ +
+ + +
+
+
+ Tabs: $(tabsCount) + $(timestamp) +
+
+ Restore tabs + + + +
+
+ +
+
+
+
+ $(title) + +
+
+
+
+
+ + +
\ No newline at end of file diff --git a/css/style.css b/css/style.css new file mode 100644 index 0000000..e2ff917 --- /dev/null +++ b/css/style.css @@ -0,0 +1,178 @@ +.aside.pane +{ + font-family: 'Segoe UI', 'Segoe MDL2 Assets'; + user-select: none; + position: fixed; + z-index: 999; + + right: 0px; + top: 0px; + width: 40%; + min-width: 500px; + min-height: 100%; + + background-color: #f7f7f7; + border: 1px solid rgba(100, 100, 100, .5); + box-sizing: border-box; + box-shadow: 6px 0px 12px black; + + transition: .2s; +} + + .aside.pane > .header + { + margin: 20px 40px; + } + .aside.pane > .header > .title + { + display: grid; + grid-template-columns: 1fr auto; + } + + .aside.pane > .header > .title > h1 + { + margin: 10px 0px; + font-weight: normal; + font-size: 21pt; + } + + .aside.pane > .header > .title > button + { + margin: auto; + } + + .aside.pane > .header > .title > nav + { + top: 70px; + right: 40px; + } + + .aside.pane > .header > .title > nav > div + { + box-shadow: 0px 4px 5px -2px rgba(100, 100, 100, .5); + } + + .aside.pane > .header > .title > nav > p + { + margin: 10px; + } + + .aside.pane > .header > hr + { + border: 1px solid #8a8a8a; + } + + .aside.pane > #content > h2 + { + margin: 0px 40px; + font-weight: normal; + } + + .aside.pane > #content > .set > .setHeader + { + margin: 0px 20px; + display: grid; + grid-template-columns: 1fr auto; + } + + .aside.pane > #content > .set > .setHeader small + { + color: gray; + } + + .aside.pane > #content > .set > .setHeader span + { + font-weight: 600; + } + + .aside.pane > #content > .set > .setHeader a + { + font-size: 11pt; + font-weight: 500; + } + .aside.pane > #content > .set > .setHeader nav + { + width: 200px; + margin-top: 10px; + right: 50px; + } + + .aside.pane > #content > .set > .setHeader > div:first-child + { + margin: auto 0px; + } + + .aside.pane > #content > .set > .collection + { + padding: 10px 0px; + padding-left: 40px; + white-space: nowrap; + overflow: auto; + } + + .aside.pane > #content > .set > .collection > .item + { + width: 175px; + height: 148px; + margin: 5px; + + background-color: #c2c2c2; + background-image: url("../images/tab_thumbnail.png"); + + display: inline-grid; + grid-template-rows: 1fr auto; + + box-shadow: 0px 0px 5px rgba(100, 100, 100, .5); + transition: .25s; + cursor: pointer; + } + .aside.pane > #content > .set > .collection > .item:hover + { + filter: brightness(120%); + box-shadow: 0px 0px 15px rgba(100, 100, 100, .5); + } + + .aside.pane > #content > .set > .collection > .item > .caption + { + background-color: rgba(233, 233, 233, .75); + grid-row: 2; + display: grid; + grid-template-columns: auto 1fr auto; + } + + .aside.pane > #content > .set > .collection > .item > .caption > button + { + margin: auto; + margin-right: 5px; + visibility: hidden; + } + + .aside.pane > #content > .set > .collection > .item:hover > .caption > button + { + visibility: visible; + } + + .aside.pane > #content > .set > .collection > .item > .caption > div + { + width: 20px; + height: 20px; + margin: 10px; + + background-image: url("../images/tab_icon.png"); + } + + .aside.pane > #content > .set > .collection > .item > .caption > span + { + margin: auto 0px; + } + +@media only screen and (max-width: 500px) +{ + .aside.pane + { + right: initial; + width: 100%; + left: 0px; + min-width: initial; + } +} \ No newline at end of file diff --git a/css/style.dark.css b/css/style.dark.css new file mode 100644 index 0000000..2350d46 --- /dev/null +++ b/css/style.dark.css @@ -0,0 +1,54 @@ +.aside.pane +{ + background-color: #333333; + color: white; +} + +.aside button +{ + color: white; +} +.aside button:hover +{ + background-color: gray; +} +.aside button:active +{ + background-color: dimgray; +} + +.aside.pane > #content > .set > .setHeader small +{ + color: lightgray; +} + +.aside ::-webkit-scrollbar-thumb +{ + background: gray; + border-radius: 3px; +} + ::-webkit-scrollbar-thumb:hover + { + background: dimgray; + } + +.aside.pane > #content > .set > .collection > .item +{ + background-color: #0c0c0c; + background-image: url("../images/tab_thumbnail_dark.png"); +} + +.aside.pane > #content > .set > .collection > .item > .caption +{ + background-color: rgba(50, 50, 50, .75); +} + +.aside nav +{ + background-color: #3f3f3f; +} + +.aside.pane > #content > .set > .collection > .item > .caption > div +{ + background-image: url("../images/tab_icon_dark.png"); +} \ No newline at end of file diff --git a/css/style.generic.css b/css/style.generic.css new file mode 100644 index 0000000..4057a94 --- /dev/null +++ b/css/style.generic.css @@ -0,0 +1,123 @@ +.aside ::-webkit-scrollbar +{ + height: 6px; +} + +.aside ::-webkit-scrollbar-thumb +{ + background: darkgray; + border-radius: 3px; +} + ::-webkit-scrollbar-thumb:hover + { + background: gray; + } + +.aside a +{ + font-family: 'Segoe UI', 'Segoe MDL2 Assets'; + color: #0078d7; +} + .aside a:hover + { + text-decoration: underline; + cursor: pointer; + } + +.aside .slider +{ + position: relative; + display: inline-block; + + border-radius: 13px; + width: 50px; + height: 26px; + + background-color: #cccccc; + transition: .4s; +} + + .aside .slider:before + { + position: absolute; + content: ""; + + height: 16px; + width: 16px; + left: 5px; + top: 5px; + border-radius: 50%; + + margin: auto; + + background-color: white; + transition: .3s; + } + + .aside input:checked + .slider, + .aside input:focus + .slider + { + background-color: #0078d7; + } + + .aside input:checked + .slider:before + { + transform: translateX(24px); + background-color: #3f3f3f; + } + +.aside nav +{ + font-family: 'Segoe UI'; + user-select: none; + + position: absolute; + width: 250px; + + box-shadow: 0px 0px 10px black; + background-color: white; + border-radius: 5px; + + z-index: 10; + + visibility: hidden; +} + + .aside nav button + { + font-family: 'Segoe UI'; + cursor: pointer; + background-color: transparent; + border: none; + + font-size: medium; + text-align: start; + + padding: 10px; + width: 100%; + height: initial; + } + + .aside button + nav:active, + .aside button:focus + nav + { + visibility: visible; + } + +.aside button +{ + font-family: 'Segoe MDL2 Assets'; + width: 32px; + height: 32px; + background-color: transparent; + border: none; + cursor: pointer; +} + .aside button:hover + { + background-color: #c6c6c6; + } + .aside button:active + { + background-color: gray; + } \ No newline at end of file diff --git a/icons/dark/empty/128.png b/icons/dark/empty/128.png new file mode 100644 index 0000000000000000000000000000000000000000..07c4dfe915a62f37348ee24349626a7eeb536aa1 GIT binary patch literal 2378 zcmbVO4NMbf7`~GFgNTga)aZ1VBTIF7y`TQxNl|Q3YOFBCfpczL@2=%6?cI7;Xo)`z z=if|>TjqicWiFbzpWv7=QSo=W#fVeqrfwSCj|0Ui>QF~mV)k8WD;jieO|SRechC2{ z&-=XZ_oZtJ=gdqUHg*^UL8;DsM-jN!sMpZJ;P*%l(+Y0MQvQ4yf<_!wFU^Lm5#u0e zP_Iy2s+78B)2!&%Go0w=^@}X1Y|mFL!!Ji7^~A50!JZ=&xYix0pU_t zA#4|eJZ#dNQI;^8U<;)u%myPxO@>LFuwu9sBMc~Erj0mFl5p&UfM`L^Ll-$_#A1Ob z8&a+)5{+S1RaN>bgI)}JF@mBf3@0&?L;(VoBLRg8qX9WH&fwr>HYiAnAO>KSk#UP5 z#fAW-eJS{*1Z_Z$*#r#3!iac zKku~L3xlFZr~ohIqM6fSXP(_mP-Zhq>WQdamy31=WQ7T^ywhPrfIoUc;AocPjV6-g zQKOl&pg3-HqgIkKp%yppG4e)&wU`p?9U>c2yFgvvw;?!@1so6Lv2KFIDIj)pR39^kEoTB= z9vrn8qUM9Chf-f@ut%#Feb?^*i^IXGs16gyF?dKE=zIWB2f=aO@ky^8f|Bkz9l6Ef zh8u0Ufs2L1^S;v^*;#yb-?;q04%RE08%dukV?$-(QsSA`^|xERi{SKH-`~qtoqPS> zlF^G7?!}<}Lk~Ttsmp|9ZP_~LM0(Ah&$c$cd#)>m*yXH#|IUSwruC#Qx9z~J-nP4~ z*xq@oCw#E=oDTLq!253XG<|~}U*3ZVod;GgTa(n2+1c{rq=sFydbcdlX69-3IeYJ> zkN)#RbKCuuY@V+sZ}F_U=0&$!4<1EMPv{F>nAQ9FvXbr*Sr-O5Mx|c*ZTJ`0dYqN- z+;Qz0`r3w`RYm3+ofC6^Ed4$yeEo&nJHPMN{seUmy4-NxJf(U?GJhVrag*sd)2*GH z^lf?#m4wfPI=*bF8QQIlZ0pvZ)!+r|=jId?j)%InR6CgPK^@7#<5!YPwe_*YJz0&q z?Ux2Q>U7qZa|%wY$mTPV+AgS0cg%SzL)oFJ(_P&a8dBql+tjsi+FOy@eMcg-ohpCE z$&A@)HIdo|X>(cc*w~;Nnm7aMc*Nj7dH-ed)sfSbw8lFdO;?{?GR3+#ZDH>ZFWz}O zDST?l)pcF$s$V~XdaCa&zubN?UdS$FRODRK-nJE48M&Q%Dz}Hu-pE<(-O%V;^-4*5 z;H%Q5P2(5wqu*@5a$(D;mRKd{4LOv3SUOvk;@w=f`x?l5OcM=kT6wwse4JK44qCgf zK;M$GyYbrB*@tx-Qh!<6^z-}^8OGMZ>uvWpMQS~5Yo~Q2*C%{(rNJ%7l+h;_%${n? zuGbxEmM*!gp_?1Q=tyL3r{>m6a&xB-8X0fD(2zsOj`J7xr}RAEt+k2^?rp+4tbZ&` hnP!OA^nqzzSoStyjOJ$Nd+NU(XWkq~)AX|1e*kZ_MmPWf literal 0 HcmV?d00001 diff --git a/icons/dark/empty/16.png b/icons/dark/empty/16.png new file mode 100644 index 0000000000000000000000000000000000000000..f0a6dff717141e28036733722e6c1c6fcfb027cf GIT binary patch literal 1888 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 M3Pu747Or{uZ``u6^Z)<= literal 0 HcmV?d00001 diff --git a/icons/dark/full/128.png b/icons/dark/full/128.png new file mode 100644 index 0000000000000000000000000000000000000000..7c199e2edd8153ebaf96031b49ff43067544c27b GIT binary patch literal 2290 zcmbVOeQXnD7{7h6u_;Ufi9rIK$53!y@2=l>toxwdScBc>=)w%3T<@;kv9@>K-PUeX zsThsMKM0JEY|Jf$5EcoLFcKXQ9UF>+45osDtS~;zAY%AZ5c!zzwOu#JKtj_#_uk#_ zeV*U*d!F}6KPxR>Fd_Y=bO?eb*o$ms;2KhY<5Pg`&Y_QhOPW~pmJC4?530X}^;r|A zLD0B=d1r-E;dp~$1fPax1sA6Y`b2<+pzPeBNHbNO0=qa5@3$aV_kD}NJZnJ~8yvVp zv~rbvQJusssw;LfbyW<>BDpzmc8~%Ne4IkVL7&$zQ$Y(7@k@cV`WQpt2t=u}Ao*%Q zxWZ8iTLp=O4H_fL5PAb_A~l3jrzgqRVJ%LWG2Dz1I+QR{dYsZ~;n)WO(InPQmDvho zvA~@LsZxTjWX&sJuj4`?ReDM&nQcwfZhzT+#T6Wfo99G83Lbb$j1vP-?EHxXE zvPvAS2$E9}yu*bm9i|Lht!iONc+O(p&k6x~?x;PSjaE1dqQ$j1ifd6V=_Cx4-arxh zEL=z7cogaoSl(Sb8VU-GJ3);JJ*7211O;8g(hB{*V3wiWg5;w?&b*KIaG2=#AaGns z$|`sT2?Pf0bfcf!t=3XWaPwa9LM~e{AGQ}*jRa{lqFN0Rq3du^cE7C9eulH#EC|p? z!}Bb~8cilWZg!yt7i~ffCOwIoO|%;|>2Lx!(*(_s(R9Ino4{17U7+rd9tc)ofR7P+ z3{L8C7imJZ2G)$a%z7O#E(SH@B*_wPor&StVKyZa56&d*9qmP)0j?fghHQANBA%3K>eON+R7V=FHYNBW1N8TDLP5JqhX zl|l3|KZYJp6*;y)P{{$OPw0|p7+G*D0b1hnJwUssX+-RC{AIf4$?Tu5no(M#*^k+{ z&&WO|4pT|{JscRd7^3EbsY5AR8tl=kMc$1XV8d`Q71d>Y9D|$qKPxk5@ z2uf_R+wz^k=0C%P|8(99h38sVQJacdpUb?R>ySbhq0Ql@xykF#B{t#hhwIOOOR z>Tg>MFYdltf3W)U+o8ItP;)}(h*{QfuV{A-mb_x&joCd*eofpE&dLwx%)WEt??YHe zdE1O7YkygpcN-E@AP+EoRgT??W`GL5Uvgp6xaA9P{MZqC6S`{u=KF@O#xwJV{+Sb6 zotZoI-TdRsp45u-5a!LBkIps+~`wg^Z%HDN@ zXWwZM=GA8mWFNTLpWGG8tpC)u(4@h%rs~vz?EGCj=0SsLbvwfK>ctmMXlsl~P~DnX z*!*f+eeZ$3AFd>rOG?{cxzqB|=e~AzTd(M(Bi=JHj9TQ8H;=>%wgv%jA6-XV?5BU)FzBwf}C)D2*dRKVr70;Cma}ZzeZvKZD+T z;KT;gTAYT^UHN`t?iPD_(zP|3lA{jzp{^L|kH`wB*uA-aN4O+oX7A)nOHYGlx{Vxf iyNl-aMl=~QA0(x3F1>O%^$@21E3p?8+jh=hzUn_OQWAmy literal 0 HcmV?d00001 diff --git a/icons/dark/full/16.png b/icons/dark/full/16.png new file mode 100644 index 0000000000000000000000000000000000000000..503ce23d4cb2786ad1bb45121b17bac17b1acddf GIT binary patch literal 2072 zcmb_dZ)_7~9IpR{k}yCaCOYGBBhiIj@Bdxzva*b}+iL76TLatt;NH9UZF{c0JMM04 zH$MR~!Us%7B;mtUNaV{R1|=>g1Tk2}5H%VMEHNPvG@7^s{|j*u-)p;C%$N(YX?u6? zJ@4~-e!t)IzVH5IPuHrIkF5*@0;}TP(O!IA0h(w)Ub8^kL)?8p;@En7n@K3`rO;Ozsd9 zOu~+!tkFI0puX{*ls-PJE0Ap8OtckMOpr$&Ad2~%>8iyrS>{#oy+2HoL>b}@hsh2< zAkm*l5)sQmgcy`4ofSkvR)Va=3yRW8a10xwnGntL6f3C$qjDTk{g61C1Ji16w6huu zKZVJx=h-Sv7Yc=7fe%_vhGrE-p&5?mI0_>ucg*xakuu%p1%@bcb;qzh!!ik<5op$k z7bdaNN(yY=#7ObYkdNAtHqv1=gkz<+|FuBI&~4{**#9%K-0n;DX*RZ@*uIm^L;u{yqf zJRXT89V>0*@C&!MYYP#NMI=^{B#H~NWx0uj8aG`Jm^z9_!z8Xx&@iCN@{reAq)||0 zAQi%nr8HgBsF19HkS23LlC_2TQA;23UEt5JEC^`nnByOLP!f?KgfJ0g5hY84P61y8 z%j&wIF`N!V$^zR~$G~e6{RS+{u3dCO?QHmsplmrAwX=$CILINuaqQvpCBKgiQ zn@R09T-@fd>RReUJF9m&gDCq)1-id3!ldpS0ztAmY%EfbWks&eFJuuWUBV@m=&qIa z3cx`f8C<*N7?Hk{eiw``tsY9UEHELB5;Y)GqKvy4l0ll1d4^>|fCajO&0CRGufAqn zLFJ?cTl4 ze_K0V@I&o@LMASigO49ZzBY)Du3zKPj#TKtu?wf4iFB-)xSHA8_`=a4P&#{_xct&Z z>GGaOulzPUFgqS^NF}!=Cl8Zio6ueN;G_QBfMPVCnvy7xXeUm7^{UTOX3Z?pS09zC%6_bw_m8(VR1!xxR;#8(OMc*@(khi|>sJb$5k=EU}i=1ZwR?A<>cISkLNeR12xsRzbylv>_TuYs*sPdA;q z@$&T7eGi{I{`^q*;PjE~&nKN-e-3{8@%AfBR22_)-h1DNli~S&8$aUK_p?*Ch9BAW p<+^DiUMx-DJihMxW3fv&SC9M@d1vOwsY(Crj>meUZ*3Xc{Wm*FtL*>) literal 0 HcmV?d00001 diff --git a/icons/dark/full/32.png b/icons/dark/full/32.png new file mode 100644 index 0000000000000000000000000000000000000000..c3a7560bb7140c9ee6af7abb389e0ea2495b4c46 GIT binary patch literal 2099 zcmb_dU2NM_6n3|^TRS?SW$HFSSS}hXtK;k6#AfMV(yl>G+qDtxU=qEtuM^Y6Hn!WO z6@{&6NboQa(!|dL0|ApLuovKENUT65Di8x{JRlHagJ~eGXfREKmuXz5X~WI*6a7f32^^cXw*)B7W4^J$qb&*f{TB6^C|g zyqzGbKQ|I1-blPxQLStMYE}{j@>v_B31Vkk-iGQJ^2j7g8D^L||KV|pG_)`^EXG0H zj-a&BGv%P6slJ3dHKxiM)z(Vx%q!SH7I~1&XEUa&a)BHlu$&ab%CgJ=j^Q{OBWQQh^kAMg-KJ#=QRJ$QVS9#UlDO2ZH5g1KcoUsQ%g8|+{qN2Ybt{>D2q(b#aOn4wbPboxoPVf zrc0l%a)47CkC%L`$R(RCxp2L%2^>Z-AuFQY#H5XwLF8KFj*7Y_FwG`E8e54t2zr*2 zu&m5-p$3*IlaYvD7@6EYY?zvrbDPW7peXcEnBo8jXu#2&oM1&o5EWL~0eA&~C1~8z z41Ka3iVF-9xW*XGgR7ueH5&Bbe}Xkt(Jdznam+>*rVwMBDT*v*Qi)g@%fXH@JHC8A z7KscvmTqM52X}B+CmHLCNUSVLG#6kCbmMU)X1X3URTPVcDV(2xVQ2~qSxM4m5yuH6 z8uEff%K}pApulrM1e1`3$>sG?OC9%B;ICh52+dNljeqFryc`0epwp_R1!gQb(&4hTe#gK)2{YwZeO4N_D9IZB^N5xuL8K)pXmnCn0UZ)pQ4l4L56Y6S z{DPR29>c|Do-Fp#5PGyY${1upKMGX+z6evQF9@Vj#c5-Oe5}fIaeXe0u+i(NWXZd0 z>0S;xs3V1Qw;CZb*W&NOiR-i1q+n10p(HIPVUQMsf=q{kP^W`DU_l7iQkAiImuQu< zF9}yrIB8k9H^{zdUQI(Yh45C(P&XdW>eP9ic*+~`e~pLnH`yhrG5=O!;ak~;jLTV= z!n?dbEFCZSrF1|c6Q|0-$4|q;!KVnK;^tViBQbK|w->&s{RG?=?SFqm*E#i<&X2EL zX>L4L|He0ecK=N69*c{k7WHepakBI5nTh9bdGmv9N4D<%fu6f*WbK2ezFT{Fn5Y5o zj`ut}_0Z|c$n3tF=PK^&c=ev<>HgR1FZ5)8tUFbiVV|t-tun!-Pw&{g=FW;2o4^{U zaqiF~Eu(win*Sq^-nMtk`j=~lt4w=APp*6Cv3tp54;-Iu-;?cq=G?%B&|KqURqLj2 zM`zxfZ@K$$=i&WFrcX>0CoaA6czSX1`;;(v^49jQujcL|mG+sJ^x;_b(fZNBbWSDC z9GLk1;R~C#Y`?!D)PVNY?dMO=wtwCG*XE0rm)D)2h}5-!&)y#T@@$+OYI{QYi0EBN UfYzU0@Ai-NSXW>4Xy@q6-%bsq`~Uy| literal 0 HcmV?d00001 diff --git a/icons/dark/full/48.png b/icons/dark/full/48.png new file mode 100644 index 0000000000000000000000000000000000000000..312be4e70492ec5b6a57944c850b3cfff4f1d3f9 GIT binary patch literal 2231 zcmb_e4Qvxt9KUri*b+X1n?x7oIOTJ@-uJb4QlYei6=|7U<3YIr4r zlzgd%o2;hbY*E&dPD#-sz?n(v5RD*Hre<_WZUz<_0Wme@!7hJt5JOePgEewNGN}7N zT&-PffQH4Pu)Mfg78Gpiqv({32n{5GC83#QB4vsh50CUO}QkKc^9Tt(+b1LCFG`PGu);Fq8^x9iy?!WR!H+9I~rZ|89=f$ zBdlqOfkM>{P)2<|yD$Peu~AJaTH2gcFbDW03wSV^q)D8laassdoXBz_#a5AwNRs`~ zpr)wNwn8W@Fd2q5hG>$%0SZ;4NS5@UU_}Xei?bXn;}PIy@Mx5jqr4L3Bq=}NugNX83hep)3qsLkXyYGxJniOPfa7qN#K<`B zVk5ZVl3aL{hg1}W=Ew*;z-Er2!Zj%+3a#3#6ljqb6nHZL7kHM#d5Klg*R$4NEHwJTeCqg7{#ov@#Z_i%gT`rb%M{q6zv(C9#0e8EkDDGlNigZhq zBnwcy{j>_%=Y`9PbY8f3$v$UZj!UT+fLkqr-F-ZFrq0{MQ@9ZS*LVnflkJxp@oyDo z#|k!NSk7!0+~w_N{&;~O`2z~1V5$sw{PZp;u0fEZH37dj9B==*<9O(EvizlkA1{&} zYjpKo@rqynS};fpvZuHCYxj3NcEJ6%>KKR1SIe(=txb%(FmK6oyT58`KHBm4MaLg+ z9GF(RA2H9)^y1BDORtqZpnUl0_;tk_-y5Ai$#gsBDdS)E&U)n7-jBAdye}*su3UJ$ z@5nW)WpD%P(khuF6+5~wzFD!MxUn0lI5Dkc-L4CpKd_L~9pCkwGAshtkzq!Zg_ti3#H-%4-r(&n*2@!9i(YR9xYdX|?nzwA-| z96Gx_cH%eWn>pR+sKC*_Eq#+;U%!3Y(_M~j`-Zm9UGn7E=RhFKT*1MaZas2Q^*~B@WzIm&v9*&%v7@DxLyCf6;dV8qT$LtVd zV-FiUgYOL6=}3v{!q#Ia&sFNHULA3M%#1VXUU%R85nIoX-g9VycWDK?%>HW;s0sPI IrZ0TqZw~?J-v9sr literal 0 HcmV?d00001 diff --git a/icons/light/empty/128.png b/icons/light/empty/128.png new file mode 100644 index 0000000000000000000000000000000000000000..d51f9d4ff64cc6120931b90d93b1c1d440add2cf GIT binary patch literal 2583 zcmb_e4Qvx-7{1Oi7!ksph%zSUff+ci_tW1y+QDcGE1}yMHH?3*cek~y?RCA|`ooWN zF%X=AXh7y53t0>y14odM3Gi(*zW06J z=Y8Mj`>w0=bEgd%JaRAuK|`!L<^pi9kgq{W;I}P{ISOvczMMHC1PwhTUyAjaL(?EA z>4?i-C>7df(5&E5GMwPxl|hdWSVNFuQqae+CA7&z#0dqp~EL?XB}7|YWb0!K`w5+jl=2ZRf4 z`LIdw^RPy#MOi|vfpwIU(5loFH324ZLXY8kj8LJ3mR935Ny4!Y0;2i3BD%mlH5Lmz z84;%>`DhFa1Om!{N-6k@F@mBf3@0&?M1ch=hP)CJM7`peUIa5QvVNCOatU5oMr0g9 znPfx&(`X7FUmVse#>xZ=h6NcPMksMPrHCQN#_fD%es?4|$6~yj_wZgx1hz!n*5?!? zL39d_fsQXf5&)FeW{bz@my5>}4ApKg4_K=Uq3V2Z{^Rv9A9MBviXXB$y zex8v8zg-aAy^YH6r3{-)a$_iX+-#SZ69VG+K0dsek$59Q;v|mZBuY|tLPM*;m&(Ld zG>%72Z35>i3iUMw4aV(+npWX7u6x83sD@)C=3k9DmM#+f9tPy>@-W3b=JOUKaJ-VV zNpK5(5E!si^_{nxO!6wH9S49Jt|X2T7<170)oe{$_zKlT{%5M>hl~umIyBJ=Q^x zIHe|0y~E)^buyZRBPmp`V^un}mg2PzO)pxW-v#z0#X2b??reS%7&(M6$13NU^?yBO5&X@rP9j=#v1Kbbwt@oEjp@u*tM=};W> z5Y>YQqdEs(q~_HGtJ45AL}~TMUZbK3yjQr-$UX+oIvH;<4~|+4dG>ssPM!bEr{9hE zzvhFVmIlCFfHgf6Q&+aBC> ztv%cOP5$$iFEiS9*?-=b=Im*ykrdYw>ZQ45aPW;J#~gA+&x|2sr~1%8J5Sy@+T2;W zV_r|{WGn%n23;Q1I!aMJ1`-n&d*AOiow{(}Jj3%r^Yrkq;e@KOS;@cLoO5bN!=e?Z zXTBD8FIl1ZG%4=XG;nR_l5gt_tMlmcd1EY!dmnb&I$ms;`}*>;DF+FfK(+3rAdWl50ED7 zox1sn!t{Hl@oBA9AJ5)7OW*Z^;a1J<^H)QaZfI>~sjYlt`T}OkdClazORM*E8x&QO z0sl2J=AI5Ee9(}+@TwuZ3_6y2Y2Arb`@mL1cJ3dB?3*JiLY13tgc4qQJC=6E`6E}7 z>jR3E%gJA?KancQmfNM;%@d)^$^KJaiR~p|5caeyHop=pQp3^_!tAYmhs=| zN<97C;#xRkQ$}@jQf%-l^sby;yi$?!M(F*g$q@sFwYOy~FB%fId_Q!}Z>9}dy9e*D zgT50-@7;Cx9Md=sYOcM1sd3rHUi|h$$cYOJ4ligVQ`Xg%teP80@A;vr{@(nFU+v8d zq<(%wyq2HYG-$%4vqN{E8xU=J0}V1io<(W%qH?qPDq=4>vrIBa!nbQ@KJ{IOgdB($y;Zv=s->{&ypTXrb&-;1gMKbsC!?ORyVqrAB2Sn9>Sp7Vj` l>L0h?MWN#l)fw$>%O_ilUalkdUzh*7SuMHdhAE3H{{nIFc&GpX literal 0 HcmV?d00001 diff --git a/icons/light/empty/16.png b/icons/light/empty/16.png new file mode 100644 index 0000000000000000000000000000000000000000..855dcc33e2a27924495077db806814a346bff19a GIT binary patch literal 2088 zcmb_dZEO@p7(PPN&>}=7T7qJiMGdB%+wbk}!U64FX^(iNEteEyB+SjuUf163EW6v@ zwLcV*f|8J60~jJdh-hdGnvzr_7Nsa);zy$Kk3Wb;jX*R(2){5IoV{Mpq6G=@a{D#& z%=13)JI~C#+}Y8#pms@ZBobMWY)^F4=e^-IubSTLuib$3QRB8h1PKVLA@hbPGUXpjqj{!fbSKu8W6`e| z+ZzO~!EuE`AzF~4#LIGmuIn5xa-s+*0{DYY0E@u!mrpY!u#Y_34Q%2tAtTI?{vgIu zrBf;7-3qPam&-&8#ucH<2~j>wsRT4p1?TpAxl(WwaX5$b*a>`!6)IS_mjuM`CAXli zbl((!mNu2D#F$k}K3@sp2dx7%jdDR|Mf>SN7jxa%C;cA6tpil%@-Q3MhnXFCtGm~)*h%Ty|9#7T~LG%!^s&1_G` z>TazyW3irWNTa%bX5gnR4B<%6x0c^>HdFGC0a3UvVk`;`flapDY|m1UJBnN$U+Be@^foS;itZCD zC_oQ4XKC&3#E9Ij^!sq&_Uctj#)5_+(2#_HV964Il8AtXRRwB-rD!^>|CFrR)GIPI z#I$kmQhk{o^+G3$=~m0Jcc0Ilx%1!o%(@W&*L=8elbx~}_fHp=`etm%bUI5-be9ib zE5{4{s2ot(p{4TZ@$>VJLnk7UIaSF-b6VT;<~JX%pWD26_=oI)v+MRIy63&Veeb#Y zWBKuS$F5YLe2gp`eY-VU2VO~69Xm1{AHUjFb^gc2ua0hDlE-&*jSoI*J5FZN(M9d+ zE}^$tq4ee>Co-yfJW zeEG`AzWaAwXI{b`8<#FSUHjhHw$u02JwN*G#|Pj4=;)z0egS`UZOANsRq;pqXvIi#6%m~gdi#*CP>6+BtaseB4T_bJfe4Yx9egG65?bY zckcb}Io~8_Z8CaR1s#!@G%w=qZ#;|qkbG8clp@%17$}l6ug%1x9xS>UeEff^{`>;Wg8cdh{nreOw}o{O+d32XORp5^vg z*D+lhzQzGct)i5C%*!Q{DYwv zX@)*j4n+l~6AUkNw9IhVK#^)R)l>fytN~fKoQ#TMHZp1oQnr~Q@KPq_sFk)HqK*)-`pn~w+{Fns>d=>cf3kyQC0J8B9y<|8UW;iB90$SimP2@!~ z%+LZUh3F8_HIbu5cFx+Pj)B&snl88Mv(k{oP!hQn1fG<1z>yN$pDw;C=g^H6aub;3=>R@%Vx`jJ)OuZsu)d_h2sD0Un3fnvp15sxgjb}(&VgN}4R82`!brSL+RSmNu7l!;? z^z*S7I9VuZ{1(|4lLPuxGX>FBOA)so&&{c`K(subc^BgU8V}`fvIVJ8|5jmstZYL@ z<;-`XUEXh&ju-S(I-sD5QstoI=b2;2XECf|bv)LX=zjM6OS6HkboJs=8@Tkq{mWV|zkBuTz?tckvhwZWyCz3!emT@t_x}FcGi^20 z*z}H}vBuUfW{w^{*OCrgs2N>uw;UaxY5uu?*Wzz~k3II~WbKxBCUP|ub;{Yj-%Yjg zyQ^3A2s^hm)F^LMt#mdoc<86scAp*j^wNDzr<_Zb^}8yrOjdPoOitCO zR`+b|o!WPazp|qHm4;8Ik2LLs^?Sy@`K<1~Wlsec+_rzT_js@V`oitA?+w0rS~@z> z@WJKnM<$+2H8$(YK^WfAv*O~&rgh(Mo_zeopVdo`t;{{ye`@4>xbp6gYZEhH9X{9j n(c&Lpm^eFf=<1b|7gv4$!kL%rg?YXvh-rZ=6 z#(+Wy35Y{L1%|-JNK^zDiK#&NGTSo65Izzym_UdGOn^la5+tJUbzL1gkPw?*@4feZ zp5OC(p6B&X$!5Jb$ zx);RNz)}M&SXvj6mNrSejLmuuotY6JKoVFYnn@;7rjYSqd0YXG?P&r-^Cni42dlLM zqK%a@A*P3 z_~gOjmZb{>kxr)_X~v-$F@oZGo*-$0rg3P2o7t2lX7H3bZ2-XsOvzAnOVv`SjVMO7 zX3K*?ru``-^&)J_ER+crjL3*OK{-e}rM#gm747t9Basg-O9V)OBuH5%w55u+dR((K zGp^kSy10B#09e{ks2F2NF3DsuglYMgz%&X48PeK}WOYDh;=<;nC?0YD(79X4N1c;1ez2!Dx~uagxSqK0-MK7Jm6^k`YL< z-!!Djs*)XS3L8vDC{|!dfgAt9JDEiom5pwENB`Z!co7FdRL zIb~77fs2%Jz_3wV1RRfx6mavj$jXe18}RpOQnRfB+rNK9$eIK({-!6nNf*UHfhruQ z;4H^VxLb}=xSOGQ7w@Ls4Cxv`n`fwSPl}1bs5UDZBDxe-b}9^XxPC*;7$Qb^#~ANuGvH;8_KaQoI}IXcxzG zZWrt+6mLJRq1ZbaD2M^!J|g=9yc8ExF#wNR0(-_XL`{_J))ZYSFyy8%~s4M;P*} zZ9U(YogdzP#$_$rzvaTj%nOHpytwDFgMrT5y^AkRGAqs6*2#y5KYnx785!BuS8*<| ze0*PL*BW}t@^#snExBdk?Z@|axz`bkTFNIc`z-qwa=meryK~>6^T$>qp1!~#>({m$ zYv-R1jxVd8zhz%}v~)vk)6?T_?YwQB8d2GCy2^jV5_Xk+RJVIV$?BZd`vm!6U2fRr zQ&kN$QLJ_Dh(*xk;B>x4z4P1NDVJ}Q-aXo4Op2dyoZS5Kc4xR|)92@|t$nHInJ;H7 zJUeZxv%O|<=dA?No#sz|%1%FavAlEF>Q(E{vSVMZ=$^3u&g&JM4^W-5v$gK0EOdp? zztl)VD_in$pu=X^?Z0`oebkEKZ?4H%zwgOSZQHdV^uv1c>*^i(!M^rAJ0VEl#uYi& yr7?ZqTwmPV^T)`y=kA`k=I6VybzO;9E{tz$lN-BgR%YzK7D0cV?~B>5z4I4qH2F^e literal 0 HcmV?d00001 diff --git a/icons/light/full/128.png b/icons/light/full/128.png new file mode 100644 index 0000000000000000000000000000000000000000..5a16320bd37101d02e77796ba89eb6a234411248 GIT binary patch literal 2497 zcmb_eYi!e26m|=1q0o*AX}kooT&jSI<45cyHcd-OS{gy1D?xM{FUNKg(uj!EI4?J6at;JRx$X*A6?irp_oyt;b`^7%!DF;i@umhrd1s9~V|!uV z6bQ|em&0aGkbR;#7FK{Y1QnIU6ppVEb=W5cq=*9N~-9G3-sV;Do=xQSllKuQgV zaJ8orcFL*<(`GBm6BG^G7&BqDPz*B*CUL@!;dYF$poEpBaF!(Dbk;WSTq_nM=fSq4PXSrFc?l^B#8nGRI88ZTnvq9`6&dKsPU?#=#m_P4Mff- z*Xj-gFinIIR?@H$Etw{eFf7I?7-7bZkm7~{pSDwK)ll5Iz++-a42uz61GYrkRtd_w ztOey~K&PjlasX26@uYnW%OxC6yU_HqIuJ%OA;Vg0-g-sEszgn$Re7tfz!GFG!}T)FRNh=#4LrmfQTuP00O5o$vWkb ztOCb?on`2_+v%)SWxo^x6I#{0xv;y;X(bq|6(!9?oUX^ix+9v-MR?Keav&f-W=RrQ zk`pPMq=7Qa~+!9v2C_C~y`kwcaK3wT23e^@$B3$UMOKhaQhJ6z*ee zC`k);)MuwGpz-mj9cLJU@LO!WD5TI9sS?Ou? zgxV>Brf4f^u`yOd`EfC^6_N(ZT%X)ai^Vm`UPyxD`e8ZV*cT3jHw0lYNDNEEj?iDQ|SspBM0w{y>QlkSY~?ex_V|s~CbZce!1q-dM~19wKsc z&babBtxfFCiq2WK*QPEyPeRl zBxE1aXh}D3Z~ddzqMoEnCh)DQ+xN`>8C#Z>q$XJ&UJqNqms6olzHFb zAC8QZwW%jM_pW(2^FYDxeJ2{wiOfMNcx2gR?F!#XOf?rPs<0p^wLoKGh!*%;Jj7M#Dn?FgZ`{bC3Yj(Hw)7j4aL)o{B zO0PEeHsnQ)T%87%(OsMO+~@{=u8j?31zw$Fif3)711c$OpR^&W{I>k`pI^<*k6ros zX4j!?rFFs=->-OoMT-OK*l60hKDTXKf_a?&%QoK@Tv*vTt9Aa~W6QOMobFa+MzWuG z>w_CHFk;`Jl0mcd4fp54CXH|m=%E@^#zL&^2a^-ZQFxwkj$yVVzi=EQP@<@v!KUQ8b0#egLh=` Q#-A*A*+SR8xvQG~1{_LDy8r+H literal 0 HcmV?d00001 diff --git a/icons/light/full/16.png b/icons/light/full/16.png new file mode 100644 index 0000000000000000000000000000000000000000..21edf864003cfc2fc0384cb56672c364d29fc3e3 GIT binary patch literal 2069 zcmb_dTWB0r7+y(;wxJ=`ONpsEP6MV*&(3A%vNL27lih8zl8qrIC5@rD?A*@z z&i8-+f4+0h(cz)}+qT}fH4q4Fiw{Ic@Uzvw?r6gI2Upi1er&M^9(MzQmSz9C?X|9! z_CTQNypbIBMiYawX61uWw^S4?=534)1iE{RHq^4nBUF?&Ood!I^D#*nx*0`gg*aVij%g@G^BMyR|aD zSDmQgs$?P(@h3(iIu9DAZWY|!bz@KzdPpHznxz5F0#-^gyv*@3!*$UinWoFogrys) z$$BWBU^zzh zk3@zYD`n(xhdZ*rpNPjI0wW0mV1rCaZXzMaP1l2_hT>6$#PtaphAvAfCWJJ^098|Y zK&u=CVGgQ*QF#<*#gxwTLUnx9(#Cxk_~Xk9Lbo)`@sB)R;1S1#br9AW1Vn+;0Q5yL zjHYoa&1!mBsTs^C=O2>?Xq~m`G0ZHI^AV5wBYD%NAG=}GRfene0;5)x$ zCV9Yc@ib3X*3tp=Y~?Ly5GDV}Q1jP?LTbJtkWN;bjdkj=smPV_g$%-^8@Qw#-L+C) z0XnEJjcd0VBT_fh@4|_V)$4*Na&%Y)yb49Yi<|_)B1{1>L^E_4GEkGSdCRiu)z^&6 z$*fQ{?k%dX&}$iJrV-w1De~6y*_=B!$ftfG{;&B^{w78WIUavCcMl0 zueIX^f7A{rWa3ge`1tt}e0C8ZUDx8#zGQgj}c3C+c`Thc<0*J^Pe}iJk+~$m2W;3`r+)EQ*X@8y?=i5$$ zvzNxc8+(3NH@s_dI)3!Y>&s8v`{D9EU(GXzJ5J2>{Bh#QPfvUH&Zb`)wU7uIbh1@+y72zpZ1- ju~B}lvu*K%%Z0xhj?F3ypHA}&{=prO4MpGWAA8|%s{f+P literal 0 HcmV?d00001 diff --git a/icons/light/full/32.png b/icons/light/full/32.png new file mode 100644 index 0000000000000000000000000000000000000000..0fc8ce9c885b3527dae1e80e6b0effa42e194220 GIT binary patch literal 2090 zcmb_dYiJx*6y8LVCXvQO+hPrb$yA7v%+7meXUI0DyGgU8n_beyCdGnxXYTG!vpX}+ zOtQP7KiU|@{Ib3XR4w@-QeQ#*p_PCMQbQ4}idb622eepxv=wQwMI_$Yms?3=C@woQ zckZ0~o$s9UoqK1a!@D;(J<#Owcs7RygCppPxmQCyy4zDz*U+QU92~Pfp5{~TRr69; zbDPIg|EU%mbwnUb37(WURq!|N$SQJiuRF|kEB_G7G#c+83rr;aOBNW6Y@xKpyUg^ z`SFzFm@-LbvsrJJ^%_=^q$NorDTZVi0$C7tUUxu_(Cr;%gdnsPOEVqK&@mSg#El8Z zk0YkV5He;3R<}!OLJ1>tz$9re<%U!+RF#UIIbo#>&Q*nkX_$e!V@ zD`pt!a-pJS%2*)a7DmDz+NbHNk+mPLS_6Z?fqtB!7>b}6f{|i0FLS(1b6pfGQ&iD3 zY^YiyUu}vCOvO-*X;G%=TTGE^RN#RBG*%TkVOSY}V%9Ps2}x5=;#ehR|D{n<>*Yr*3$9sqZ};%S{faO8YTzUJ+} z7A`doZ@+T%;M}rr{{Akef8o!L=o=r}^L1zHJAXSdw=LTC;6{< zVv%z_EnnaF$?_w_LjATIpRd%NTU4!kgYTcY{NAzXH?7#vl_N`sFV;3)6uxTEPR`XnI?xm9_#t)b%c0-5 zwo@I?{5t#5;ipd@e-~nJc0ShdddduS6JPs+!zO&Rwz N5A_cR7j`{9{WmSCsbByA literal 0 HcmV?d00001 diff --git a/icons/light/full/48.png b/icons/light/full/48.png new file mode 100644 index 0000000000000000000000000000000000000000..74635f698a83a28035a99b6731b6680340a4b1e7 GIT binary patch literal 2222 zcmb_e4Qvx-7;ZQ0V38qJSRx>oLn3Tk@2B_EJ6ASnOIx&Mj>e4$vg`e{$J)DkcVitt zX49xFF$xF)h8Pkj5Oos~FhZhEMlupnBmOKdK}8{AfW7aX&0eT7P$?y)CDk+l7B65kNzK%Z zq;?bP!sF`#fYL@Hg%~%~l1>*w7-nE4NF!g68={R^YequrBtvV~1u3u+$edwili_^2 z#G9HP)3nrZqiTmGLq4C?7#5mUuc)HdV$2>fNAmNg$(*G*OXTM?yh^u^8wv&RmBBmJxZA9~~(QoUG|-9%QSe`GkaK)C3F_YRLJtl%|7_ zK$m;uc-ZHw)iqg3fd@uia6S|c_-LG^X@qd$IiZmV7gi0ER|P5T_rjnuE=3VJ4;7a& zGA=n+X~c)ni~nyvm@^M{s#s0o1MUwJg)p&5yy5QcXP z2+fdjgk^XJk!c`B6bTB8lf!I_bOo$NJ~finQY8XLniavuo1kpSxB5_&35D$q{ zBt;W$hNUgf=WN7<6azH4HNT1$OHbslQVNuF4#x}DitxgMWd%uu^TWyw>Tyev^YdGh z5+EJLA4Aa%O*UJ2U7D8wwYwDyqBqlT@GD1GFVYM{VxBlc#X;36hGY>B!^;Tc#&FET z%jvPopk8uQwL<{%baiag=a6m*}30$^6bZl_ZRQ#X{wW* zhuhx2A8l+aZydKK*fX=F;=6H|&QB9<>B!zObJwD3clo;h$=fpwrVjXp4SzT@;) zzdIVJ>4bOrvXf%}@xf>B+;_){omGjzmJcUmHSOejyL|le&e_v!tK}E2P}PT)ZY^%= zV*Y%3^O@k_l*+$D4{T|(|KgZav1!WG-c!y!69S-*YBGo=H4q21nnYrgJ}TwD<^FFDn9qO7v!%2+W} z-M6*<+nIyG#=-CL3d9ZACLC}5^6VE> z@%D!%>lO8beaG(VbiEr|{Kog2x{oq`|B(qlOqZ{|6BIX=U$QTHY}tJmCTaE7KZhGD~_|!iPGw6u` literal 0 HcmV?d00001 diff --git a/images/edge_icon.png b/images/edge_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..cda0f0dd0f47fe313a7e0d3f62ee008b54d2e9e2 GIT binary patch literal 2776 zcmbVO3se(V8V(|eP!&Xr3Ts2~QH#msF?q~DL`-;X4MxFY)q_lCCM4!DAsI{nDJ>$3 zD~k)bRx9{`Q$&t%R1g#es})};Dn81Jpol19MW_}*(Vg&G-DA6+opWa9&b{CL{_lU> z|4f=ZG-#aTG)EeZHZCMsx`cX9vfd8%)H6NpFXO1!SVQpFCK}Dj)q2~|cI=!&quKST z!mj5wXo5-?E?$fpY-7DvDXA!sh0%jSpxwg}+xm>dBNvSBWlK6EiCYeq~7FOdcg z*`mJ03>8TlU;r?i%`7vIMHr(24g^5}n+tHcObWp?#py}J!ql6*h8d)|2{oz>q?*vv zt&E6*h$Y1gO6i~rI>QL9-ZT^@Dqw&GF#sGE+v?H)5JN|BhFGI^z&M5ixE9ypdeTH; zIU`tuiXaJ-iueQSk>&RcP@$E{Mr?dgi%vIU!bAqFq1+e>$OqA;@HhhwEWu4gtP#Zn z)=)CNtlk)4i4jLg!Wd2v+TldWhb7Y`5^G{0`sWd9Jw}*KbKcp5OA!(mGq`Lno5|)e z*_?2W2nHdT2YIu3Fq=IHl@XX)8TTP5pUScDJt$Q*7(ycd6O5s-k}&EJ%4f9>iN*ng zKAJ%vi6kr`w1kl|OsV6&J0BvE$c=m;f+8lOpw5qw$5rA=kdG=L#9H|S#RLbdO;noWhR#wL9y2u3s_6su z10$&QT!3a3c_q)G;@n+PRoMvSsk=;7oh2G`#N_(g&9>vb@&eg{ zv~{eN?3%5kUDIcG>G0!m*)9F?ucIo{>ix_7UG^O4 zy%$he?A)E>O!I8&B7!{N`@LDC6K5RxA$X5y>fufB*6Zh;UFCL*lSQ7QX&$=p@;i*f z)pZlx>hL+KF>yuGJ5@KIrUYF$lYIZ)_#0OzmG8JRev&Zu^FH0b8=w=?h~_(iG?QfnT=gwjUyU)Tb2wxeHxF zHe%Tevp3rn+;&eo@@#EVc4&Y4+vBBGrCrxWa=7UtdM9 zQ$d=Oee9_dHFpf=Mt^C0>BXS?FE7;Gy0vQUwzi+DzkCxs6NIo{R$} zi>qH36!@}EgylRsXt*`U@v+SKqT<2nUDu(-w@hCY#;o3}d!7&F)5Us_~? zm*v+0(y%&HH@~dvr*7K_)h9c_Iiuqh@rCqxMi&}W# zg_2En4#@@5b5l3jKXrCWXcD|KXMFSg4AS-NaFRG7J^}Yv_Oxz^@R)h@_|e3&o|`WZ z-fkz|oTn#-<>&O|?*^vtzVlRSy_=F(*1x&++1O%B<%U+rMrWS$ zI_*ZEioAIRa}%n6=(uJpatQBy)q#y|KKgq_MdaRw*-s-25_{`{D>KSJJvlLxcQ-0E zYGZUhC%*gc`Y}Mmqr9lya+;kbrM3CDe7Ef$Cvx;vISmC*&-m`yAbI}Mp-`z>%9!$Z z-LiiY)9z(1Po2hoLuegsCkOYHy4SIDBNwjosnQm$yP-(9Pl~2{eKkS+r~}TOw`l2` i<+fAZ9C{_SNj8p9+-!TF&h6HJ&yavnY4L)nn^;z`39!Y-_3lbf+Pm}au!SfN zGMq+<+jLvlMA^g4M6)>^L&V@5PNy+5nNCy?1`M-A6P%C5EkgEPDUB}f<>kKnUcc}6 ze|-P{|2BII3zDX#PBWQINp6>;81%_Tn=%P}8#d2N0^L-_Ri>FtGfo(7!aLbB=9o-R z&J}&7dZ}kA!^vSY%gcVj91SY~Z8GI8iYhEuA?T1_C>JFgJluW^hD6>5m*jddk75^s zqN`dJmQ@$}xatay=HW#zL3vRI5QGJtg`(k*q%lz&9OGrc*jPqkCp#8o=TStP+%USqsX4 zL!H=uNC0rH$CHrpNL|9=ga}P{t_5bq9r8%D=BrW!v{=yON|h6wYk`{ShBXRfR|Qs= zRi7+}#xKe{t}DWd~wCh0Ua%*#5`-FAh7Oit<_wJp-SX<6~muY`*F!hMI zv$c%fuHN{5!A9rB4{q-2{oPkmapta*=xG{y_nZBH5UPH#_w{)@Ufs}uj1KQP`^G8D z)>UoZw43QeYqqJL`PoFCF(LrXC0m4O1y;8>HsjZ_S=slXdU6)IAQcF*5wKoFmMy5Fg0LekOd7oW84A+VGzNHki{qxBPxpo0vZ^|kBuLq@4BuI1SI@n)9c;6 z_j#Z1=lgx1_g>eP%qvPuot&!CXwn?T_ELDCs9q__@V9kcW*WSW2^24qHJbE8>XooL zFa0TvCi!c@Rj!mf=Q5n+*Rs6i2HLPc0MQ!Fj9K9T%hdn{af50>w4nWadr(B+E$Bjn zlW+!Xz$+9-f}kui&&5S*I5UsVnu*K^GmyX!6c!2leWJ{SEohXNfzN6)jv`TrQe#1_ zYCxpiS%TQ4AV3USBgT<>145g%q*13go2MfbL7H&Fgp)dqG%|XEp(rHwL1DBY?_o;q zvtzN~n+5eMN`S%fy1F`TolYwSt8vn7Hsb_^Qxpafm|QO^Y#0;eslyC*Aag+>pa_zP zsEn*z3Mm#8DjiC}ABfY6a;!|SV0f4f;G~vNQ;Gt4E{+R?g1%^Qp2L9;_<^X%5KG3f z0k5P;vR8Tlb-eqo0I;-9XFSGzwfOz<5VBHO3)6@d+{}aq}j7JLkS(vlnXR84o5UWunUP;C# z`J^BW4AtpIwmWRLlAz=fe6T|n6>^Z1aNxT$8MCB&({5hm1P2nWW4H0`utHI*cOp zI?UwJ=`aKBp=sV@G`R_*>inpgm|{VO(_9~0OJ(5Y*pp8{qW)o6PF)uklv51>cr?~5 z+@~Io6gf7&&I=&vLtHWxU6wpb9UBDJYFN8RF(UpT{W4qoaP@?dqup+r!hnI|F&gOg zn48dhFcQ!vH>Wp~tdSnh{vP%JHtu7pj}?dWvSKxWTP==0em;-p&LN@yZ$7xX$qrc! zzt@G)z7ZQToX%(y+~w8B`0)Z?;s+EEVX1=f_&L{C-mK9i{Oqt>U8dG|Hy?d|^9vIX zuXt&@Ic3TZN#xw^)^XPN$65ExX_B8Puo4Y}Pa4Neo|uw)C!uLVM}9+}e%gBPru8cd zMzv-y>&tXyA77e&kqI+dtv?2;KItB)JhiK*@%p}3v#AA1Er}QM=|J!8Ntdz)Q;sDx ztbI18quRdKzvSEUH9cES>~PQDYRVP9y3;*v`Qe|Mw-;T{*f4(CZ?9CIPIL5AnV+{` z{eJm|n)cFz?C40#$(9PL$@zL{@>?zaqYl3LjAz@nddHcTa?^8;onJjmU*x z7dCF}az_%q3SQ%Z^#C-q)gVXL3r{bzrEMu|52S`z+Y<(9=6w}0=xF=mM-xy^NYowH~{ z#m26NW1DuJ4wZ!la?ZODamzVMq{ZH51G9j-NMxn$%;?>gM7Pj6`;MgSf1|5o*1%w4 z^Nu6dtDmMX-`_d=^3k)RBjWw5{-d^AGY7T~R*W{DZQpe0%kOR$+~`@!R3&b%7 literal 0 HcmV?d00001 diff --git a/images/tab_thumbnail.png b/images/tab_thumbnail.png new file mode 100644 index 0000000000000000000000000000000000000000..ed1a455ae533fb87be129c55e6172a3b4448e458 GIT binary patch literal 1999 zcmc&#O^6#+9G_aMbz$j6FP@&W7mL36%uMoz#$`8&-9Tr%-3@d-D89V+l1w)clT6|w-6aRbJm%}Y-~0W4 z|Bv_2OKYnq=jR@nlO$=rzEWKm&kx1*+R?kj{ha&rDe<^BTzNc}BxNDH4yErd_9W@Z zZ(d_F*>q1ig!>AnyvdZ*4+UD1PAsM&CR;24P1g2;vV7~}Wf^$1ET6Sp%?&H8v5nyO~N!3cKZbIF53YudWApgn2T0~pUdiAl~miQ{mog@hzRqglt zO5ap?)K+zbkg6G~VL*X^@gPWW3WIoI!cb)~iM%lJcmOg++~nIySr$siF8JY;Hi+{u ziGZmo4pm*zGM6Sm*F6~O`%`qB)Ox~7uJ?|_abplNb)Ch0J0h&sV?nYoF-FOBZ@3+G zN1jrmvM%!lEEdA_sj0BT6CQW?K7LG>r{084C1NUaQzTvTbN6dRF;Dh7h>o#Ujmv{48y-r}MY22Sx?zV3M7SvP`mq zU{ubhy*q??HiyQv{SFhP2UN)z7V}op#}QjT1pOFB4c zGtp{QIrB%&n$kEm>OZqKTHDjWCUDUev)5@m79Z1w&H_OliFQ4F=k^szI`mAvy3|O| z|8(Q6`7gBlYG>ZRy1e`R(PKA{%&DEm>+gMqzWm{Z4^BV#<0tpLtY1n07)r<9zI*=> zJ^AU*g<$vdYu}xJ^VQ(+ng4m9Uw1F>ezx(^e09(G=F+oIY~8qY^CJ5G+uyJEUb+3o p@Z;+~IQK7)KX)EHH~@pgzkGfFgFf>F(K? zUE)O)6cjv&CtnCE9@JYdB7%Yh#dr}sNlqGYiK0>T5FdZf%QfyUOHiDmUsYdy|Mx$t zYMx$NJU%r!Jt+vnRBfTU49|Drdj6K1;C{yc?gTt;O%@)_1feujTnBou&#nu?!B4{a zO1|Qs@Cc7enDPcI^`ZpOf^cNEmteBSahT>_OIQ&UqEv13CTs=0l1z%;UmFI~k%iV6b z)YVHoZOW?ay0W6lnuY*@vW+;$Jrrj%BZex=NE#-2$YZf!#0}ob%MvIZxDX{{+Bh4A z2?8efa3ZTErEqBk^!>e|Q8Y$p`TROq8S34UIIC|YOkQRg@1%syud_Ix85yHwJU8j2 z?Y^g!$gIsGfMp;|9h*v8Jm*=9@8ZXJc9mgAVPTD2^Js8SeG&$M-F8i9>0({3Q$Fbw2s4Gj?+Gb_NZ$+V!a3+7ij z=@bzx<_{{DasnLVAbA0COp_=EvW-APu5FmeaWn@3EjAoiWeyp532YCiAuJx;-p*R6 zqQJ;p&2()7vu({q%rq#%rmi8Xy0DsblTwFCA|+nH(+ESUgb{8sIfbS|3~w+S zJNqLSo9v*}&unX#zur2%_03(EuDmZ_dgXj}?ei}_ peJP%J(-bf?bl8Gs9iFP@%y;j>p?J68OIsLd}{-#NPa_@4%`uKoZ3 literal 0 HcmV?d00001 diff --git a/js/aside-script.js b/js/aside-script.js new file mode 100644 index 0000000..2c02062 --- /dev/null +++ b/js/aside-script.js @@ -0,0 +1,40 @@ +chrome.runtime.onMessage.addListener(function(sender, request, sendResponse) +{ + var pane = document.querySelector("#aside-pane"); + if (pane.style.transform == "translateX(110%)") + { + pane.style.transform = "translateX(0%)"; + } + else + { + pane.style.transform = "translateX(110%)"; + } + + UpdateTheme(); + + sendResponse(); +}); + +var xhr = new XMLHttpRequest(); +xhr.open('GET', chrome.extension.getURL("collections.html"), true); +xhr.onreadystatechange = function () +{ + if (this.status !== 200 || document.querySelector("#aside-pane") != null) + return; + + document.body.innerHTML += this.responseText.split("%EXTENSION_PATH%").join(chrome.extension.getURL("")); +}; +xhr.send(); + +function UpdateTheme() +{ + var css = document.querySelector("#aside-pane #darkCSS") + if (window.matchMedia("(prefers-color-scheme: dark)").matches) + { + css.removeAttribute("disabled"); + } + else + { + css.setAttribute("disabled", true); + } +} \ No newline at end of file diff --git a/js/background.js b/js/background.js new file mode 100644 index 0000000..bc22dac --- /dev/null +++ b/js/background.js @@ -0,0 +1,50 @@ +function UpdateTheme() +{ + if (window.matchMedia("(prefers-color-scheme: dark)").matches) + { + chrome.browserAction.setIcon( + { + path: + { + "128": "icons/dark/empty/128.png", + "48": "icons/dark/empty/48.png", + "32": "icons/dark/empty/32.png", + "16": "icons/dark/empty/16.png" + } + }); + } + else + { + chrome.browserAction.setIcon( + { + path: + { + "128": "icons/light/empty/128.png", + "48": "icons/light/empty/48.png", + "32": "icons/light/empty/32.png", + "16": "icons/light/empty/16.png" + } + }); + } +} + +UpdateTheme(); +chrome.windows.onCreated.addListener(UpdateTheme); +chrome.windows.onRemoved.addListener(UpdateTheme); +chrome.windows.onFocusChanged.addListener(UpdateTheme); + +chrome.tabs.onUpdated.addListener(UpdateTheme); +chrome.tabs.onCreated.addListener(UpdateTheme); +chrome.tabs.onMoved.addListener(UpdateTheme); +chrome.tabs.onSelectionChanged.addListener(UpdateTheme); +chrome.tabs.onActiveChanged.addListener(UpdateTheme); +chrome.tabs.onActivated.addListener(UpdateTheme); +chrome.tabs.onHighlightChanged.addListener(UpdateTheme); +chrome.tabs.onHighlighted.addListener(UpdateTheme); +chrome.tabs.onDetached.addListener(UpdateTheme); +chrome.tabs.onAttached.addListener(UpdateTheme); +chrome.tabs.onRemoved.addListener(UpdateTheme); +chrome.tabs.onReplaced.addListener(UpdateTheme); +chrome.tabs.onZoomChange.addListener(UpdateTheme); + +// TODO: Load saved tabs \ No newline at end of file diff --git a/manifest.json b/manifest.json new file mode 100644 index 0000000..b2e32af --- /dev/null +++ b/manifest.json @@ -0,0 +1,39 @@ +{ + "name": "Tabs Aside", + "version": "0.1", + "manifest_version": 2, + "description": "Classic Microsoft Edge \"Tabs Aside\" feature", + "author": "Michael \"XFox\" Gordeev", + "permissions": [ "tabs" ], + + "icons": + { + "128": "icons/light/empty/128.png", + "48": "icons/light/empty/48.png", + "32": "icons/light/empty/32.png", + "16": "icons/light/empty/16.png" + }, + "web_accessible_resources": [ "*" ], + + "browser_action": + { + "default_popup": "popup/popup.html" + }, + "content_scripts": + [ + { + "matches": [ "" ], + "js": [ "js/aside-script.js" ], + "css": + [ + "css/style.css", + "css/style.generic.css" + ] + } + ], + "background": + { + "scripts": ["js/background.js"], + "persistent": true + } +} \ No newline at end of file diff --git a/popup/popup.html b/popup/popup.html new file mode 100644 index 0000000..9dadfd8 --- /dev/null +++ b/popup/popup.html @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/popup/trigger.js b/popup/trigger.js new file mode 100644 index 0000000..ce46c81 --- /dev/null +++ b/popup/trigger.js @@ -0,0 +1,11 @@ +chrome.tabs.query({ active: true, currentWindow: true }, function(tabs) +{ + chrome.tabs.sendMessage( + tabs[0].id, + { }, + function() + { + window.close(); + } + ); +}); \ No newline at end of file