From f7c7459d96815d8aecc3ee77d221e5556db752de Mon Sep 17 00:00:00 2001 From: "Phyks (Lucas Verney)" Date: Wed, 26 Apr 2017 19:12:30 +0200 Subject: [PATCH] Add screen reader description and a favicon Closes issue #20. --- README.md | 1 + flatisfy/web/app.py | 6 +++++ flatisfy/web/js_src/components/flatstable.vue | 22 ++++++++++++++---- flatisfy/web/js_src/i18n/en/index.js | 4 +++- flatisfy/web/static/favicon.ico | Bin 0 -> 9326 bytes flatisfy/web/static/img/favicon-114.png | Bin 0 -> 818 bytes flatisfy/web/static/img/favicon-120.png | Bin 0 -> 836 bytes flatisfy/web/static/img/favicon-144.png | Bin 0 -> 963 bytes flatisfy/web/static/img/favicon-150.png | Bin 0 -> 999 bytes flatisfy/web/static/img/favicon-152.png | Bin 0 -> 1006 bytes flatisfy/web/static/img/favicon-16.png | Bin 0 -> 406 bytes flatisfy/web/static/img/favicon-160.png | Bin 0 -> 1058 bytes flatisfy/web/static/img/favicon-180.png | Bin 0 -> 1164 bytes flatisfy/web/static/img/favicon-192.png | Bin 0 -> 1247 bytes flatisfy/web/static/img/favicon-310.png | Bin 0 -> 2165 bytes flatisfy/web/static/img/favicon-32.png | Bin 0 -> 470 bytes flatisfy/web/static/img/favicon-57.png | Bin 0 -> 586 bytes flatisfy/web/static/img/favicon-60.png | Bin 0 -> 593 bytes flatisfy/web/static/img/favicon-64.png | Bin 0 -> 618 bytes flatisfy/web/static/img/favicon-70.png | Bin 0 -> 644 bytes flatisfy/web/static/img/favicon-72.png | Bin 0 -> 653 bytes flatisfy/web/static/img/favicon-76.png | Bin 0 -> 651 bytes flatisfy/web/static/img/favicon-96.png | Bin 0 -> 736 bytes flatisfy/web/static/index.html | 17 ++++++++++++++ 24 files changed, 44 insertions(+), 6 deletions(-) create mode 100644 flatisfy/web/static/favicon.ico create mode 100644 flatisfy/web/static/img/favicon-114.png create mode 100644 flatisfy/web/static/img/favicon-120.png create mode 100644 flatisfy/web/static/img/favicon-144.png create mode 100644 flatisfy/web/static/img/favicon-150.png create mode 100644 flatisfy/web/static/img/favicon-152.png create mode 100644 flatisfy/web/static/img/favicon-16.png create mode 100644 flatisfy/web/static/img/favicon-160.png create mode 100644 flatisfy/web/static/img/favicon-180.png create mode 100644 flatisfy/web/static/img/favicon-192.png create mode 100644 flatisfy/web/static/img/favicon-310.png create mode 100644 flatisfy/web/static/img/favicon-32.png create mode 100644 flatisfy/web/static/img/favicon-57.png create mode 100644 flatisfy/web/static/img/favicon-60.png create mode 100644 flatisfy/web/static/img/favicon-64.png create mode 100644 flatisfy/web/static/img/favicon-70.png create mode 100644 flatisfy/web/static/img/favicon-72.png create mode 100644 flatisfy/web/static/img/favicon-76.png create mode 100644 flatisfy/web/static/img/favicon-96.png diff --git a/README.md b/README.md index c00d50c..9295f9f 100644 --- a/README.md +++ b/README.md @@ -84,3 +84,4 @@ See the `CONTRIBUTING.md` file for more infos. * [Kresus](https://framagit.org/bnjbvr/kresus) which gave me part of the original idea (at least proved me such software based on scraping can achieve a high quality level :) +* Current favicon is from [Wikipedia](https://commons.wikimedia.org/wiki/File:Home_Icon.svg) diff --git a/flatisfy/web/app.py b/flatisfy/web/app.py index 220d426..a14022f 100644 --- a/flatisfy/web/app.py +++ b/flatisfy/web/app.py @@ -83,9 +83,15 @@ def get_app(config): app.route("/", "GET", lambda: _serve_static_file("index.html")) # Static files + app.route("/favicon.ico", "GET", + lambda: _serve_static_file("favicon.ico")) app.route( "/assets/", "GET", lambda filename: _serve_static_file("/assets/{}".format(filename)) ) + app.route( + "/img/", "GET", + lambda filename: _serve_static_file("/img/{}".format(filename)) + ) return app diff --git a/flatisfy/web/js_src/components/flatstable.vue b/flatisfy/web/js_src/components/flatstable.vue index 6eb03d1..a5078af 100644 --- a/flatisfy/web/js_src/components/flatstable.vue +++ b/flatisfy/web/js_src/components/flatstable.vue @@ -6,28 +6,28 @@ {{ $t("flatsDetails.Title") }} - + {{ $t("common.sort" + capitalize(sortOrder)) }} {{ $t("flatsDetails.Area") }} - + {{ $t("common.sort" + capitalize(sortOrder)) }} {{ $t("flatsDetails.Rooms") }} - + {{ $t("common.sort" + capitalize(sortOrder)) }} {{ $t("flatsDetails.Cost") }} - + {{ $t("common.sort" + capitalize(sortOrder)) }} {{ $t("common.Actions") }} @@ -78,6 +78,8 @@ @@ -143,4 +146,13 @@ button { .pointer { cursor: pointer; } + +.sr-only { + position:absolute; + left:-10000px; + top:auto; + width:1px; + height:1px; + overflow:hidden; +} diff --git a/flatisfy/web/js_src/i18n/en/index.js b/flatisfy/web/js_src/i18n/en/index.js index 5aa0603..369fd32 100644 --- a/flatisfy/web/js_src/i18n/en/index.js +++ b/flatisfy/web/js_src/i18n/en/index.js @@ -8,7 +8,9 @@ export default { 'Restore': 'Restore', 'External_link': 'External link', 'Follow': 'Follow', - 'Close': 'Close' + 'Close': 'Close', + "sortUp": 'Sort in ascending order', + "sortDown": 'Sort in descending order' }, home: { 'new_available_flats': 'New available flats' diff --git a/flatisfy/web/static/favicon.ico b/flatisfy/web/static/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..abfdb297a9245a99f81f21f90175212971a1ae52 GIT binary patch literal 9326 zcmeHM2~vmL>USVlBvv;SxBac%p@f#i6m1pBvTTSkU1Gc zk|9YV=k0UH)4ey{thc&28(@JAD=Uz@GK{qWa{&7KTs~GA z7)fNcYjb&T1wc^`FeWy{1^%SaejFk;nrhragtUS~EEWrLa&lm^*^rl)hk}9v6crVr zq@)C8Wo4+Ss6bU!6>4f~s8OQ^YSyfYTD59HU0t2Lw>C61G@z-e2`w!x)TvVkb?erJ zwzf9v)vJg4_3J}NM+dsPx@gd#0U9=Jh(?VXp>gBJ(9_c+-=U8tO`4!-)21*mFo2<< zA(}O71|uUQG;iJ<#>U1lF)@LusVQ2tXn~e3TcTB~RxmR&L+jS9(WXrsv~AlK?b@|N z`}Xb8p+g6B?AQ_J=H{@lut29yozS^+XLRY(1zo##MYnF<(7k(i^ytw8mX?+TS1a`F z*%Q{**67u%7kc;Z4I3L9*xK5nPoF;M+qWku4x49k}<$BGpzuyW-}1O^6T z)v8rky?Ql*f`YJS%^Iv-yB5L0!C1F$9oDa3j}03(VB^M(*tBUAHgDdHEnBu=>(;H< zwrv|iLPD^8`*wtehGNH#9S92xLwI;NcJADXh=>U6+O-Rjk&)QFdpDw@q7WS&jXitz zASNaTd-v`|Y-}v{?c0a_`}ZR*E)E9{96)@0JPsZ_h=ha$96EFehYugdkt0WN^ypC> zJ9Z3-iHSIV{5X=5l5pb037kB65~og`!s*kek(`{2GiS~qB_#!C&z{A(bLVjW{CQls zZ~+%DUPNkYDlT2RgtW9YT)uo6>FMdXa^(uHUcHKI*RCNWBLmm3Uq@zUCT`rgfvl`7 z+`M@cw{G3S?c2AJot=$4ckbZs-MhGV?;h^ozmEqG9^m1_hj{ep5pr^J@c8j#mJ;WDC{I+211pr|NMXZPa!WXmKBNy z7^(ihoG>KHiH0_5;*W?Ala=cIOb3x?fj=GC#XnEPTAbCOp`m91CvEy8ML$p6K}5oV zM%#&^EJPI5Vl61Dz_!}&=D&i~BcBZ3GG9f$pn7+XULH*PC234S74E zYSf~cAaMU35Dc;y?$ri?i(G{ossn-mIc5#ggTO$JSwVq~bUmR0a?A>(>j^69OrMI+ z(tscsc@RMO6VpmHw3s2a+J*P}TktK~M|eg>WhS z#bW}?AdSBSt+?`(^b=`WlsXebwqpTRZcTC*gsd5>>dL%{oY@o9f@q&ovJWG~3p&4W z<*EdMk+i)^V@U?Q;lOq%kffDHM)w46+oiFVV3T2Lk}5$gy{J@Lw4|?6X8CU-z#JvA z=f4jDI!~-miWMn>Jh8kiPb|w5%kspsJn2o zqIjf|OGLRUJdT&kbmD6P~d-Pi}do21UW|%#yKSZ{X(SZCt9E6=AmCv zD&+J%+>)Zmxnbp`8c8MVRIb)aByV`yv64+T%P5=vJyeN1TT&G)Yr*?I*=QM)e6%> zsHc%&I}|bmqL1YvTcq2?h&ui@FAn^lmC)-HI?ba`ieQ~WI+W}@TXvo;JI|J#XIFZj zT@)D|6BGWBqT-^WBT3Rfj06zCj`~2Sv%)AUg2UTT#WWv5QISkOlF!>y6s;$GEJtsa z8cOrAREi6S=UrS%QwSUyy;lF&dtp2Xi0UA{muj~k9Hc>*ndboL{auv)Pi@p&pm VQ9h2!XG|6Obmm+V@$3HG`#(edjko{+ literal 0 HcmV?d00001 diff --git a/flatisfy/web/static/img/favicon-114.png b/flatisfy/web/static/img/favicon-114.png new file mode 100644 index 0000000000000000000000000000000000000000..4cf9f470bf60d31aecb735483ec45b412548ab02 GIT binary patch literal 818 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 R2mv)Pc)I$ztaD0e0subg%3%Ni literal 0 HcmV?d00001 diff --git a/flatisfy/web/static/img/favicon-180.png b/flatisfy/web/static/img/favicon-180.png new file mode 100644 index 0000000000000000000000000000000000000000..888bc2393a3f81ae9cced92c5c5b97242bcf009d GIT binary patch literal 1164 zcmeAS@N?(olHy`uVBq!ia0vp^TR@ltNH9n&i+l&9SkfJR9T^xl_H+M9WCijWi-X*q z7}lMWc?skwBzpw;GB8xBF)%c=FfjZA3N^f7U???UV0e|lz+g3lfkC`r&aOZkpafHr zx4R3&|Mvbf`++>p0*}aIAngIhZYQ(t7#NsaJzX3_DsH{K?dUD-C~@rL-H2Hnxt*a= zIecB_x0|jf>919|I{D?=DNXVV_O`cmT!^dsa!o&=OX1PNDRs?CmYyFYmQ=*EOcY>J zRNZv)joRkTn|FVHw`bz>deOuDHEQSBN~?rtBug`xJa1r=%3x#UHMzjUB$cs1(xrXh zu2~i(&oBS^YTN|j+Fiit@GjgRdDX3_Eilvr-pa$rp!rfoz5a` z*#B)6tGdKNm!8G`^LP2}2wHnqM)#S_oD=rvUR;>-QY}fO_U}8LwO=kiaq(Gn{JD>b zU~|UJInBa9Px9aGoMC*_#b@E-=Q4l0mz7#ZnTLOwe>`u^PWy@RkD_nA*XDPt`tira z{ma2Md_b{ZAM`$jep?)QmiKP&+~NeK?B>orlWQx(vcIui5SJ+hZC zwB2Ey{oMbE+OGsX$(xck7jHP1mw$aOv*LgEF{!BMcO&g4&NAKdYLlS(#IL^AFGPTP zx92PfJ{Ku#cBh4%&MkT2yvR~`(PMem zp9_QI&2$!NKKE%=n`_K#b#k$S_?GXp%Fc;oe6kc?uu@OD<%P|&n!9uNAG=^uo}St5 z>zr|x|J50j&G{^A|2oc{*|mG){JF;#dCIX)_1)X~JGjB(i|f=k?__5Feq$qSHNX7% zMzMb51uylb1*h&`?)uz5ec~qztqUjZ%FX7!vT$3hd$w}MBMY}hYtKfCRLUq{IMUxV zYwCVg$6$M|S7L=SOEYd4i=FIW%yTy3+~Fn13uWfsz8h(LvQWmkc;@DeKNfw9ex8Xm zDU)%(Fz1<$lx?4)$#zSAY0ExGll_+6PR9)!o>`;^e%PdS!LoMK#9appWfoM%m`&+? z{9^Ijdvi^t<=oSmp6Ntch-JJh7MuE={l((U+hTv0_1An!`*!`*dSCgyxzdxC z3)&;wb#Z0M;Z2WD-F%?1&99C36H;Cx3+ihHnUmPAhVm1^TLbSZU6W=mRmKSU+L5i z%$cest`Q|Ei6yC4$wjF^iowXh&|KHRMAyhH#L(Ev$iT|L63DeOFgTh&VI7Kw-29Zx Yv`X9>wisy$0W~mqy85}Sb4q9e0I5Rw&j0`b literal 0 HcmV?d00001 diff --git a/flatisfy/web/static/img/favicon-192.png b/flatisfy/web/static/img/favicon-192.png new file mode 100644 index 0000000000000000000000000000000000000000..bc2579c7d8636c66a77cb6ea4ea2a46916e77ebc GIT binary patch literal 1247 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 LcT~AUK+?YfPu=i( literal 0 HcmV?d00001 diff --git a/flatisfy/web/static/img/favicon-32.png b/flatisfy/web/static/img/favicon-32.png new file mode 100644 index 0000000000000000000000000000000000000000..aa4d32cea60a56158fa6ca01cd61c5daa3b76ad5 GIT binary patch literal 470 zcmeAS@N?(olHy`uVBq!ia0vp^3Lwk@BpAX3RW*PVOS+@4BLl<6e(pbstUx|vage(c z!@6@aFM%9|WRD45bDP46hOx7_4S6Fo+k-*%fF5lweBo zc6VX;-`;;_Kaj^+;1O92q&>jc?PRtcka6DA#WBR27`d;gZCwa|33=;pgV2m z&HuW2to%Nbk`fYA`~UtgdV6cD{tT{f9!3p}-p?uU&ZO72*cWR z2gVGp1J@o0GHjOP+@YZD5Yf+Y=B0fCm%*BL2Djzc1z2ZXI~=kimQnLSlC2C!{@?Q( zX3S>fe-L$IgRNQ|Aq3RG N;OXk;vd$@?2>|$JkMjTk literal 0 HcmV?d00001 diff --git a/flatisfy/web/static/img/favicon-57.png b/flatisfy/web/static/img/favicon-57.png new file mode 100644 index 0000000000000000000000000000000000000000..1c23d2a174e5e3378565bdedb17638c1b8ab2dff GIT binary patch literal 586 zcmeAS@N?(olHy`uVBq!ia0vp^mLSXlBp6l}--!fLEa{HEjtmSN`?>!lvI6;x#X;^) z4C~IxyaaL-l0AZa85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXIG#NP=YDR z+ueoXe|!I#{XiaPfk$L9koEv$x0Bg+K%<>KT^vI^jwk={*GrJN>e+ZM^qTjHOFy@_ z&22P&EdA2z{%=D=0|Nu8`wF4YMSb1a3N;*V?p*YzkIuxW1a>kyyV@F6O@Lo)YA>7l(H3^_GNUbuWxvO2I@_-ePxiz6SD zHd<}0m}oJ#Vh_i~n_aQ$ar#aT*O+sxK2{5IE$L5qrSia4;=$bhb(1HEKWte0M}L!_ z(jE?WAIJFuR-K=elv;Y_50nVKblp;rq;Rl%#ls^X_D}0g={@i!?(6)AOD!xePkQ7p zAW(nu!}kMsb{31Dp0psi%rM}1iEhp``DkCyCr6F)G zFb>vy*>EFte()b)xT==8MwFx^mZVxG7o`Fz1|tJQb6o=yT_dv)Lt`r=11kedAlJ&k j;AsAYbtoEg^HVa@DsgMrVx%Di)WG2B>gTe~DWM4f?QP#? literal 0 HcmV?d00001 diff --git a/flatisfy/web/static/img/favicon-60.png b/flatisfy/web/static/img/favicon-60.png new file mode 100644 index 0000000000000000000000000000000000000000..d8c422941b4584b54f5f3424a42a0c2b218a45fc GIT binary patch literal 593 zcmeAS@N?(olHy`uVBq!ia0vp^HXzIaBpBqUx2*$GEa{HEjtmSN`?>!lvI6;x#X;^) z4C~IxyaaL-l0AZa85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXICJ|RHh_v zcNd2L?fqx=19_YU9+AaB+5?Q;PG;KyjrQ_%aSZV|{`RuH_hAQ_V;}F&oN~!=(q0uk zC*38Ro12}#cg*gd99;N?)k1U^`$7@NmP@{OY8m!mI=U{L>ulA#mebb(qcJp!%?|Qb_Ji(^u zp}NT4fGXjy;l58SW=Egez3lLxmHJ0>@+MZ7O|XA+vcPbA$(LzD&z^<-lI<=oEht@Q zwQlz6j*mOFH(tm-G-+q#Tvyv^XU}HGPme@0Mp=*V$$j@62YlF<7{oO`_lqZ_|bA#dQ)acO~lc)mkoWyms-Th4UNh z?8l$_Q$F92lsg)EeD|*%e^32m6c>xm`DlMIm_79KeTjKFh5BrZsZO&o@V3uC zy?%1#sl?4X*K#=DF3(HQz3+Dj7`&<_t`Q|Ei6yC4$wjF^iowXh&|KHRMAyhH#L(Ev t$iT|L63DeOFgTh&0Tks34Y~O#nQ4`{HEc1`5CUpo@O1TaS?83{1OV)&=g|NF literal 0 HcmV?d00001 diff --git a/flatisfy/web/static/img/favicon-64.png b/flatisfy/web/static/img/favicon-64.png new file mode 100644 index 0000000000000000000000000000000000000000..52a17534b6cb6a4cd88c74b51f8c5e88d266be5b GIT binary patch literal 618 zcmeAS@N?(olHy`uVBq!ia0vp^4j{|{BpCXc^q7DYOS+@4BLl<6e(pbstUx|vage(c z!@6@aFM%9|WRD45bDP46hOx7_4S6Fo+k-*%fF5lweBo zc6VX;-`;;_Kaj^+;1O92q&>jc?PRtc(CB1O7srr@!*8eidL4Fm*Y6a zv+1$GoP=6V)28PZ$)CB;%~50t{nu!t%zL^&ah3RqKT?aQ3aCUm+Wv2NpUisn<^Lu> zhw17DE(=bX3$FP5k;!+T-v!HB)#viHO+Or`#~1Al%=W&MB^Rb)Nw1)O+Kf;*gqAth^1u4kebqZTF3R^G+P58#~#5?mj z(?*rLdy6}}G$y;)dOICh)gI3rRlPPZR$=}mO!qRfx*%I3F}ZaNS%G}U;vjb? zhIQv;UIIA^$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBD8ZEE z?e4>+sSM@pwYFSE{-7)hu>b==yljZ=J?0@OHNL@tQ#i; zY5rgkRWJO=`esSD|Am8R9S?4_Yh2A|Rr)3%#+!Y)(%f#3f)BiWR#Sp3l7uG5RP9~z zKjxO>&i5i5KM(x1U^?fv)V0;ZDl^6)8_WBhqC?FW?|D-54NPFCvJ^dw)b`DH0D$Pj^|Ea80>UnjdrQgUh87}d6!=N`ub#sTzU8Q zvl$zU40@+8U+{c)lTGoFe{72vC5bGSII590`^=6Yf%20x)@%LWWb{nJN|MKQui!C@ z`FBnqY$@_NC-OObhJ1gz)`i&%Rks0SM76{2OC7#SFv>l&Eo8kvO{ u8e16|SQ%IXxmE@SNAoAFL(!0%pOTqYiCe=KBMl*-1_n=8KbLh*2~7aA+5eFM literal 0 HcmV?d00001 diff --git a/flatisfy/web/static/img/favicon-72.png b/flatisfy/web/static/img/favicon-72.png new file mode 100644 index 0000000000000000000000000000000000000000..0adc72acda42dc1f508c879b3d358a058e0c4f14 GIT binary patch literal 653 zcmeAS@N?(olHy`uVBq!ia0vp^9w5vCBp3?X-pmG4Ea{HEjtmSN`?>!lvI6;x#X;^) z4C~IxyaaL-l0AZa85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXIG#NP=YDR z+ueoXe|!I#{XiaPfk$L9kOtew;C3?G4rp|nr;B4q#NoGBHhLX)kU9SG|I(;i3DGS| zT6WEMtt@67J-RgE;zf0jCC=vIf-yDB?(BuS@9bQbU(mc@$YRtIz+vcnDP~X1mv@s6 zo~m6QG>QLCf41Tp%?TImTXS~HWt7$Y2xAtp*~T!dEnKuHUrM00EzR_VjDp9j{o##i z>=VA8{#e)4)GqeK>9FgUrKS0ITqV!T8BaMkIlFd`XVta2{9z|-Tpg~N9J>8w@uyQ9 zPoJNZeg9?>e^);LRyOgFIm-ovU1qzpEINOfck21W?1pC!vpkd!H|@xrw}gAUOwt^6 zPF}H8f!8*(`|Mr{e71?K);H-$p10<1rh`+==Lb_JewKYSce#Zn$GPAcGA_>#s!neH zV6&s5NMJtu@}4^!Qr+h#x2{w2c)#{FN6`x5{p;KV9^BaW_RQ_1fNHt@aw+1Mf{rR& zRm%Hj=BR%8q+0A+rn!&zbFJ4`PsvQH#I0eAk%kaZ1B0ilpUXO@geCxX CcK74} literal 0 HcmV?d00001 diff --git a/flatisfy/web/static/img/favicon-76.png b/flatisfy/web/static/img/favicon-76.png new file mode 100644 index 0000000000000000000000000000000000000000..8e4e2faa0d2d4778c46303b455293b6cb441b701 GIT binary patch literal 651 zcmeAS@N?(olHy`uVBq!ia0vp^J|N5iBp4q3;rkAxSkfJR9T^xl_H+M9WCijWi-X*q z7}lMWc?skwBzpw;GB8xBF)%c=FfjZA3N^f7U???UV0e|lz+g3lfkC`r&aOZkpafHr zx4R3&|Mvbf`++>p0*}aIAngIhZYQ(tfJV1?x;TbJ9DaM<*88x7%<+%^mmYLn^GJou zYRA?cKQ5F%xNz3b?`^>sUY1)+7cE}AnB&|&uK32q&B-qnEK0bhtXZfw{hsq|?;?Ij zfp^wh1MG_SXLq-z_BI}tNo&+~bBqu-+wJt?&1Shbe+4Fei+g=w-nPak{9@Z8Ofn9v zdbKz#;bhE#)mB-S)6O0}-S?}ea$;HC-=)nLcUC-EvHZ))xmIdtw$@z{{#CK0XYF}a zxvw75x950UtXkgv^!cPEZLWXYnwGYSo=t5MJ-@VH^X$^LllNoOX1t17GP}s9Qg2eZ z^wfk`#i`^u%_z@yssudG=`S zI>wx5k5aEQgcW~0VcKvvX3rO?1j{Y6yITvId}mo_?z4O>yui|PL&d+zB4uYc=FQ;x zJY#=m^|J{5@0>rT->BQ|nk|1LDdNYeDi^-u8HZ(_8MObEY~$8d`6p2M(d(bY;bn|+ zUWb!E*8lyG_&L>L#o=I z&2cptHiBgi;;#9Py>UftDnm{r-UW| D@`w?Y literal 0 HcmV?d00001 diff --git a/flatisfy/web/static/img/favicon-96.png b/flatisfy/web/static/img/favicon-96.png new file mode 100644 index 0000000000000000000000000000000000000000..8e5316c64a4cde74bd118d5f5b7913377a43d401 GIT binary patch literal 736 zcmeAS@N?(olHy`uVBq!ia0vp^2_Vb?Bp8l=)_4M>SkfJR9T^xl_H+M9WCijWi-X*q z7}lMWc?skwBzpw;GB8xBF)%c=FfjZA3N^f7U???UV0e|lz+g3lfkC`r&aOZkpafHr zx4R3&|Mvbf`++>p0*}aIAngIhZYQ(tfJWc+ba4#HxcBykefA*-iQ^xiPg*2mtq~EU zTgx8X@=dfvV=hbkKK6JQO_ASXkDi3NPqa$alJ!bkzV6b(>>^)>m8mA8)PJc2$@< z|90Syyjc-nHkt-9Z~A$8rpz~$!YK{&fBy7YpX{q3@btNH>?_8~pF71FtsLs=7OL`! zJT+&0b8a^>gRh6`rT@3qfjd+|K|ao;Q^wNINjE@oT& z^X7}d=7)buP6jr={FC!Bu=(SkoQr|=%*uy<-h5TA_~6>AUG@%V|FZ2_mg>IwOa2U< zoynKEg>};}ia95%`?huen0NY$duuXZfs4E-#|(y!xpIcQCC`lOKKErVnElh~y;1`M z6Ndtr_+a0-(K11YWzV!!@%8f=e?26@V%h%0ktO>7qSftISB?(mif%|~C z(JKepOQAEFfw8Sx;u=wsl30>zm0Xkxq!^4049#^7OmvORLJWmdKI;Vst04^CJLjV8( literal 0 HcmV?d00001 diff --git a/flatisfy/web/static/index.html b/flatisfy/web/static/index.html index fcaab73..a965826 100644 --- a/flatisfy/web/static/index.html +++ b/flatisfy/web/static/index.html @@ -4,6 +4,23 @@ Flatisfy + + + + + + + + + + + + + + + + +