From 1ba62ada737a02ee8b67ec3c60558631f5817304 Mon Sep 17 00:00:00 2001 From: a-ill Date: Mon, 26 Jun 2023 19:26:50 +0300 Subject: [PATCH] Update --- .../app/svelte/src/manifesto-component.svelte | 55 ++++++++++++++----- .../js/components/manifesto-component.js | 2 +- 2 files changed, 43 insertions(+), 14 deletions(-) diff --git a/Server/app/svelte/src/manifesto-component.svelte b/Server/app/svelte/src/manifesto-component.svelte index d2fd6a5..efa9bc9 100644 --- a/Server/app/svelte/src/manifesto-component.svelte +++ b/Server/app/svelte/src/manifesto-component.svelte @@ -21,6 +21,8 @@ let contentTable let lastTop = 0 let margin = 0 + let root + let main const htmlDelims = ["ul","ol"] getData("/assets/manifesto.txt",function(response) { @@ -98,29 +100,50 @@ } addEventListener("scroll", (event) => { + if (window.innerWidth>1080) { let top = px2rem(window.scrollY) - if (top>lastTop || top<5) { - if (contentTable.offsetHeight < window.innerHeight) { - margin = -Math.min(px2rem(window.scrollY),5) + let textBottom = px2rem(root.getBoundingClientRect().bottom + window.scrollY) + let tableBottom = px2rem(contentTable.getBoundingClientRect().bottom + window.scrollY) + if ((top>lastTop && top<5) || (top= (textBottom - 1.5)) { + margin = margin - (tableBottom - (textBottom - 1.5)) + } + else { + if (margin>-5) { + margin = -5 } - else { + if (top<5 && top!=0) { let dif = px2rem(contentTable.offsetHeight - window.innerHeight) margin = -Math.min(px2rem(window.scrollY),5 + dif + 2.5) } - contentTable.style.marginTop = margin + "rem" - } - else { - if (contentTable.offsetHeight> window.innerHeight) { - if (margin<-5) { + else if (top window.innerHeight) { + let dif = px2rem(contentTable.offsetHeight) - px2rem(window.innerHeight) + if (margin > -(dif+8)) { + margin = margin + (lastTop-top) + } + else { + margin = -(dif+8) + } } } } + contentTable.style.marginTop = margin + "rem" lastTop = px2rem(window.scrollY) + } + else { + contentTable.style.marginTop = "0rem" + } }) onMount(() => { @@ -133,7 +156,7 @@ }) -
+
{#key key}
@@ -161,7 +184,7 @@ {/each}
-
+
{#each manifesto as line} {#if line!==""} {#if typeof (line === 'object') && (Object.keys(line)[0]=="ul")} @@ -193,6 +216,8 @@ {@html line}

{/if} + {:else if false} + {/if} {/each}
@@ -204,6 +229,10 @@ ",e(this,{target:this.shadowRoot,props:n(this.attributes),customElement:!0},G,q,l,{},null,[-1,-1]),t&&t.target&&i(t.target,this,t.anchor)}}customElements.define("manifesto-component",J);export{J as default}; +import{S as t,i as e,a as n,b as i,s as l,e as o,n as r,d as s,g as a,h as c,o as d,t as m,c as u,f,m as h,p as g,j as p,r as w,w as b,x,H as y}from"./index-95aedb1a.js";import{getData as v}from"../../../../../../../../../js/libraries/serverTools.js";import{px2rem as k}from"../../../../../../../../../js/libraries/miscTools.js";function H(t,e,n){const i=t.slice();return i[28]=e[n],i[29]=e,i[30]=n,i}function T(t,e,n){const i=t.slice();return i[31]=e[n],i}function L(t,e,n){const i=t.slice();return i[31]=e[n],i}function j(t,e,n){const i=t.slice();return i[36]=e[n],i[37]=e,i[38]=n,i}function I(t,e,n){const i=t.slice();return i[39]=e[n],i[40]=e,i[41]=n,i}function Y(t){let e,n,l,r,d,f,h=t[36].name+"",p=t[36];const w=()=>t[17](n,p),b=()=>t[17](null,p);function x(){return t[18](t[36])}return{c(){e=o("div"),n=o("button"),l=m(h),r=u(),s(n,"class","level0 heading-button"),s(e,"class","heading-button-wrapper")},m(t,o){i(t,e,o),a(e,n),a(n,l),w(),a(e,r),d||(f=g(n,"click",x),d=!0)},p(e,n){p!==(t=e)[36]&&(b(),p=t[36],w())},d(t){t&&c(e),b(),d=!1,f()}}}function M(t){let e,n=t[36],l=[];for(let e=0;et[15](n,p),b=()=>t[15](null,p);function x(){return t[16](t[39])}return{c(){e=o("div"),n=o("button"),l=m(h),r=u(),s(n,"class","level1 heading-button"),s(e,"class","heading-button-wrapper")},m(t,o){i(t,e,o),a(e,n),a(n,l),w(),a(e,r),d||(f=g(n,"click",x),d=!0)},p(e,n){p!==(t=e)[39]&&(b(),p=t[39],w())},d(t){t&&c(e),b(),d=!1,f()}}}function A(t){let e;let n=function(t,e){return Array.isArray(t[36])?M:Y}(t),l=n(t);return{c(){l.c(),e=b()},m(t,n){l.m(t,n),i(t,e,n)},p(t,e){l.p(t,e)},d(t){l.d(t),t&&c(e)}}}function C(t){let e;let n=function(t,e){return t[28],"ul"==Object.keys(t[28])[0]?B:(t[28],"ol"==Object.keys(t[28])[0]?R:(t[28],"h3"==t[28].type?O:(t[28],"h2"==t[28].type?V:"#"==t[28][0]?S:E)))}(t),l=n(t);return{c(){l.c(),e=b()},m(t,n){l.m(t,n),i(t,e,n)},p(t,e){l.p(t,e)},d(t){l.d(t),t&&c(e)}}}function E(t){let e,n,l,d=t[28]+"";return{c(){e=o("p"),n=new y(!1),l=u(),n.a=l,s(e,"class","margin-end")},m(t,o){i(t,e,o),n.m(d,e),a(e,l)},p:r,d(t){t&&c(e)}}}function S(t){let e,n=t[28].slice(2,t[28].length)+"";return{c(){e=o("h1")},m(t,l){i(t,e,l),e.innerHTML=n},p:r,d(t){t&&c(e)}}}function V(t){let e,n,l,r,d,m=t[28].line+"",f=t[28];const p=()=>t[22](n,f),w=()=>t[22](null,f);return{c(){e=o("button"),n=o("h2"),l=u(),s(n,"id",t[28].id),h(e,"display","block"),h(e,"width","100%")},m(o,s){i(o,e,s),a(e,n),n.innerHTML=m,p(),a(e,l),r||(d=g(e,"click",(function(){x(t[6].scrollIntoView({block:"start"},!0))&&t[6].scrollIntoView({block:"start"},!0).apply(this,arguments)})),r=!0)},p(e,n){f!==(t=e)[28]&&(w(),f=t[28],p())},d(t){t&&c(e),w(),r=!1,d()}}}function O(t){let e,n,l,r,d,m=t[28].line+"",f=t[28];const p=()=>t[21](n,f),w=()=>t[21](null,f);return{c(){e=o("button"),n=o("h3"),l=u(),s(n,"id",t[28].id),h(e,"display","block"),h(e,"width","100%")},m(o,s){i(o,e,s),a(e,n),n.innerHTML=m,p(),a(e,l),r||(d=g(e,"click",(function(){x(t[6].scrollIntoView({block:"start"},!0))&&t[6].scrollIntoView({block:"start"},!0).apply(this,arguments)})),r=!0)},p(e,n){f!==(t=e)[28]&&(w(),f=t[28],p())},d(t){t&&c(e),w(),r=!1,d()}}}function R(t){let e,n,l=t[28].ol,r=[];for(let e=0;en.includes("<"+t+">"))).findIndex((t=>t));if(-1!=i){let e=b[i],o={};o[e]=[];let r="";for(;;){if(t+=1,n=l[t],n.includes(r)){m.push(o);break}o[e].push(n)}}else if("###"==n.slice(0,3)){let t=n.slice(4,n.length),i=t.toLowerCase().trim().replaceAll(" ","-");e.push({id:i,name:t,index:o}),o+=1,m.push({type:"h3",id:i,line:t,index:o})}else if("##"==n.slice(0,2)){let t=n.slice(3,n.length),i=t.toLowerCase().trim().replaceAll(" ","-");h.push({id:t.toLowerCase().trim().replaceAll(" ","-"),name:t,index:o}),o+=1,e=[],h.push(e),m.push({type:"h2",id:i,line:t,index:o})}else m.push(n)}n(0,i+=1)})),addEventListener("scroll",(t=>{if(window.innerWidth>1080){let t=k(window.scrollY),e=k(a.getBoundingClientRect().bottom+window.scrollY),i=k(s.getBoundingClientRect().bottom+window.scrollY);if(t>g&&t<5||t=e-1.5)p-=i-(e-1.5);else if(p>-5&&(p=-5),t<5&&0!=t){let t=k(s.offsetHeight-window.innerHeight);p=-Math.min(k(window.scrollY),5+t+2.5)}else if(twindow.innerHeight){let e=k(s.offsetHeight)-k(window.innerHeight);p>-(e+8)?p+=g-t:p=-(e+8)}n(6,s.style.marginTop=p+"rem",s),g=k(window.scrollY)}else n(6,s.style.marginTop="0rem",s)})),d((()=>{let t=localStorage.getItem("manifesto-hide-content");null!=t&&null!=t&&"true"==t&&D(o,r)}));return[i,l,o,r,u,f,s,a,c,m,h,x,function(t){w[t?"unshift":"push"]((()=>{o=t,n(2,o)}))},function(t){w[t?"unshift":"push"]((()=>{l=t,n(1,l)}))},()=>D(o,r),function(t,e){w[t?"unshift":"push"]((()=>{u[e.index]=t,n(4,u)}))},t=>x(t.id),function(t,e){w[t?"unshift":"push"]((()=>{u[e.index]=t,n(4,u)}))},t=>x(t.id),function(t){w[t?"unshift":"push"]((()=>{r=t,n(3,r)}))},function(t){w[t?"unshift":"push"]((()=>{s=t,n(6,s)}))},function(t,e){w[t?"unshift":"push"]((()=>{f[e.id]=t,n(5,f)}))},function(t,e){w[t?"unshift":"push"]((()=>{f[e.id]=t,n(5,f)}))},function(t){w[t?"unshift":"push"]((()=>{c=t,n(8,c)}))},function(t){w[t?"unshift":"push"]((()=>{a=t,n(7,a)}))}]}class J extends t{constructor(t){super(),this.shadowRoot.innerHTML="",e(this,{target:this.shadowRoot,props:n(this.attributes),customElement:!0},G,q,l,{},null,[-1,-1]),t&&t.target&&i(t.target,this,t.anchor)}}customElements.define("manifesto-component",J);export{J as default};