From 415f896b89155161df49d50f5c2f075e60e07e08 Mon Sep 17 00:00:00 2001 From: Ignace Date: Sat, 3 Jan 2026 13:16:43 +0100 Subject: [PATCH] added manifest and desktop icons --- lapp.py | 2 +- static/lapp1024.ico | Bin 0 -> 11121 bytes static/lapp1024.png | Bin 0 -> 7300 bytes static/lapp192.ico | Bin 0 -> 152126 bytes static/lapp192.png | Bin 0 -> 2099 bytes static/lapp512.ico | Bin 0 -> 3987 bytes static/lapp512.png | Bin 0 -> 3945 bytes static/manifest.json | 26 ++++++++++++++++++++++++++ templates/base.html | 1 + 9 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 static/lapp1024.ico create mode 100644 static/lapp1024.png create mode 100644 static/lapp192.ico create mode 100644 static/lapp192.png create mode 100644 static/lapp512.ico create mode 100644 static/lapp512.png create mode 100644 static/manifest.json diff --git a/lapp.py b/lapp.py index aa5b6be..4be71aa 100644 --- a/lapp.py +++ b/lapp.py @@ -1,4 +1,4 @@ -from flask import Flask, send_file +from flask import Flask, send_from_directory, url_for from flask_login import LoginManager from models import db from models import User diff --git a/static/lapp1024.ico b/static/lapp1024.ico new file mode 100644 index 0000000000000000000000000000000000000000..9f2931a45b4dfac00e4ca0b314c7572d716e3a14 GIT binary patch literal 11121 zcmb_i30PA{*B%xHS8(}iTOp+GRx7sp0m_nSwYXyy1VI+HZbboQ5kbhc=r3v!tFl-W zu!^V@&>~?If-6UH_8dQisA%P~CFY(N8_Ku( zmkBR%o4Ko|)|XA-kGc2$l99>4%sw{E2QR_!EUq0jgX5wYl{Mk!Z9u2bH z%yhaGTK@T)$9tRu7w&qhJ!5UtFBATIW~%9!SoSxUGd7*{k2~aY@Ws*Ot0`_TZrU^+ zn7LMGIWH&u+?@nNu9(ehSKc0PnkJ3kdAIO|NGcUGMp?$&?K3lOH}`INGLz$Cu-ETi zWMW}yUfu>n;nN_GR|TW?EucgMW?4$xG)k|qgb|$X?$jb$Q!`sDElbE~s*Fu!3e7S& zn@oD{oh@Q;pXoYv8zeM`XdJ#(-lb#zb0AIPIeF}H{@=e%)u-6l**V3;#JGx^Crpxj zFKXh_%JlT~JRTV(NRkr^O++PZrkPLOMu}9Xv$HNjvc$XYY0YCHtB6*Qhl_3#v0B(t z6}7Q<@}tc{v>E!v2~1{TV{+wbCX?w=`DkWVK3BAL^624q()AhA1Z~gurD?4Jw3hDU z-H*6ZFHXWPGaFmmef9PA1(n%l+^$B(&yy!lF4%s4vyF}8xhD^WjO)=X;REJDfn7Xf z7FSx*VXgtoh8m2>g;rL_FWKqGjvcET_jCk)(WK)$ft2w-RZV=S68Mgk@VX;)D!$Jb z?p2wEALy#@bTnk!%(8?rk+?bfPT`^HSK13^-&vl#6~^($yywTXq+NhZEo88)43mFFMaLQ46s&p=LG%}7gQgv<>X zlEdxlQJX9+V@wg+nf)Jx9^M|KiQYEzSa=$8Dvl6J*PdjP|h$~Wm!FM@p`&e6_N@`6I}7=F=;D@mHR?0u-`pLN8$h=wQv6CcM7d- ztgV0M*`?%-z3a6#->fVyOPJpCrlV&a(*ZtDn7Qse08g@K^EPiu5+hptjM2PT5#J2E zo1Z>?`V)t-F>_5%o8|F>smNxbvu}d7Z`M6#YHD4W4noQo7r9rE^2}GYaIrd_qv{WL{ktBKWbtQMbw9w9F2)(*CgXMP1Hm$zG zL;Sb5bv-|Zq87SIsvRrTkggP^NnhzC)-zg;^K~;s_N5Whz#rSqQNw&CL_AOD@0Gp{ z8N10$rQv8r29syZ%4R@o~ z>=NHs&Q&)NkuqKz?Nw1vx6OsVD4&xGUH|-K;_f zPN_i-lj)I(&?%y^EtE1Zo*awldQdlcHb~^U3{gwFT6r<1kvWwij4j5>$hMgoqb#Xy z*S{HkIcE~9^HJS6hi5p_TFg}f3q30rs7NGG1>-FwRKTRCEXKA=AE`uG#i1c8%iy2x zhFm5XK;;d~)Nq>>Um?wB|Di(T@z4&OsO_d&WMQRFXBOX^)g&x^{P>6VS%BN~gt7V= z_QvmizK(E6kj|CQ>D&+QXV@QTAe9KcIU}eDOsEbkZ2rYP;{RfB#&Z3F@ zt44wZ)D!r1P>=T*~+aL|d$==K&RnCP?vK=8dV$4L z{|VXeScEZD5Mddv(FZ;K3vz2XsEU{f-U!!*zICPsPp5*g zX92!&TLls5@m`4d+Dyk7f-t)DmL2%h@v+)p8%xYq2Ue8&9anoa!Hv^?MHnJe$*W+a zl+KL0af|t-4+76qxPADj`D`9YG1wUL%LTB3P|i5naN5-*pHjy{Av%WF87}ZN0I$^G zIdnzkWZr*tY7)mXqb10rqoG7kYb@|(ul6Ci00k1AgggtgtUjp$)ZV` zaiM;;WGA52Qv#by@%t}nd|gXUYecB`Pw zyEZm9Y0bij^sbr5N&C$<)>oQ@X9qNbK6ek<0s?6QuI#m$eLO{THKvGz z`762Nm?sokJD2JQcEnsIYVc~JUzx7# z5p>c@fIU6@ea#GroPdPC!tFi7Bdi*gVV$Op!{0)^*Y%TNYB0D&Z#k8~U;ErKCx${T zC;dp;ohuBcKuje{G|@@EPwlb1%27~}uB@*lb1N*s1_aSb<^rzH-(4^dTn~{5+8|Q) zcew`8z6mbog=MN+@B^U^I53e8YcVu*kS;USqRkgxL=$mO1DtSM ziYhc2Y)vEe`I9`Gnj8$P{oTbi;)1D}!9Mi?0?WYpL24ST7z{N#9~x&eze3od_@Pq^ z6OZfMpeQjLZmj0UQMP`Kr@j)e+E7ZSVo_vQ`< z08;7r?$DSrA{jrRab5)~>mAuuMK?`nT|pbZ=@MxWi;Ds?lDt$S{gI}VV72Z1kAPdePH1 zk+=?9pF`GKZS=#HT#xJ@f5075k4#4o4~zh37z_^yTm^3vfcn4%b_N%SB<}|wHn%=Y zA`RNpXr8e|S0|m-*2yaV?FPM%%_nBr1q{QWo0iSe`+&h{xPkG91?LKxdaM4uR#uHKd7y5fD~P zi0y=yuS5nn_wN_PSaL!#+M+sg1AXs|IsQQJ^U>ChvEO|2O`>c3mOW~A>9=ZUIu%ul z?0olo`_8m!%2d&~vpwr{5Rh*JoS3M2!*bRU6=#(~%EI)tR!VbmOUnV+-IwPET5j4j zgChw`g{@lTC4>Ec)HOlq&UyNDRc$jnf<|lK)4&V&j=Qwj{U(gd%*gPyiSVw?i`t`M z|MUL+x7#`k*xYd7-W}&6dalOC#+G}wM%w;Kz&pKE3t1ysrXsuJxCcC11EEbtO>XSDsPwLC?vSJAhfrnm!-fG5u62|kG^SIbEl4{>oo%Rd6mRw`N1?XUk-U*56KS9LEw_# zI}FtXh?N4z07HyCI~~!Zj6>{WC`tsq*Hc#j)wzC07&Qs-pL*tfAN8-Iz#x6pOy&xh zTd5j_6#+W007efN^%%Yns-pfT#lz>xHCYb)0j|`oMidNgzASs=rL#$Zu=(!GfSabF ztGtlEo$~w(Yha-Dnh*; z*^gpmbe(cJKMuT?gx=jo6wGMUg$41xiC(IU8=gE8TEGGqQG7`nxO4ZyFN6B%&BvDS zefEs!0dV{9FIBJ+#qa>7@ENQ8F1Y%;G!=>mck-d>6*Qq@3I~_d^O>}Cy#gLh^e|6v z?b1mpBx>}dJ~h~u3I;n3G(MRQ)dzSxy!3ejP+^qnIIxt;h#uY9wP$g!;qP8}6GBsg zRAo4-`Td^5dH^*G8Y6c#YQSSD*eVr@`aAAJUnr{a_e*~gzzX--R?DQ#uyI4T#yIH3 z)4(Z!SmP!m-wjt_rB*88gZU25v26&*s)X2}{!$=>{MJbrWjVlayE;-GkEkJvm_f2n z8Ih59P%1etQW#g!)Cchn;@GK4x=e1@K^DhX{PI>G-q|}CQ3N@=6LPUwvxH@??8J@H z>k?nP6jOZKaxYLsj`pI`pRTDL4ihz|#T&Qfd~b0)VpPaHTddwwr%pv>3A$U===v7Y zt|Iq2bLK>4(e}T2Xnyc7%IM+zE?$K5OtbK^JP|E5mZYNgwEymnP5dUk^GfdSv|Yd7 zXhSZ5w;d88i)EYYwx`-z0$7TX>YC(BXt_6bA789fzH+&p^(+Yh`;OaoGK)5>4EU8PdYjHTN^v;!Nmfn{Es{&cc$yQ#6Qz0>A4&Fz8dNLj_ z25bs6pFsliQ%1w}NpHj3n<1%yBCO$%3GSyzuWyrCVCZoHro`{r?0GvstsW&X#x(S#fQBL+uZg?rN7;AY#~usxX1L!ykL+>JT1`U&ez;OM?%EXS z#x}n_f^~fd8D56M2R#C0?cI6z`5J8eptWKt6b;HcNFInifBj=U!hAJQmB@80ZahV4 z))aJfa=;G-Q|WWL3}mkPzGFd`igE#ifqZrClt*LG9DZiZBqNioKr@mP-m(AVJoJv-9y!dvPB}6* z0hX3r0JskfIk>%V+YCbwx{;wm`H&_6_>%|llUFGeiSsJ+_en$-PV+Pnv3Wc?35%Ck zsXK38FeSnX&PxiWy8TXmBB3AK1zZDS!3*fme+S0p!FMNwRd0TRxIpg1J_uhAt*xxC zQ@{Zoc9L2EUxKR-;{Wm3xUr(da*E6($!05?#$6X~RPsL$w%XX+OH=HduIPw&o2nVO z)#R8*u<~1CF64^bESx#(|+b^M>;eod+41Ie%ImN}HPq?g}DqXXiz5)%SCc2?V zgH^$6-hEFaycZJt;;0?Debc5*s{$EW+6T*$e|0}}C?z&7j>+lrgye2oV`_|XNAdQs z4C(fac56re+b8GX;H>r(jX$~V5|hK@@ZkuALlY%d0=rD~c{3qmH$Ix0`ux}FD4(?M zHOpb1d3VLe5&F_YLv3+B5k#OTMTdYQ64OXWJzMeI_g;NGE8~jFT~WE9A~#;+mW_NU zD_e-}c2$QZgsM-g@!K}P2??dZIY5|XBfG0T>QLM4Q0+9fii=~49A-_+52W?`kzmJ+JM!OnXTXx za(xjn08(6cT-5IqgQ<|4BA}*A=b|u!0n>7s~8wkKa&rgCBS4$wzSul0I+;Im)dbkEc*fRWzH4T?) zjZaIyW5I&;HIV^SB^0>;)0*0h%p&RYj?qhJDlpI9c0+5`VN$0{zlEtxk#_`j^m^>! z$|P$;-@9I;{TE`P`?fehX>s3!CQrF1J!T^`>NEUX04#DZ2olC>-sd_JF#EjGWl+Bz zzI>OgJOmejj~JJ$DDWU3M#;lfgcA0Xxt;YZpaN3g&wp)t(=<|Xt19aS?oX;#?0znztMw%){zjXz*S(TgU*r6g$%+ZdN)y1u-54P zrV1~LQ5A|n?|nd{itGP-@h~!p*Fw4hq&YVQ(vOptdo7RLj3DAdElzmWeKG627VQ5G z(sOs4!`TKF;j9(uMwowoM4X|WhKk!NPQ4F`K4ow84^@bV`vifZmTHYH&5O}Kdi}Po zTQB47HfX}uyYsiYFW@7g4f_sUNzRnz74boLgtk-y_b?!hyh)JV-$@hkAI%X8M0z6>`x(H1XcChCbvW zaE*5-J`Y|Mpb0iyF}osjaHi6O5cKTlHv^I{ZNvNG(G%-vJuCQ#yZMH(2{cq+jk_CA z=Z9E3HP{h zn{I13LQUV`Jaxpx`?>dbOwby8aipzi?(Btrj{9A6rvLIPvLsb?i0c?5OH|TUfX$?D@_~-JT2v3#UHg z>P=1_`poC9m?PjPuZN~+HG`qIvu-(07YAEv zd8v+kq(%rRH0Sb4UI8W;7gIuX?IApTrQmJw=@UW`)EaQmA(~)1Qo>A1(zReWeRVB= zPi=chNQktxH7qQQAI<9EL~BS5ntOD)zV5-5ww^q(P;j^P1utA$ER{+-TVJU8h=VF} zo3r5fa-UwtaJFX0e> zhbk8FKx-~A?N#ZJnUh0%I{23*+vN`+8M18&FMKA{SC}BljMQ7+6kdWp#=znHQarTk z7o*FRzyDfJhvYWR>WpJiT#y}$D+sZRu*Ow0e=+juzGKVsO>gLa@cLFm>C3^>0k~JW zFhr)qmUMJbG1DZ-<5Sg?u9_wAE4m8EEB>RN?8;I%8ZW)Eq#cp2NKpNb*f^~C zP$maN0y~F0{4Bw#Ecr*{2PaIr4tE~mzOFH^hEk$68-6&VNOQ39BQ*B~oJoV^iK(g9 q#>(e$qJa8$eNjBljLH#?CJptc;~6V;{m6sSmCM&Hi(BgO%l`t8I_>rV literal 0 HcmV?d00001 diff --git a/static/lapp1024.png b/static/lapp1024.png new file mode 100644 index 0000000000000000000000000000000000000000..4e77861a05c8c7fdcebb09f104f7512793fe46c0 GIT binary patch literal 7300 zcmd^D3pCW*8sEccMsb>M)GXDVaX6)NG~1LWr_wlaZ0NnUN9O(`&QyCijg9X&m%Fcx~}N ztd;VY*d%P8ChoBv6!Y>^DcSAD`g6G zj0t^d)T)AP^@OMP>)IYzdXKMN)#V>pO0G_2G8iGXk?YHEOt_(QJpHVxq(_CZH z8gH#*YQ36%drhKVkkYsdRQYd}9xPp;tpDtCUHr!0fB6l=U)#y%Zwc)0Ppza@mb^Otj(_+2ySX)Y&in7bPh&5>WL|}6d-*Fv zE|&RMJ}H}*5%_a?b35hj9xpHV61gpqmk}ElFEU0)P$&vDFFE226nRh6Ra+s2Wq42w zHIDlLk+#juav|*vMONV(merCwatNuAX2uJa`;^x|nHj2V$0VOdd26}{C35nD)W+H0 zay><{q5XRKw7J^r!}qkSgCe-RvGo}lZ7fsu1?rJn273&bMQgbfR+_En$N$n+|M;rT z)|$B`Gp_g@EjqTnICGsX1(g2(KJIoNREyVdpIp5*l{nGW@yyMLw8(E9tw_=K-nQ*U z_fw|(O*%w}5JU){vcabe0k0segHENBNDM(@FO^?OxX_ya0pYz|?KO>D>qtfM-46}y z&ucZ<-n2_OCg-H-_rdayvKibJf!Xhq<^;4C5V&IcBys~!&B^gfTkTMue75G?PNG$= z`uW)pEzNJ@mdsCHk(+a-va7@Bj~eeEwU7)#8@u-Sbf@QX1Fz5Jo$8KhtanH*Zh(Rca#Lx4o80{BfL&0)pb3a^bpjmZ2_MC>% z#2#DODr^5#$TubslLSsFotIT5vF_IRq=S_luX}t7pT#lVp0_Vsea2%Xl9QcMioNst=*^oTFb&dj#!QWs7#nf4m4H&_U7(4%&78zBw1;biI4=1n`bBQnt-r>)E zuLu(Y#vp1*CkZ0(n<9eMFO7hhe0f-kEF7ssQcguKkB$_o8yDTuTAS@cce*W)HGLAR z-QRy=+!~yP;RFv}XT$jH5TWgcGmFK3)+~N{Xq7BPTqNkgNW$ntjVMwf`UITRZ1LX= zuacNqR0c=3f7G3>D+3#Wc?Wj(&r6vYza=4=^lh2|hLhO(-oE0j^Q{l8yH@nEnN`2G z^*b4yigR1L|1}neU;F7ulz;KRd*1lB^h}7Pa}+1nA4+0XWKf)aLzONS5XQV8wP;Z= zwlS;#$9j<5i!xC03k3f7lpQkaOkFt!Zhsu{Ms(ojoDJhM=)_N@gd%y^EsR{YO7=?T zt|z4o{nYZ@^#WY-JDyw(xXsY_^lRU*iV#P|4yz&X$0sv;P09NkC6pInVq-?sbL6El zi)ZhSJr@%g30RN_C-Zwu3g^LdyBU|dI%rpq`iBT0RQEWr)fg0z7FPsT^_bSnN`Abw zbroJB@QcD+tvpjeN2f0|cOUd>28*5%Mw++tJ%$0w`w- z1oT+J@5sb6F)sC`im41(keILyvlNq2o5B$D4KG7)x8k|h%}lUQ25|!0QmV9fD^9G+ zaRg&O1D}^EZRo^YNq=%lCNJojAO&SdC?R_pem&sW<}d}KNK6(<6%H)Mq_~q^nk4;c zjW~({GR9GticH2EasfqJ3f?!xGHSpMi`+2ci#5Lp>MbW+Vx_Rw#8p{T z60F6X3i0wugqo{oNh#u!U;^_?#Qvk4flemVR&t@R)*ME#BIE=ut4K`2%ArI8*hLEN z;2l?b%1jyF8Kz@tEO&SHVk$oL371BAZgnWb-$o04VB5bf>^r>0B zegYV{M!b|3niA0ss)v|Ua8}@r6kRkw{Sky;Q~|6>7=5S`p%h8W#gG-XaZgU8guBg| zKa6S*de|@|Cu3kJ46k1c!WS5cwTn6nYZ4PbQziW}fO&dyBb@dw%Qy`^>A|QWADF zRqs>XQ| m)UjwrOLy8Vg|DMTR4RvY+tiTjQeoqS>1GS9j8hDGLH`Ec=LPlv literal 0 HcmV?d00001 diff --git a/static/lapp192.ico b/static/lapp192.ico new file mode 100644 index 0000000000000000000000000000000000000000..2b2c1efe0f827aaa68b91e2f8a43fab3c4a0b26c GIT binary patch literal 152126 zcmeI5&2Jn@8HZ;<^85#!Iqr!QcMkjqTuFi*1w|XYA?xvG{T0Xg{*Lo;Lcjt-AU5og z-31|GJ033(b0vF7vLHZ$m4d&J*f}5-_1esOnCj}Tsi~T&o_?}=cg9uSo#|ga_4eD< zKTm44SM-0Yt2O=qFVd;NKrB@Ex^;`a+01BW03ZMWApa2S>01BW0 z3ZMWApa2S>01BW03ZMWApg=SQ8jVIx$C!>ffd*X+2p7@VOX0x!{Nx<>bhHRG=wd*) z7)ycESf4?kpX7aEUlC}~#ei^8kHuaJ$CdNb0sqYZto#T6aFNADRodVm{;R@z)_GQz z|LN&zH8V4#W@l%K5!XP*xvTDP|6E!AA3S)Vwzs#{&dv@o;u>siZSCi}j5$zQ{vSSk zsCIXE)!yD7G2$9Xj+5&={2#9W!GCq;J^Y*NpHlyj|Enf9L(r z{rmT+e@6Viw>{^{|7QM&|7z6!G6&!v{@b~*im&hw|5fC^ea`R?|7{kk_zM5X&hT&Yzr4Im{a=x5 zAN+^s|K-bNKl-z^?bgxtXZR1xzxbv%Ha1kV*|diAXZfpL_RTwPRr_pu zy37Ii56{1FxW2w_4e7V>U$k%DajV*A(-Z#lzhy|TabDUQ@Ac-*fw4+ z`&O0lyz{o{=`vpAe>4BXzx~>k$KkO0;6Fdl+j`0W<>K5nzu@0Scz%0|{BLeSe;F?sN1}HPTv*TAhWg*E|L@$nPtEo;42e5C2(QRHY66;lC=ZXPqbfhv(nLqntGs(&n-++n63`o1R7O@E?|cS^L5N zZ1;Z4vyae$|2h9TudUbSf4Ft)miPT{KhM8h_O*Fns@&es^F;E$ng8LxT)sH?w`KVJ zcJhC@IJaHn;6I;pTQB^>KlP7U|J=NJb7=K{k#`7hwCN4+$4>?S>F_UWbuQi^wlV$D zMeCfle)vy|f7>|G9>+rg|Ka&Bs$u%MUNaBE&I9-l%fImHQlG$aSdM-5gnyI&8#iuv z-~alK1N#kUKEOZxS9$KiKm5Z#|NgIj7N*)k{WF|eWEk_1{2xC5yZDoBW9_mp+u(n; zc^Z0YxA`BgU%&2s|0`=h_@Bdjobx=>_@8^B{&3q^{L5I`yjs$3^J~f6DcU#hxK-`5 z>1n&hcD7UhnDtM;`M-!^+jzmhpC8YrXD8>j_wWz@WxsB~|6xtj%RA~HzkHk8e1ZR7 zs6X7+#{acz*ZR8umGQ`9#5P`1{}g$L@IT{!J|wumcd79&HLA=3qIV5!^?gx0^}kvF z4=eu{jTQajpUc62c>arO82r!SIrhyB@Ne>e_3Bmc`d`MurGD`pFZK&Nci=xf|1cVs z(U^L|Km5n!EA?Z;Km4c8Xw1(C|L`A^uhfqX|Ka&}@h983aM_n_@IUwW+w-q} z)_-K}2mdqv=Ma3xK8B6|D_5>~uYU^v{rDe>_RaHERJG6MC$U{)JKL#$%=!oZ%jJuM zf4?gQ`M+G8+pcf$5C1kcs?ZMqqr-oZcL@J8{%1eh&An2qf8@T*#XH0{ra!v#p0=0w z-2a;Qzn3px9?JSpFXP6xVLV3gAD;iB8V3J!7wm} zFI~E%L>Kt#pRd$4gnyHNssG`B^x2oW3I8VlVKZoEm_Az4dFMgCf-;K?$B6Fu` z-@M~iwa=!f?Hb$J&i$`h|6ja#(R=;Jg<;!xx$Ik2#`DhGre`PTw)gN4|9Nbcp%4E3 zDkWR}L;f$;DTEE)3=V zw`i>B5C2>a{=@TMRKwtZ4$rY~Zh-%={L47F)Gxl{#eQMu4*ZAbA4bD68dFdBhyR#- zrG9MqhyThc|6%#x+1*h;eD|yB`;WeC4e6Kdy2oZ`XHQMef2zKDmgq$T(M+`K*3;!@ z_z%zj4}Sg?^}Tn#WDV)J@&DTFr|S4L(TfJ68T_06hN2dm|Dm7yN4SRn!Oma!FCsm= zAN~i+X)igwmu=xcoA07l8~^9epZC81CI1h8PQiZ>>Dm1$@_%Xh-)iwT(TfJ68TEfQ z<9V&A@h|HYySs#s1}`|6%zTHV^#IJNnfYyI#*~;65DpZ7tzHJpXNNc@58NXieeY$hjyr*3DKHKxJ ze)yMlP5jS;^>5>UwlkjBW8?qaxpUt4zxaRf|Ku^3QXl*ep4DD_ovz#BfAgDF@DKm2 z|CsAP)Ia5#7v%rZ$^ZDDd-s0he;y6~WgXtf`^!H5&xomi(y4!{{2Xdn=MMiS{|gHX zeXW1ufA-JEgPsTQAC~`v8b<#82AlU;+VMXRnseLV2mj&uw`om#de;T`hyN z_{aaLp9O#Bft{b9_rCwFGD~GVck;iP|KUHqIz86hf`9mr#a0=P3;*z622NvrM)-&S zSZtNyxbP4EW#BZ{XM}(FkHuCQjtl?rUj|NNeMb0)|5$95;kfV*|7GAb)@Ou&lmEH7 zx#-V-^ZlWD-q9-diJvx3Y;SL?nVA_iH8s^8E!|eh@4t%8zp(%DZ)erVA2x^r4PJbB zR&6xbRkPWQ5|1B0RudBw>gds<-OFE(B$3N(1WaYi-Q*VOv@ zdX!jOTT|oXO&|7Uh~HfsG({&&Cb!M_X1e%rvm zJBP!n)!^TcZI`{^AO5NT&Gk>}pLFI0`QIgz`)x!1Plt0`eFgu1Y`g3Q|L{-!L;YjR zy(zSl|6MY<-!|lb@;~|C%>UvC+1lFLe+D4_sL-*!{ZI9R=f6(R)t)!csK;w7N;r)X zD=RBJ|Lyqh6MaqC{~i>X1F{YjCuY=xn^Wr7kG`#*uAFw_Acb0Fke}g?znN4Y{N$v% zvM{0jIph0`iccX%WOyIM3sG7BLwgPk;&pMpp?>h!5&>g%T0J~j5`^T2;X{I}=A%v%j5_ldDMjd9#(>yzrl z@uYKo*8GG21o?mKY&rQqo_4JR{|U0*&iS3M@ISEiA@YBMa{~V1-_Px1?xpi;T}P`k zzoz~k{^8#w*{=ou2Xh}S_rKKtevHQ43;yBX;{9R$Gr`(lYBTB|>Yq^81oA)mpZw4L zZ;WSNoyVm950$aQ9*6u-{wM#F|2uPajQ8aKuz5Sw(a8VgfAT;1KSs{)JSO=+RK^Z_ z9G(BibnNMnXTYThz5dzK{?C@?t2CkcZ|Ub>;-@K7?CH-t7M8fQj;5Kf>5w@fK8R9; z=D)7_uWSBG6Po|J=D)6aDpQQ<&zlyod>Rx$0Te(16hHwKKmim$0Te(16hHwKKmim$ z0Te(16hHwKKmim$0Te(16hHwKNLT??{y+cembZRzPOa|t&(ppy2|65*fez@CLND^Hixr zM+ejAzZt%~B(I=bdaNQs6*yFP9y_QwK3Dn+7X=a8Z3V+;oosojQZ#((G>_#FCdoOu z5gpS@ar=)H0+Gzg^kg^hYu3qm{yIG0ps~H&F3R!fg>Khv(srrMyyI}=a<;((Kclf7hUtW^Q@K@sc~#TDpO(_*YIYEd^{yiKJ`)mELbC8? zsGmkEztUaXnBk4B=*g7>AsVA4lv`&YdOkPZ(M$4c_nr`Pvlpn1q6NG+!KPNROl_v0 zK^O1Y=SoM)kWNt1rL`*6!>hItg@td@D6a#CMrsQ+A{)lwi0C6{Pmqfgv}mqEgA8uY zTmw^!SwG(SBs#4Js$gGX_X$7~8(fpi`=SR2`b?^0BH8n+kZn&l=454E;#Fxu_#ym7 z*e2BX#*U5--&3}XQ{}ZceMf-00aO6Pyi4D3j7WQu)kDsxusm`aU{=) zgIL&`Es64WYd^R5pnfKi${mT6Ke#$kSKb*oy1C*`h}al2ZQ zr0$wuyFUnzMW$y21Rh-7&|Hq$F9AMAu40GVudhwspPTsVq&%np$gr5bl#%`UgiQ3< zuSV!V&5tWCd5JkxhA2h4kkNL!o)-1IXl62VbP|>N^xyYGHxl@E=hjWUPJPn&_)@LD z-WsHI`{<5}RDOq1%V$g5IUcyo+6Oo1(%!~ptKkFu%{xz3>qX4#gVn7>WV6^nJi%Z5%uAlw>tES;IiBY7t=wO1BG{LCP=_1)|di;f*Zf4xrtG<<$ zh+#!_0?55+M?Fh|7-V+#54%wY)hwVKrMWY2-1q!3xE>7qC;ClevQKJB!XTlAs6+gs zGKdT*&!#um#L8)K`Zv)+B-f6-i?#D3URFF`=p$9=V*g;I!|~&q9Y+KXzm-v-b*XpO zXg7&r#6b$_|LaLHE8K^Cyj9@@<&q0bggGNUIK;mKaUMj?)XtAd`bBOwZ|YE0+@e2g z9Y~Acbzmo^zG8k?%=A~re)(CGdn|*`Ntbr8I2*}lg6dAD0_T{`QNre$jt1v^To=6; z$6HU=T(^u88mdp8tag9YGmgo%EL{0ihS7ud!1!H7A~@eQ``V>3H7onwgOSgIUkOT> zsIUTd7qyA^Uj)`Y@!(y}>z~zsO~nqRe@iNJG@8#KOlV^8!WgP*wq)1(A3?s?XOD?* zH>>kAn8>j{P-)TR4}206mQfV4PbM6bzp9q@dRa_g0Jpv_F~#JV8;4>gq^FqYtc@3X zJREAw1)H`TTs)`?oj~R)9?!3|xXU3j;qKV?R>q-ODI_+{?1u+HP9aSc$VD*2L|_nKvvN44gfA{9{FZ>rd(b>Oa< zrwjx@NVf3={Cl7#{IIWH!Zb(1#pJ>5XTSY+`RQ#kyH%+Ufvpmt`?|HA+4j4bp#Y+X ztdRWNx@ziNAZ(iFbJznpnFoRj@8CCJ&oM0d_l?m&`JbNj8%bN9z~huJ2N6?D7Vu8x zCn6d<0cKU^dG zL{`){d*P(4w^l*vQYbfRv4RB>ei+@x8Yj5DE+~0QuJ`3+wr@O*z@91Q;r$e|zph8W*#6(_6T!L``5Rq3@#i+vxqappm`v){rw%1C!u$Ha5{ ziB=+o%q^aA#R(qH`Fk1)ME-ZfQGje*DTY6AFwn3U#+M?GoTs5M#kNR>9f`uLL*_T) zOTgshq)%Ab9Uz4;#})S|0-*FS>}s+RZw literal 0 HcmV?d00001 diff --git a/static/lapp512.ico b/static/lapp512.ico new file mode 100644 index 0000000000000000000000000000000000000000..dbe22a81209d8764e819c87301393e3d2676d0b6 GIT binary patch literal 3987 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 literal 0 HcmV?d00001 diff --git a/static/lapp512.png b/static/lapp512.png new file mode 100644 index 0000000000000000000000000000000000000000..c1aa5de481350e9ceae04f77a7babb1b38e70daa GIT binary patch literal 3945 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 E2dEVL9smFU literal 0 HcmV?d00001 diff --git a/static/manifest.json b/static/manifest.json new file mode 100644 index 0000000..7a32d46 --- /dev/null +++ b/static/manifest.json @@ -0,0 +1,26 @@ +{ + "name": "List App", + "short_name": "L@pp", + "start_url": "/", + "display": "standalone", // Or "minimal-ui" for a more browser-like feel on iOS + "background_color": "#ffffff", + "theme_color": "#000000", + "icons": [ + { + "src": "/static/lapp192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "/static/lapp512.png", + "sizes": "512x512", + "type": "image/png" + }, + { + "src": "/static/lapp1024.png", + "sizes": "1024x1024", + "type": "image/png", + "purpose": "maskable" // Good for modern iOS devices + } + ] +} \ No newline at end of file diff --git a/templates/base.html b/templates/base.html index b7d467a..fca7d74 100644 --- a/templates/base.html +++ b/templates/base.html @@ -6,6 +6,7 @@ {{ title or "L@PP" }} +