From b678eb89a4ab43b84fc06ec99b9fa7c29a942097 Mon Sep 17 00:00:00 2001 From: Adrian Gruntkowski Date: Sun, 10 Nov 2024 21:58:02 +0100 Subject: [PATCH] Implement basics --- img/android-chrome-192x192.png | Bin 0 -> 9795 bytes img/android-chrome-512x512.png | Bin 0 -> 32073 bytes img/apple-touch-icon.png | Bin 0 -> 9353 bytes img/favicon-16x16.png | Bin 0 -> 577 bytes img/favicon-32x32.png | Bin 0 -> 1218 bytes img/favicon.ico | Bin 0 -> 15406 bytes index.html | 55 +++++++ js/jenot.js | 260 +++++++++++++++++++++++++++++++++ site.webmanifest | 1 + style.css | 150 +++++++++++++++++++ 10 files changed, 466 insertions(+) create mode 100644 img/android-chrome-192x192.png create mode 100644 img/android-chrome-512x512.png create mode 100644 img/apple-touch-icon.png create mode 100644 img/favicon-16x16.png create mode 100644 img/favicon-32x32.png create mode 100644 img/favicon.ico create mode 100644 index.html create mode 100644 js/jenot.js create mode 100644 site.webmanifest create mode 100644 style.css diff --git a/img/android-chrome-192x192.png b/img/android-chrome-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..be0e06129548d0e8b8b5ca98904e13e043cb7c2e GIT binary patch literal 9795 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 literal 0 HcmV?d00001 diff --git a/img/android-chrome-512x512.png b/img/android-chrome-512x512.png new file mode 100644 index 0000000000000000000000000000000000000000..9484a3932d4495645f479d6155e80de16367c167 GIT binary patch literal 32073 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 g! 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

!%@ba^{~)bsx~cPh;kOE^ScGOe=THxl>otz`Ypj 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 E56kxR?*IS* literal 0 HcmV?d00001 diff --git a/img/apple-touch-icon.png b/img/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..c4cd45a402055d6f8e58719385dcee80966af540 GIT binary patch literal 9353 zcmV;4BzD`0P){tf!Fh-ZBLrO7#2FnFBkDX^p3YN2*5{1l zI1&V9i-JG`K{PBXLIhbPBC-VxOV)e4tKO;3Lde?Pw{G9=o9geoA0esb)H(k>ed^RX zr!W$a;DA96q^GA#@S)J1eJt@{OHd(*umJ}s9x?vq)(Rz8V+Xn%QQQV$)Dr$B@NWV9 zdq~1`Q!y#Z`{%T2#nD=j0CcoCZd)LbHf_B@ihUsWQy?$mn-z-^w(bd*$fT{ zK%2p38_m(9Uq4@aZ;Qvz?bvC8jJ#f6Uj9^l&8swZ`%Yasfg1cD82=cOrGfwV#>A}}NYvFt09qHjVyp2D zU^CNV`7d%X_!On2S~J&PCDYE#{Ak;;Ge7eKqn$({qfg#&`I-f(socyD0qEGmsOHt& z(!YOv=tSw1PJME5Xo6BbvF+MiGGAw$i5Nc=)mxBa$|A^2=+Cf?5DNI`}emR@G)MD10MST0R^m z=5+K21A+I0Z4^6p?#lB-aWBQnfH{+2f#4?nj{vlOp4qAgi_LJHES(6hxly2*y}XH6 zH;U)MMiD-IP82K54+v^XE8KVKI=vf30chS5w$OOYWMJ>V=n;U{!z~-NRWWLyJmmUOv?2u*8A37zJZEGr^NdP(; zQjgG_J$|2(=m-@~kjsNl)Qp;o&~yzB%YfXrBSh&jKQ*T)J@}sNq7;oP%+FihSm>z$ zwAs>*(0t6#Tzcf>WH>ZoA)q|YrNg3>0r^}2HP0wLW>YH|JvMJj`o@Nc6Mzm&Y}V+k zg85M4gpeE@9SPT*(N$K*ez1+AgU5HQB1wQy{PdmxT325>mjJX;X<4KnGc%mQlYa%x zJj6<1u40e6Q3RLX8S{gkY8!zatA@bNgsMUPB&2g?*A|13ku4%hK}L@r{d|(IT2rn#$%cqBf3cmDUZ$l+p9aOMiYPzm#24t2b(1Bl+-cE$Liu$}~`SAvEvwrIjOifx#t<`DYTLAHxLSApotF z>n6AB)~$D3!a2n+!nDt^T5~2(Z~AmhQ$xj5D|O)M@Nt#_B9zHh&s zeo6p33aIJTYp}mn=cFltgoGhja-3D3OO|EyYyMtz^x&^ipv>A+)>okk0DKCx^F6aC zr>|$!3qYGJ!xSi-=x*8JMPDF(JQQQ8x1td8H9JEcNA)rbqgns>bA3AdIfQb~^W2(vuO|)I- z&MT1Q95#1KdNq>-piPn?)6A}<_OJO9631x0Gh5ZvdzhvMn_6rXYf6fGyuKgXweNQK zq7SG4T=NeC&?W$y+03oGwwmDa2Szoena?5zJklhjpaYdQbu56o@qjsP!f?mMedF~f zJemF3qOWWB5P;UkL&L3@HzUy2Gc}NqIIJO?xv9Yw1wg&8()-cOHMQ60+vSaKnX-Dx zhubP@be#PNKsSY^F#cZUn)CbP$JX{{=pB}6=L$ddK?Em?db`I&d$-54*%$DS$XfpC zmWCE2039JwUwLIO|M|%sC!N!-{fH_*bGTEsD}8bfJr`xDxr} z`PGF{H8peT9nl~A!Nb$Qk!=kQ73cBpPE2gmXT_2a_Gq0?09q@jnrO!|O_1}%XoB#c z>WgOv;h-)Tf~HPt$!SJ#=`rs|47v1bGKRV4{0V`PYnFZ5U@hqS7%2eF0bXhjpv(Uk z@I_Drcagd-1X;V#CG;+Dz==@7B1Dl$krml+8I|fmDHh1Y!cbsQyAgRTm)r%MWU_>+m z&_=jc+2^L4Zt|897nJ5gPwT0h0U8K(x#$uU&%7U;9$AKsV!lZmMNTxcVQSj*z?Z!N zU*MrHG8ZyGv!S4H0ceB5sZr4=-ALUGaOt6L$yWlX*+!9%7_1TdVaP2)Js$7QcCA|X zTD0h2VMSx{;iN%O*tJ^~n89ZT6^)Q#HOn-0=L;|5YJM=AnjOB_DM~NSEB3>BQF`E-i~BY)KK{{_%Rkx98xBH4H^I@0!ioMrL25DFogMj- zwh-@&I`NME0GA$1=PH22+h`{V#Cg5j<2?T1Yd`;l1?L-b%{3-60q91!Q{iWJLU}H9 zc15EIN1QQD4N-br{nYB=%btpOYHgr4lF*#37UFFg`5l|6?k9c2YDSCIyX52))Ud|i5KIv1E9YT2>KB;LX; zuV}5y=}z0Ye)aB1Yi40X*Q1%ssdFqyVPZ7RjD|E4OA=t_hZ@kt%cU2gbS|hnqJUws zn!4%3-{#~L=+&~}v=KUh51G)mtMbAK>5lfrmhY&pyFwmCS)SWq}bFpGJRaH+7+SI^Cw1QAP>bu-^ z%w~?t(`*4<5olEO5(r^zB#*NrB~|AA=yoZjb8*zvs!Ojjph+j)aFB|#T}XN)H#eKr z0gk9^t})u0C7@Xds5{VV9N2mjU;`M?DLl(GXMXCg7hlTPrB@mIag?1XYOBx$W(Hn? z9P-F-H*7eoaAGtV)$9Px0*y|W$`fGcVky_0QQ@-_#V!}}P3K~zd=FHfC^kVCvzfCU zit~xho3q$)cGNU;vvk|3QFCR4-J1;;!J~SMjT;44H2bMhdY2?4t`(Y^F1oJ3npYt= z8f>;}PM93P0d@jdPF>?*!!sWKYdCExn!s&rZZ%4ebL@wDJq9~`sT=zNWxjOk#y6dd5U9}f6I^6;=vTOXj(!eTLX6w|Wmc1g z6OFDRoPIG4Xm$dKT>j??g~EvuNSg|W@saGyauk_O%`@>?$cb+3&+yZ$<4mTkBd`yO;trvzZl_ZwxFdDrr;N7|%Ud zugPhRR%n79;C3Zgp7!2blQk6^Z;}ub8pI5sD~pY@w5dPC$87@dY&8X|dV1mIS7YNOLXb8^QM}y*U^czXrFQ|;r*7za45pct(y{@aTl>GW z`UbE*-q{+^RmH|7j3^dJy61V`;xz3LLfDIred2+DyelRm^u>p)JK*I*m zMVwx!Gbb@Wvym;lUGd0;?%KC=LFNA+l~8afYyer^4BObuwV7d84K4M!>Gp>Rp?`-3 zMLudS!j+P^Ak@GhPS_|y;w|;X$L}dEI(3g-Tyu>r)s}$neqGP*SW@Q0!Y(o(N73aB z2Z+b#U)S~g3;+D#ytj4THf2>N+7ZzBnj3Fl2sZP*z*IZZZxt-C5YQ|*dwTr4ud`XE ziEYh{nhdoaAg;OT*1nYBPhb&Ft02Rkbl}ghB#nYVBh8mu+F_lx0`x7n+!9|ZJ3gg| z{>~1}ZHh+S6)&0^P}|>`X3l}6){)8r;l?ox_wr=_|&p>xubg>nn zufE~7Nx)TB;Yd9CIKb*=2WYpyZA+X~PX z8Qsp0z>e2Wd z9lmA#dgfcfhv6eQaml2J%w;Z77ELqW&l*z9GVFN(@__Zt+YD%CzJAXi5Wv@Y{ zr6pRr*sYCvXyPJtIQW^HRcwY{L0JaS%!{$7p!h1-?YsetxV1hLqft!_px(J{E6QEJ z7L}Kk>E(l!+Y^XqUL#A&pyqr6s8v9g0Q7tBWqE@BvPUo?e*vxB35YjDm#V2@qxdy! z6ibR@Vxy?u&2>0QxjSp1U(FyCI^IT zP9L&O2Xsb8R^S9G84g;R1?ng0BUfK*W>YisW8?aDcJY1yn9)k=P|~b$5xhQbTcfq9 zfS!}Fq$@$r|AwXC1NL&j3>MhPrN<6Q)=IKtRZE4dAD?p825$Z!6$vUPB!6!@@NemZ*)n$Mj4&9ZU=-E*S)Uo&lZH z&8SOG&z$wOt4=%bztKeRfn679PuKcw2kEn*u$jfsV=H@;j$U2?Zww!gB@rBOxXuM zmbqq)`KEW}ZATlwWU(J%9KM8K)t|r{Yo!G7%;M05-&d16pqagV0tb45Hk<-vUIw2! zQF8pqH#U;$()%F~eVM%~TF2yIX3(|3nzZk7*V*bGKw}&?uNPN9&&~L}rGm*2MCb&t z&XderhW?qDP0eCIHi4!#H=qduxgnvIV#f%moS(0sa?ztP4sZkXtc))@VH|t~l;3?Y zp=Iw2teKK^W}}#8R_H1CnQ1n7G@kl4H)jX%Nx0@Xe?P+pG_#l6Uvfhaipg})%GYtG zFXF?gni>vYzFG?|y$B`=K*XE^@Lh{#$3XBiAB*_Hn&|{#0s8&-SNO|(%0RfWk=?I- zA$-CbFIqBSNdmheo|>H~78jk41Q{%zc{LnqkAiC;m}VAFgg9UrfU}k^^`SBe0`c(^ zu*r&x5PhZ%TjkQrS+xSmvdnW{cAWiX5V;@Rp1b-8&w<5Qbvd9L(CVq56rT(LNC$hl zFPMRmzxdK5$uUj6XXg&|P3{JC@GzTi00sY=5 zpR@=D-H(7R_^Oq?7`)h4Qc@hu`fO?LFZucB!I&(IMw>q!qasLF*oGYRjcQjV-g260earzmF?wV=vCOI4+OdzFJ;R{w7)Y7JQDPSL%$v#w`Bf5Is%mM0`GB8 zSlNy6X<3hKAmAGBh2O7(#jo;6@*1I)O+s+3X&MDI7|BxGg_+l2f|Sk6Ux4T= zh2N~;V#|d>HmPZ;{m#^jOG$AgA2^WcA?~X%rROV{g5Mn#6HNDEI8B$%P1?O>>C)1e z_&W1rrRgIz2+*nTzweLtwn_ysKL;>wHkZW1%jGZ>41et4_Pf7GPlwfu$5tGu7tsG& zwk)Zr7^lMy{g3bp)l?h9R;zB1SbT~~_{r7e^uHIRrrJ8gHa6s;e--rtdhW-W_sWF) z6MW33WR>VAI}$x`2;M}~-9_H#hYYzhrV4vRf?HM{vtB^Y{Ak$|l7!!c*RN&5J|oRQ z4And-Rfe2pH%EF>F+O(=)C=fY^OsEmbA!b)Yjag`C(FD6fdSxoMmw+*-8cOHdz$ri z4(4$^ax>Kr=mnX72QfbyxoIsm@)3&2Q)wxE7lM|yzr)c|tTmsQ`T?D>{0kuE_Z-M! z0I3NQHlL+je-t?;9Y&{KOHWO;Rq+lEvWdwd>VS)dgSNZux^1vpgGbvGyaPC&V!8(O z-DU{(&j)w*Z{R(Mb0FH5NT@q#|LZW4ZZWHrK?9OwUX1x}SMbRp_uY3QCZ*d97gYz) zvp)Rr9O_KWgFm#<&ktM#Z|xaD3C$p0e0Wr!K6UPkNP*xcQ2hZS`EHbm^g4k0s;Fpf ziZ)4D88|GpzX%%AFKEm5r~~MkiOpi;{^@qn(daV+6vuRv6Wum%(o}bwdwCpE30d@dO^znn+H^b?gzF?ep z7cFYzkloWEYxI5qSLD4a6cvLNKm1T@Uq6914_VH@1^BQW$ZW@yCJ4v+9xYSgLzz|Q&aiFdZ z{c+|D*vO64zEbj|6i4nDHei6^;9-_DP)Pkxg63pjq)2)})=3ULXxIaNSXEE)#2^RG z0*~t9NWOL@#Pj}#*0q9q9z0@TUlxrQ)}v;Pqu^$EJG2gKpoTl|ce$On4!!p-c6*d~ zVw3}C0UAJ+h-feebmSFU)(f4F;5hlJaI|yPJnR~`cE?IT1eaclmbrDdISOCWw6uYJ zKGoSzG`ATC&I0tDg_#|RLUUjZT{Nu&;)dNtM|%z#GK5Po&uoYx0e>|sg3j$>?KpW9OkaRF;*KL z^|u1^MTP|~be@)n{qc_jB2u3q9Qs6G{v0?9(C=ns{toHfwN7HjLZk2B<4SXP))Z{LFX@9BzO5;YO=P2 zl%^N}_pS_udspT))lTEzPZO}mN2cDh5+Vmh(2+)_*}d7>Cdd5cRjxCw8uG9!fUg|d zr%yq+j8Hd)1ttFn;|vaWELhYDhzWh+P#fPYUT=?ZX%hX-;XpN@D}s`)odnZ94>q*c z6FUmUSsoqvhyF~fhxMo%QkiT9ZF+841A*NPcI-~!Myk#7(?rqslMr0uznVGNq-!9U+;XQ^oV}; z<-i$0XJokBA^&_>%Dvi`gF|reJ2S+|| z_cjr96ecHa+Pxak?`36qLIovjLBn0IaV_QWYJdB18}IYs*r~HJG7>TMzXcTy9}Y`9 zV|)}!Zw()oau0ZE#M4|kPz~tHYNFd9KtE8dVKJ#d_DJZ+Z-ENiA000C;Nkl1;WBzGlXnp! z@c^_>AueMRanhejDLyT^B##4=R+LDW5Jc|467COggYd7efa78lG@Chk+H0Y6XActm*SF2jY}XCr4;^O z2Edj<2Q%*ltMkE%J=SYp)V%*hi*R7>c|4_eme>Sp;aKdqsn*alGcsR>3vIxj zt?vPw8B1@SE?4m9*KYCd{LEVKl>b-S0}qJngw15U4dzk-ospFl_^qHcAAnLFHVXD>DQN7sJ+8PZkKX_L<8{o8 zjHTC0NSY3|YYzr))7Fa7PO6ZH(gybZUf9j1aosi(sX&~wWJOm}CU1uyE2{Iu22i4S z8Y%qc<+QZ4+OKpB)k(X{gnkO0*;NhZJs2Oyggi8SVBb~dO)6%x69*~){ZZzPibQiN zVKZJ zC@%$B7T|yi=*n6guLEY^!9L}s+J5GW>)ck}L}+Lh_?FFd%~gUKtydh*2S?t2*HH`b zOpst<4pag<^JPM@%Zc%{$5ZeAtv0=o8g&gsNYA85VrGU}nwi~i0&fg_kYGF_?ZLa( zh)tk{kz^6lSRe$Rw_w?I38-{S?E?zcHMby>X=E1KsUc{o$yHUA*9EX*R)z~caFC90 z5m*%`;X>>a0NOopcleL+t=WZ~(tejhet9gV&k+IUCV49w00$azw^2M};b%8U3VjnA zvHSTnJ!-HJqHyaOWR4&NMH}gH(6R;a^AWJo4~>ykDWA z{qBHt!W{?@e?bBHp>=D5)~+Rx?p3=Gx)6}y02dC_3+UMkKf8`96kKz(8)(%+KwklP zK?*^$o1r;P)A17J&lpg0XZ9xnvLDjbyM z^gjinSFUT-%9=riKG!YngaD7%3!|ZMt*1cbTvR(5QkTAMSCv|Mt)13IP(V{2^2Pot z;Mf+x4F5>LcOp0r^{pz@%Im-g=1er1kmB#(E@$@@P^Tgq3d<18v5nvljKJ~WX%eZC zNXZo3j(uEt^{gGJ`yN`IQKrmxJF|Q4KT0B_r<(Q6AF;*E{roP~#X_M2|KT8h_0F+MX?cTl%NeyhaaYKcxQMN^ZSVEmad0o49+L+A zPrj5(VJgQjhe$PVYG-2-k3Bs2MID2az4 z*iW*0*tHJZ&x^(A>WkN3Kdrvm>K=3VAEut>9tjgR2b$mS{u&Cb1IGYJ_SwYc3omn(a4Lg2d_Gt;yE!cN_9&;P)FO$ZQl P00000NkvXXu0mjf_!bp) literal 0 HcmV?d00001 diff --git a/img/favicon-32x32.png b/img/favicon-32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..d2397d444077bdc3232e313feb4fc80119b0dba0 GIT binary patch literal 1218 zcmV;z1U>tSP)vgiBpb9YRJSEUYCC3JMwSp0&<}jzgJEijelXE}F*Qqk z%Z!Gobqg_?$#C5g7ipOY8p^$# z=l^^D&;J~532fl2ySv+T%e?I+S)z|H!bcd}e8T(2@rYKEY?OXoUELOw^>+XLyX&0Q z+iS8i{0il?`NNZ*IaPN<0POb1EXOk#4xY(ER2*PQ9Gtl> zQDx^IJ6I8d0tetENP!#_PE-`YZntCSTd{L+QdE~U^Cg64oT$l;gYzKpMOVcD91e$B zHkb!c)199y(X$Lp^iDWBVN=E-ggNJDDgvO08&O=QD6Z+7qunH5LUCe`nh7$sZh(%C z7cFrqGVsULHJ9jIZ@sue5lU9?ARjSgA!=$at_whjn|5sWQ%WD54_}AS#JDgP-%Djx zdHr^$jLz0R*wD0Q0AahO`cD5Yo883>2BrS|972o;AH_6>pWjRQ`%xhC+ag!h~jhM+3OQmN1VX|;$@A% z;Q$O=lM=W>i7pUwP{%=yESyTG+#kRFdVxS>fJ-{CcYos`k;!4@94Yw99JOj8#T7hk zs;amCd7sU8XeIHI0QLio`xz%g#dk_}dx_IGA8;m_O1npX{c*C?E?dz7+ry2`21>qB zcd_!b(BN~|ln-T#mvrFG-oAZwl=#FvfW{r-#h zFt*8u8V6KDF;#}|hyu|MiG_IHla4rKlIijSS16FVem*+qZue#+d4$D%Ks{lpvPNltD~ zrazzj_osNNt+vvA((~z{)nw#RoGn3-6zYtk-Y#5ZUbc|a-mdn;Pp?N%zm|AE^Vd^K zuAp#QmZhd=pFBF`?Z0#{VbU-%ZPzRqHZIOJb#`{%sxUyHg;E&6C)D7v_7uJk=Viq`0yRPM!PuIUuR`P-dj7t)*UE{GiWY&2A&VfdqHsuM)Q0 z@_gHoFDosc0q_OhLXFn{WW(b|!e7A$wkm|#hdH=QNggMjuJ$9ZZiKi3aQb}UH3Q|n zNeNEk%v)8V>>(2fkN$GhIGqj&>W4iS*2@f*xEl?~HZ=|b?G gwzfn?6?Mh_2TnW9BJ6%N!2kdN07*qoM6N<$f)iFyF#rGn literal 0 HcmV?d00001 diff --git a/img/favicon.ico b/img/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..da4c60dd50211730974da2e9b89d599a1972bf94 GIT binary patch literal 15406 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 + + + + + Jenot + + + + + + + + +

+

Jenot

+ +
+ example note +
+ +
+ +
    +
  • one
  • +
  • two
  • +
+
+
+
+ + + + + + diff --git a/js/jenot.js b/js/jenot.js new file mode 100644 index 0000000..deaa16b --- /dev/null +++ b/js/jenot.js @@ -0,0 +1,260 @@ +// editable-area component + +class EditableArea extends HTMLElement { + static observedAttributes = ["readonly"]; + + constructor() { + super(); + } + + connectedCallback() { + const text = this.textContent; + this.textContent = ""; + this.displayElement = document.createElement("p", { class: "display" }); + this.inputElement = document.createElement("textarea"); + this.inputElement.value = text; + + this.appendChild(this.displayElement); + this.appendChild(this.inputElement); + + this.inputElement.addEventListener("input", () => this.#sync()); + + this.#updateReadonly(); + this.#sync(); + } + + attributeChangedCallback(name, oldValue, newValue) { + if (name === "readonly") { + this.#updateReadonly(); + } + } + + get value() { + return this.inputElement.value; + } + + set value(text) { + this.inputElement.value = text; + this.#sync(); + } + + focusStart() { + this.inputElement.focus(); + this.inputElement.selectionEnd = 0; + } + + focusEnd() { + this.inputElement.focus(); + this.inputElement.selectionStart = this.inputElement.value.length; + } + + cutTextAfterCursor() { + const cursorPos = this.inputElement.selectionStart; + const text = this.inputElement.value; + this.inputElement.value = text.slice(0, cursorPos); + + this.#sync(); + return text.slice(cursorPos); + } + + append(text) { + const cursorStartPos = this.inputElement.selectionStart; + const cursorEndPos = this.inputElement.selectionEnd; + this.inputElement.value += text; + this.inputElement.selectionStart = cursorStartPos; + this.inputElement.selectionEnd = cursorEndPos; + this.#sync(); + } + + cursorAtStart() { + return this.inputElement.selectionEnd === 0; + } + + cursorAtEnd() { + return this.inputElement.selectionStart === this.inputElement.value.length; + } + + #updateReadonly() { + if (this.inputElement) { + const readonly = ["", "true"].includes(this.attributes.readonly?.value); + this.inputElement.disabled = readonly; + } + } + + #sync() { + this.displayElement.innerHTML = render(this.inputElement.value); + this.inputElement.style.height = this.displayElement.scrollHeight + "px"; + this.inputElement.style.width = this.displayElement.scrollWidth + "px"; + } +} + +function render(text) { + return text.replace(/(?:\r\n|\r|\n)/g, "
") + "
"; +} + +customElements.define("editable-area", EditableArea); + +// task-list component + +class TaskListItem extends HTMLElement { + static observedAttributes = ["checked"]; + + constructor() { + super(); + } + + connectedCallback() { + const text = this.textContent; + this.textContent = ""; + + const template = document.querySelector("#task-list-item").content; + + Array.from(template.children).forEach((child) => { + this.appendChild(child.cloneNode(true)); + }); + + this.handleElement = this.querySelector(".handle"); + this.checkboxElement = this.querySelector(".checkbox input"); + this.contentElement = this.querySelector("editable-area"); + this.contentElement.value = text; + this.removeButton = this.querySelector(".remove button"); + + this.removeButton.addEventListener("click", (e) => { + this.dispatchEvent(new Event("removeTaskWithButton", { bubbles: true })); + e.preventDefault(); + }); + + this.contentElement.addEventListener("keydown", (e) => { + if (e.key === "Backspace" && this.contentElement.cursorAtStart()) { + this.dispatchEvent( + new CustomEvent("removeTask", { + bubbles: true, + detail: this.contentElement.cutTextAfterCursor(), + }), + ); + e.preventDefault(); + } else if (e.key === "Enter") { + const textAfterCursor = this.contentElement.cutTextAfterCursor(); + this.dispatchEvent( + new CustomEvent("addTask", { + bubbles: true, + detail: textAfterCursor, + }), + ); + e.preventDefault(); + } else if (e.key === "ArrowUp" && this.contentElement.cursorAtStart()) { + this.dispatchEvent(new Event("moveToPrevTask", { bubbles: true })); + e.preventDefault(); + } else if (e.key === "ArrowDown" && this.contentElement.cursorAtEnd()) { + this.dispatchEvent(new Event("moveToNextTask", { bubbles: true })); + e.preventDefault(); + } + }); + + this.#updateChecked(); + } + + attributeChangedCallback(name, oldValue, newValue) { + if (name === "checked") { + this.#updateChecked(); + } + } + + append(text) { + this.contentElement.append(text); + } + + get value() { + return { + content: this.contentElement.value, + checked: !!this.checkboxElement.checked, + }; + } + + focusStart() { + this.contentElement.focusStart(); + } + + focusEnd() { + this.contentElement.focusEnd(); + } + + #updateChecked() { + if (this.checkboxElement) { + const checked = ["", "true"].includes(this.attributes.checked?.value); + this.checkboxElement.checked = checked; + } + } +} + +customElements.define("task-list-item", TaskListItem); + +class TaskList extends HTMLElement { + constructor() { + super(); + } + + connectedCallback() { + this.addEventListener("removeTaskWithButton", (e) => { + const tasksCount = this.querySelectorAll("task-list-item").length; + + if (tasksCount === 1) { + const newLI = document.createElement("li"); + const newItem = document.createElement("task-list-item"); + newLI.appendChild(newItem); + this.querySelector("ul").appendChild(newLI); + newItem.focusStart(); + } + + const currentLI = e.target.parentNode; + currentLI.remove(); + }); + + this.addEventListener("removeTask", (e) => { + const textToAppend = e.detail || ""; + const currentLI = e.target.parentNode; + const previousItem = + currentLI.previousElementSibling?.querySelector("task-list-item"); + + if (previousItem) { + previousItem.focusEnd(); + previousItem.append(textToAppend); + currentLI.remove(); + } + }); + + this.addEventListener("addTask", (e) => { + const text = e.detail || ""; + const currentLI = e.target.parentNode; + + const newLI = document.createElement("li"); + const newItem = document.createElement("task-list-item"); + newItem.textContent = text; + newLI.appendChild(newItem); + currentLI.after(newLI); + newItem.focusStart(); + }); + + this.addEventListener("moveToNextTask", (e) => { + const currentLI = e.target.parentNode; + const nextItem = + currentLI.nextElementSibling?.querySelector("task-list-item"); + + if (nextItem) { + nextItem.focusStart(); + } + }); + + this.addEventListener("moveToPrevTask", (e) => { + const currentLI = e.target.parentNode; + const prevItem = + currentLI.previousElementSibling?.querySelector("task-list-item"); + + if (prevItem) { + prevItem.focusEnd(); + } + }); + } +} + +customElements.define("task-list", TaskList); diff --git a/site.webmanifest b/site.webmanifest new file mode 100644 index 0000000..8efee0f --- /dev/null +++ b/site.webmanifest @@ -0,0 +1 @@ +{"name":"","short_name":"","icons":[{"src":"/img/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/img/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"} diff --git a/style.css b/style.css new file mode 100644 index 0000000..175a0b0 --- /dev/null +++ b/style.css @@ -0,0 +1,150 @@ +/* CSS reset */ + +*, +*::before, +*::after { + box-sizing: border-box; +} + +* { + margin: 0; +} + +body { + line-height: 1.5; + -webkit-font-smoothing: antialiased; +} + +img, +picture, +video, +canvas, +svg { + display: block; + max-width: 100%; +} + +input, +button, +textarea, +select { + font: inherit; +} + +p, +h1, +h2, +h3, +h4, +h5, +h6 { + overflow-wrap: break-word; +} + +p { + text-wrap: pretty; +} +h1, +h2, +h3, +h4, +h5, +h6 { + text-wrap: balance; +} + +#root, +#__next { + isolation: isolate; +} + +/* Editable area component */ + +editable-area { + display: block; + position: relative; + font-size: inherit; + font-family: inherit; + line-height: inherit; + text-indent: inherit; + letter-spacing: inherit; + width: 100%; +} + +editable-area .display { + font-size: inherit; + font-family: inherit; + line-height: inherit; + text-indent: inherit; + letter-spacing: inherit; + padding: 0; + margin: 0; + border-width: 0; +} + +editable-area textarea { + padding: 0; + position: absolute; + top: 0; + left: 0; + -webkit-text-fill-color: transparent; + -webkit-tap-highlight-color: rgba(0,0,0,0); + -webkit-tap-highlight-color: transparent; + background: transparent; + border: none; + resize: none; + font-size: inherit; + font-family: inherit; + line-height: inherit; + text-indent: inherit; + letter-spacing: inherit; + padding: 0; + margin: 0; + border-width: 0; +} + +editable-area textarea:focus { + outline: none; +} + +/* Task list */ + +task-list ul { + wdith: 100%; + list-style-type: none; + margin: 0; + padding: 0; +} + +task-list-item { + display: flex; + gap: 6px; + align-items: baseline; + margin-bottom: 4px; +} + +task-list-item .checkbox input { + width: 1.1em; + height: 1.1em; +} + +/* Styles */ + +* { + font-family: Arial, Helvetica, sans-serif; + color: #222; +} + +div#content { + width: 270px; + max-width: 1200px; + margin: 10px auto 0 auto; +} + +.note { + max-width: 240px; + background: beige; + box-shadow: 2px 2px 4px 0px rgb(0 0 0 / 0.8); + padding: 4px 8px; + margin-bottom: 20px; +}