Repository navigation
Expand file tree
/
Copy pathabout-app.js
More file actions
1 lines (1 loc) · 5.22 KB
/
Copy pathabout-app.js
File metadata and controls
1 lines (1 loc) · 5.22 KB
1
(()=>{const{useState:g,useEffect:b,useRef:h}=React,r=window.ABOUT_COPY,u=window.COPY,p="index.html",s=(e,t)=>e&&e[t]||e&&e.en||"";function l(e){return typeof e!="string"||e.indexOf("[")===-1&&e.indexOf("]")===-1?e:e.split(/(\[|\])/g).map((t,n)=>t==="["||t==="]"?React.createElement("span",{key:n,className:"brk"},t):t===""?null:React.createElement("span",{key:n,className:"brk-inner"},t))}function d(){const e=h(null),[t,n]=g(!1);return b(()=>{const o=e.current;if(!o)return;let a=null,c=!1;const v=()=>{c||(c=!0,n(!0),a&&a.disconnect(),clearInterval(f),removeEventListener("scroll",i))},i=()=>{const m=o.getBoundingClientRect(),k=window.innerHeight||0;m.height>0&&m.top<k*.92&&v()},f=setInterval(i,200);try{a=new IntersectionObserver(([m])=>{m.isIntersecting&&v()},{rootMargin:"-8% 0px",threshold:.05}),a.observe(o)}catch{}return addEventListener("scroll",i,{passive:!0}),i(),()=>{a&&a.disconnect(),clearInterval(f),removeEventListener("scroll",i)}},[]),[e,t]}function R({locale:e,setLocale:t}){return React.createElement("header",{className:"topnav"},React.createElement("a",{href:p,className:"brandmark","aria-label":"Mount Rocks home"},React.createElement("img",{src:window.MOUNT_LOGO_SRC||"assets/Mount_logo.svg",alt:"Mount Rocks"})),React.createElement("div",{className:"nav-right"},React.createElement("div",{className:"lang-pill glass-panel",role:"group","aria-label":"Language"},React.createElement("button",{"data-active":e==="en",onClick:()=>t("en")},"EN"),React.createElement("span",{className:"lang-sep"},"/"),React.createElement("button",{"data-active":e==="uk",onClick:()=>t("uk")},"UK")),React.createElement("a",{className:"menu-pill glass-panel sv-back",href:p},React.createElement("span",null,"\u2190"),React.createElement("span",null,s(r.back,e)))))}function N({block:e,locale:t}){const[n,o]=d(),a=l(s(e.note,t));return React.createElement("div",{ref:n,className:`ltr-row ltr-r ${o?"on":""}`},e.noteHref?React.createElement("a",{className:"ltr-note mono",href:e.noteHref},a):React.createElement("span",{className:"ltr-note mono"},a),React.createElement("p",{className:"ltr-p"},s(e.p,t)))}function w({locale:e}){const[t,n]=d();return React.createElement("blockquote",{ref:t,className:`ltr-pull ltr-r ${n?"on":""}`},l(s(u.studioQuote,e)))}function y({locale:e}){const[t,n]=d();return React.createElement("div",{ref:t,className:`ltr-sig ltr-r ${n?"on":""}`},React.createElement("span",{className:"ltr-sig-name"},s(r.sigName,e)),React.createElement("span",{className:"ltr-sig-city mono"},s(r.sigCity,e)))}function O({locale:e}){const[t,n]=d();return React.createElement("div",{ref:t,className:`ltr-strip ltr-r ${n?"on":""}`},React.createElement("span",{className:"ltr-strip-label mono"},l(s(r.benchTag,e))),React.createElement("div",{className:"ltr-roles mono"},r.benchRoles.map((o,a)=>React.createElement("span",{key:a},l(o)))))}function A({locale:e}){const[t,n]=d();return React.createElement("div",{ref:t,className:`ltr-strip ltr-r ${n?"on":""}`},React.createElement("span",{className:"ltr-strip-label mono"},l(s(r.coordTag,e))),React.createElement("div",{style:{display:"grid",gap:"26px"}},React.createElement("div",{className:"ltr-coords mono"},r.coords.map((o,a)=>React.createElement("div",{key:a},React.createElement("span",{className:"dim"},l(o.k)),React.createElement("span",null,s(o.v,e))))),React.createElement("div",{className:"ltr-creds mono"},r.creds.map((o,a)=>React.createElement("span",{key:a},l(o))))))}function C({locale:e}){const t=s(u.ctaMail,e);return React.createElement("section",{className:"sv-cta","data-screen-label":"About \u2014 contact"},React.createElement("h2",{className:"sv-cta-headline"},s(u.ctaHeadline1,e)," ",s(u.ctaHeadline2,e)),React.createElement("a",{href:`mailto:${t}`,className:"cta-button glass-panel"},React.createElement("span",null,s(u.ctaButton,e)),React.createElement("i",{className:"cta-button-glow"})),React.createElement("div",{className:"cta-mail mono"},t))}function L(){const[e,t]=g(()=>{try{return localStorage.getItem("mr-locale")==="uk"?"uk":"en"}catch{return"en"}}),n=a=>{t(a);try{localStorage.setItem("mr-locale",a)}catch{}};b(()=>{document.documentElement.dataset.locale=e,document.title=e==="uk"?"Mount Rocks \u2014 \u041F\u0440\u043E \u043D\u0430\u0441":"Mount Rocks \u2014 About"},[e]);const o=r.letter;return React.createElement(React.Fragment,null,React.createElement("a",{className:"skip-link",href:"#main"},s(window.COPY.skipToContent,e)),React.createElement(R,{locale:e,setLocale:n}),React.createElement("main",{id:"main",className:"ltr-wrap","data-screen-label":"About \u2014 letter"},React.createElement("div",{className:"ltr-head"},React.createElement("span",{className:"mono sv-tag"},l(s(r.tag,e))),React.createElement("h1",{className:"ltr-title"},l(s(r.title,e)))),o.slice(0,3).map((a,c)=>React.createElement(N,{key:c,block:a,locale:e})),React.createElement(w,{locale:e}),o.slice(3).map((a,c)=>React.createElement(N,{key:3+c,block:a,locale:e})),React.createElement(y,{locale:e}),React.createElement(O,{locale:e}),React.createElement(A,{locale:e})),React.createElement(C,{locale:e}),React.createElement("footer",{className:"sv-foot mono"},React.createElement("a",{href:p},"\u2190 MOUNT ROCKS"),React.createElement("span",null,"VALENCIA \xB7 EU")))}const M=ReactDOM.createRoot(document.getElementById("root"));M.render(React.createElement(L,null));})();