diff --git a/manifest.json b/manifest.json index 155594d..4e5dd04 100644 --- a/manifest.json +++ b/manifest.json @@ -1,27 +1,48 @@ { "name": "2Brew", "short_name": "2Brew", - "icons": [{ - "src": "public/icon/icon_128x128.png", + "icons": [ + { + "src": "public/icon/maskable_icon_48x48.png", + "sizes": "48x48", + "type": "image/png", + "purpose": "any maskable" + }, + { + "src": "public/icon/maskable_icon_72x72.png", + "sizes": "72x72", + "type": "image/png", + "purpose": "any maskable" + }, + { + "src": "public/icon/maskable_icon_96x96.png", + "sizes": "96x96", + "type": "image/png", + "purpose": "any maskable" + }, + { + "src": "public/icon/maskable_icon_128x128.png", "sizes": "128x128", - "type": "image/png" - }, { - "src": "public/icon/icon_144x144.png", - "sizes": "144x144", - "type": "image/png" - }, { - "src": "public/icon/icon_152x152.png", - "sizes": "152x152", - "type": "image/png" - }, { - "src": "public/icon/icon_192x192.png", + "type": "image/png", + "purpose": "any maskable" + }, + { + "src": "public/icon/maskable_icon_192x192.png", "sizes": "192x192", - "type": "image/png" + "type": "image/png", + "purpose": "any maskable" + }, + { + "src": "public/icon/maskable_icon_384x384.png", + "sizes": "384x384", + "type": "image/png", + "purpose": "any maskable" }, { - "src": "public/icon/icon_512x512.png", + "src": "public/icon/maskable_icon_512x512.png", "sizes": "512x512", - "type": "image/png" + "type": "image/png", + "purpose": "any maskable" } ], "start_url": "/", diff --git a/package-lock.json b/package-lock.json index e6319fe..cb34f54 100644 --- a/package-lock.json +++ b/package-lock.json @@ -422,9 +422,9 @@ "dev": true }, "nosleep.js": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/nosleep.js/-/nosleep.js-0.11.0.tgz", - "integrity": "sha512-Ewb7YpPJ6t1IAiMoXM5vWBMomqVFD0wUXXzUfE+kGftXxXFXqLPV3Aq6Iggxxm568tMVptrlXLw5BPMzEgOK6A==" + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/nosleep.js/-/nosleep.js-0.12.0.tgz", + "integrity": "sha512-9d1HbpKLh3sdWlhXMhU6MMH+wQzKkrgfRkYV0EBdvt99YJfj0ilCJrWRDYG2130Tm4GXbEoTCx5b34JSaP+HhA==" }, "opts": { "version": "1.2.7", diff --git a/package.json b/package.json index 57b38a9..30f22f9 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,7 @@ "svelte-spa-router": "^2.1.0" }, "dependencies": { - "nosleep.js": "^0.11.0", + "nosleep.js": "^0.12.0", "sirv-cli": "^0.4.4" } } diff --git a/public/build/bundle.css.map b/public/build/bundle.css.map index 7647b6c..176fd77 100644 --- a/public/build/bundle.css.map +++ b/public/build/bundle.css.map @@ -12,7 +12,7 @@ ], "sourcesContent": [ "\n\n
\n\t\t\n
\n\n", - "\n\n
\n \n
\n\n\n", + "\n\n
\n \n
\n\n\n", "\n\n
\n
\n ⚠️\n {#if error.response}\n {error.response.status}: {error.response.statusText}\n {:else}\n Error\n {/if}\n
\n {#if error.message}\n

\n {error.name ? error.name + ': ' : ''}{error.message}\n

\n {/if}\n
\n\n\n", "
\n
\n
\n
\n
\n\n", "\n\n\n\n\n\n
\n
\n Have your own recipe? Just propose it in\n issues!\n
\n Want to contribute?\n
\n Welcome to the repository:\n github.com/2brew/2brew.github.io.\n
\n
\n\n\n", diff --git a/public/build/bundle.js b/public/build/bundle.js index 933fcd2..ea6e453 100644 --- a/public/build/bundle.js +++ b/public/build/bundle.js @@ -1 +1 @@ -var app=function(){"use strict";function A(){}const e=A=>A;function t(A){return A()}function n(){return Object.create(null)}function r(A){A.forEach(t)}function s(A){return"function"==typeof A}function l(A,e){return A!=A?e==e:A!==e||A&&"object"==typeof A||"function"==typeof A}function i(e,...t){if(null==e)return A;const n=e.subscribe(...t);return n.unsubscribe?()=>n.unsubscribe():n}function o(A){let e;return i(A,A=>e=A)(),e}function a(A,e,t){A.$$.on_destroy.push(i(e,t))}function c(e){return e&&s(e.destroy)?e.destroy:A}const u="undefined"!=typeof window;let d=u?()=>window.performance.now():()=>Date.now(),g=u?A=>requestAnimationFrame(A):A;const p=new Set;function h(A){p.forEach(e=>{e.c(A)||(p.delete(e),e.f())}),0!==p.size&&g(h)}function f(A){let e;return 0===p.size&&g(h),{promise:new Promise(t=>{p.add(e={c:A,f:t})}),abort(){p.delete(e)}}}function m(A,e){A.appendChild(e)}function w(A,e,t){A.insertBefore(e,t||null)}function v(A){A.parentNode.removeChild(A)}function y(A,e){for(let t=0;tA.removeEventListener(e,t,n)}function x(A,e,t){null==t?A.removeAttribute(e):A.getAttribute(e)!==t&&A.setAttribute(e,t)}function M(A,e){e=""+e,A.data!==e&&(A.data=e)}function k(A,e,t,n){A.style.setProperty(e,t,n?"important":"")}function $(A,e){for(let t=0;t>>0}(c)}_${i}`,d=A.ownerDocument;z.add(d);const g=d.__svelte_stylesheet||(d.__svelte_stylesheet=d.head.appendChild(b("style")).sheet),p=d.__svelte_rules||(d.__svelte_rules={});p[u]||(p[u]=!0,g.insertRule(`@keyframes ${u} ${c}`,g.cssRules.length));const h=A.style.animation||"";return A.style.animation=`${h?h+", ":""}${u} ${n}ms linear ${r}ms 1 both`,D+=1,u}function F(A,e){const t=(A.style.animation||"").split(", "),n=t.filter(e?A=>A.indexOf(e)<0:A=>-1===A.indexOf("__svelte")),r=t.length-n.length;r&&(A.style.animation=n.join(", "),D-=r,D||g(()=>{D||(z.forEach(A=>{const e=A.__svelte_stylesheet;let t=e.cssRules.length;for(;t--;)e.deleteRule(t);A.__svelte_rules={}}),z.clear())}))}function Z(A){H=A}function N(){if(!H)throw new Error("Function called outside component initialization");return H}function S(A){N().$$.on_mount.push(A)}function V(A,e){const t=A.$$.callbacks[e.type];t&&t.slice().forEach(A=>A(e))}const P=[],R=[],_=[],j=[],T=Promise.resolve();let W=!1;function Y(A){_.push(A)}let X=!1;const J=new Set;function U(){if(!X){X=!0;do{for(let A=0;A{q=null})),q}function AA(A,e,t){A.dispatchEvent(I(`${e?"intro":"outro"}${t}`))}const eA=new Set;let tA;function nA(){tA={r:0,c:[],p:tA}}function rA(){tA.r||r(tA.c),tA=tA.p}function sA(A,e){A&&A.i&&(eA.delete(A),A.i(e))}function lA(A,e,t,n){if(A&&A.o){if(eA.has(A))return;eA.add(A),tA.c.push(()=>{eA.delete(A),n&&(t&&A.d(1),n())}),A.o(e)}}const iA={duration:0};function oA(t,n,l){let i,o=n(t,l),a=!0;const c=tA;function u(){const{delay:n=0,duration:s=300,easing:l=e,tick:u=A,css:g}=o||iA;g&&(i=G(t,1,0,s,n,l,g));const p=d()+n,h=p+s;Y(()=>AA(t,!1,"start")),f(A=>{if(a){if(A>=h)return u(0,1),AA(t,!1,"end"),--c.r||r(c.c),!1;if(A>=p){const e=l((A-p)/s);u(1-e,e)}}return a})}return c.r+=1,s(o)?K().then(()=>{o=o(),u()}):u(),{end(A){A&&o.tick&&o.tick(1,0),a&&(i&&F(t,i),a=!1)}}}function aA(t,n,l,i){let o=n(t,l),a=i?0:1,c=null,u=null,g=null;function p(){g&&F(t,g)}function h(A,e){const t=A.b-a;return e*=Math.abs(t),{a:a,b:A.b,d:t,duration:e,start:A.start,end:A.start+e,group:A.group}}function m(n){const{delay:s=0,duration:l=300,easing:i=e,tick:m=A,css:w}=o||iA,v={start:d()+s,b:n};n||(v.group=tA,tA.r+=1),c?u=v:(w&&(p(),g=G(t,a,n,l,s,i,w)),n&&m(0,1),c=h(v,l),Y(()=>AA(t,n,"start")),f(A=>{if(u&&A>u.start&&(c=h(u,l),u=null,AA(t,c.b,"start"),w&&(p(),g=G(t,a,c.b,c.duration,0,i,o.css))),c)if(A>=c.end)m(a=c.b,1-a),AA(t,c.b,"end"),u||(c.b?p():--c.group.r||r(c.group.c)),c=null;else if(A>=c.start){const e=A-c.start;a=c.a+c.d*i(e/c.duration),m(a,1-a)}return!(!c&&!u)}))}return{run(A){s(o)?K().then(()=>{o=o(),m(A)}):m(A)},end(){p(),c=u=null}}}function cA(A){A&&A.c()}function uA(A,e,n){const{fragment:l,on_mount:i,on_destroy:o,after_update:a}=A.$$;l&&l.m(e,n),Y(()=>{const e=i.map(t).filter(s);o?o.push(...e):r(e),A.$$.on_mount=[]}),a.forEach(Y)}function dA(A,e){const t=A.$$;null!==t.fragment&&(r(t.on_destroy),t.fragment&&t.fragment.d(e),t.on_destroy=t.fragment=null,t.ctx=[])}function gA(A,e){-1===A.$$.dirty[0]&&(P.push(A),W||(W=!0,T.then(U)),A.$$.dirty.fill(0)),A.$$.dirty[e/31|0]|=1<{const r=n.length?n[0]:t;return d.ctx&&i(d.ctx[A],d.ctx[A]=r)&&(d.bound[A]&&d.bound[A](r),g&&gA(e,A)),t}):[],d.update(),g=!0,r(d.before_update),d.fragment=!!l&&l(d.ctx),t.target){if(t.hydrate){const A=function(A){return Array.from(A.childNodes)}(t.target);d.fragment&&d.fragment.l(A),A.forEach(v)}else d.fragment&&d.fragment.c();t.intro&&sA(e.$$.fragment),uA(e,t.target,t.anchor),U()}Z(c)}class hA{$destroy(){dA(this,1),this.$destroy=A}$on(A,e){const t=this.$$.callbacks[A]||(this.$$.callbacks[A]=[]);return t.push(e),()=>{const A=t.indexOf(e);-1!==A&&t.splice(A,1)}}$set(){}}const fA=[];function mA(A,e){return{subscribe:wA(A,e).subscribe}}function wA(e,t=A){let n;const r=[];function s(A){if(l(e,A)&&(e=A,n)){const A=!fA.length;for(let A=0;A{const A=r.indexOf(o);-1!==A&&r.splice(A,1),0===r.length&&(n(),n=null)}}}}function vA(e,t,n){const l=!Array.isArray(e),o=l?[e]:e,a=t.length<2;return mA(n,e=>{let n=!1;const c=[];let u=0,d=A;const g=()=>{if(u)return;d();const n=t(l?c[0]:c,e);a?e(n):d=s(n)?n:A},p=o.map((A,e)=>i(A,A=>{c[e]=A,u&=~(1<{u|=1<{dA(A,1)}),rA()}n?((r=new n({})).$on("routeEvent",A[10]),cA(r.$$.fragment),sA(r.$$.fragment,1),uA(r,e.parentNode,e)):r=null}},i(A){t||(r&&sA(r.$$.fragment,A),t=!0)},o(A){r&&lA(r.$$.fragment,A),t=!1},d(A){A&&v(e),r&&dA(r,A)}}}function bA(A){let e,t;var n=A[0];function r(A){return{props:{params:A[1]}}}if(n){var s=new n(r(A));s.$on("routeEvent",A[9])}return{c(){s&&cA(s.$$.fragment),e=Q()},m(A,n){s&&uA(s,A,n),w(A,e,n),t=!0},p(A,t){const l={};if(2&t&&(l.params=A[1]),n!==(n=A[0])){if(s){nA();const A=s;lA(A.$$.fragment,1,0,()=>{dA(A,1)}),rA()}n?((s=new n(r(A))).$on("routeEvent",A[9]),cA(s.$$.fragment),sA(s.$$.fragment,1),uA(s,e.parentNode,e)):s=null}else n&&s.$set(l)},i(A){t||(s&&sA(s.$$.fragment,A),t=!0)},o(A){s&&lA(s.$$.fragment,A),t=!1},d(A){A&&v(e),s&&dA(s,A)}}}function CA(A){let e,t,n,r;const s=[bA,yA],l=[];function i(A,e){return A[1]?0:1}return e=i(A),t=l[e]=s[e](A),{c(){t.c(),n=Q()},m(A,t){l[e].m(A,t),w(A,n,t),r=!0},p(A,[r]){let o=e;e=i(A),e===o?l[e].p(A,r):(nA(),lA(l[o],1,1,()=>{l[o]=null}),rA(),t=l[e],t||(t=l[e]=s[e](A),t.c()),sA(t,1),t.m(n.parentNode,n))},i(A){r||(sA(t),r=!0)},o(A){lA(t),r=!1},d(A){l[e].d(A),A&&v(n)}}}function BA(){const A=window.location.href.indexOf("#/");let e=A>-1?window.location.href.substr(A+1):"/";const t=e.indexOf("?");let n="";return t>-1&&(n=e.substr(t+1),e=e.substr(0,t)),{location:e,querystring:n}}const QA=mA(BA(),(function(A){const e=()=>{A(BA())};return window.addEventListener("hashchange",e,!1),function(){window.removeEventListener("hashchange",e,!1)}}));vA(QA,A=>A.location),vA(QA,A=>A.querystring);function EA(A){if(!A||!A.tagName||"a"!=A.tagName.toLowerCase())throw Error('Action "link" can only be used with tags');const e=A.getAttribute("href");if(!e||e.length<1||"/"!=e.charAt(0))throw Error('Invalid value for "href" attribute');A.setAttribute("href","#"+e)}function xA(e,t,n){let r,s=A;a(e,QA,A=>n(4,r=A)),e.$$.on_destroy.push(()=>s());let{routes:l={}}=t,{prefix:i=""}=t;class o{constructor(A,e){if(!e||"function"!=typeof e&&("object"!=typeof e||!0!==e._sveltesparouter))throw Error("Invalid component object");if(!A||"string"==typeof A&&(A.length<1||"/"!=A.charAt(0)&&"*"!=A.charAt(0))||"object"==typeof A&&!(A instanceof RegExp))throw Error('Invalid value for "path" argument');const{pattern:t,keys:n}=function(A,e){if(A instanceof RegExp)return{keys:!1,pattern:A};var t,n,r,s,l=[],i="",o=A.split("/");for(o[0]||o.shift();r=o.shift();)"*"===(t=r[0])?(l.push("wild"),i+="/(.*)"):":"===t?(n=r.indexOf("?",1),s=r.indexOf(".",1),l.push(r.substring(1,~n?n:~s?s:r.length)),i+=~n&&!~s?"(?:/([^/]+?))?":"/([^/]+?)",~s&&(i+=(~n?"?":"")+"\\"+r.substring(s))):i+="/"+r;return{keys:l,pattern:new RegExp("^"+i+(e?"(?=$|/)":"/?$"),"i")}}(A);this.path=A,"object"==typeof e&&!0===e._sveltesparouter?(this.component=e.route,this.conditions=e.conditions||[],this.userData=e.userData):(this.component=e,this.conditions=[],this.userData=void 0),this._pattern=t,this._keys=n}match(A){i&&A.startsWith(i)&&(A=A.substr(i.length)||"/");const e=this._pattern.exec(A);if(null===e)return null;if(!1===this._keys)return e;const t={};let n=0;for(;n{c.push(new o(e,A))}):Object.keys(l).forEach(A=>{c.push(new o(A,l[A]))});let u=null,d=null;const g=function(){const A=N();return(e,t)=>{const n=A.$$.callbacks[e];if(n){const r=I(e,t);n.slice().forEach(e=>{e.call(A,r)})}}}(),p=(A,e)=>{setTimeout(()=>{g(A,e)},0)};return e.$set=A=>{"routes"in A&&n(2,l=A.routes),"prefix"in A&&n(3,i=A.prefix)},e.$$.update=()=>{if(17&e.$$.dirty){n(0,u=null);let A=0;for(;!u&&A{A.split(/\[([^}]+)\]/g).forEach(A=>{A.length>0&&e.push(A)})}),e}(e);let n=A;for(let A=0;A\n \n \n \n \n \n \n \n';case"moka":return'\n \n \n \n \n \n \n \n \n \n \n';case"aeropress":return'\n \n \n \n \n \n \n \n \n \n \n';case"frenchPress":return'\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n'}}function ZA(A){switch(A){case"invert":return'\n \n';case"lid":return'\n \n \n \n \n \n \n \n';case"place":return'\n \n \n \n \n \n';case"pour":return'\n \n \n \n';case"stir":return'\n \n \n \n \n \n';case"wait":return'\n \n \n \n \n \n';case"press":return'\n \n \n \n \n \n \n \n';case"heat":case"cool":case"brew":return'\n \n \n \n \n';case"add":return HA;case"swirl":return'\n \n';case"bloom":return'\n \n \n \n \n';default:return HA}}function NA(A,e){return Number.isInteger(A)?zA(e,"grind",DA)[A-1]:zA(e,"grind",DA)[5]}function SA(A,e,t){const n=A.slice();return n[6]=e[t],n}function VA(A,e,t){const n=A.slice();return n[9]=e[t],n}function PA(A){let e,t,n,r,s,l,i,o,a,c=A[9].icon+"",u=zA(A[1],A[9].name)+"";return{c(){e=b("div"),t=b("a"),n=b("div"),r=B(),s=b("div"),l=C(u),a=B(),x(n,"class","system-icon svelte-tkow9t"),x(s,"class","system-name svelte-tkow9t"),x(t,"class","system-button bh svelte-tkow9t"),x(t,"href",i="#/"+A[9].url),x(t,"title",o=zA(A[1],A[9].name)),x(e,"class","item svelte-tkow9t")},m(A,i){w(A,e,i),m(e,t),m(t,n),n.innerHTML=c,m(t,r),m(t,s),m(s,l),m(e,a)},p(A,e){2&e&&u!==(u=zA(A[1],A[9].name)+"")&&M(l,u),2&e&&o!==(o=zA(A[1],A[9].name))&&x(t,"title",o)},d(A){A&&v(e)}}}function RA(e){let t,n,r,s=e[6]+"";return{c(){t=b("option"),n=C(s),t.__value=r=e[6],t.value=t.__value},m(A,e){w(A,t,e),m(t,n)},p:A,d(A){A&&v(t)}}}function _A(e){let t,n,s,l,i,o,a,c=e[2],u=[];for(let A=0;A\n Have your own recipe? Just propose it in\n issues!\n
\n Want to contribute?\n
\n Welcome to the repository:\n github.com/2brew/2brew.github.io.\n ',i=B(),o=b("select");for(let A=0;Ae[5].call(o))},m(A,c,d){w(A,t,c),m(t,n);for(let A=0;At(1,n=A));const r=[{name:"system.aeropress",url:"aeropress",icon:FA("aeropress")},{name:"system.v60",url:"v_60",icon:FA("v_60")},{name:"system.moka",url:"moka",icon:FA("moka")},{name:"system.frenchPress",url:"frenchPress",icon:FA("frenchPress")}],s=$A;let l=n.language;return[l,n,r,s,function(){!function(A="en"){-1!==$A.indexOf(A)&&(localStorage.setItem("lang",A),IA.set({tt:kA[A],language:A}))}(l)},function(){l=function(A){const e=A.querySelector(":checked")||A.options[0];return e&&e.__value}(this),t(0,l),t(3,s)}]}function TA(e){let t;return{c(){t=C("Error")},m(A,e){w(A,t,e)},p:A,d(A){A&&v(t)}}}function WA(A){let e,t,n,r=A[0].response.status+"",s=A[0].response.statusText+"";return{c(){e=C(r),t=C(": "),n=C(s)},m(A,r){w(A,e,r),w(A,t,r),w(A,n,r)},p(A,t){1&t&&r!==(r=A[0].response.status+"")&&M(e,r),1&t&&s!==(s=A[0].response.statusText+"")&&M(n,s)},d(A){A&&v(e),A&&v(t),A&&v(n)}}}function YA(A){let e,t,n,r=A[0].name?A[0].name+": ":"",s=A[0].message+"";return{c(){e=b("p"),t=C(r),n=C(s),x(e,"class","info svelte-bagxe1")},m(A,r){w(A,e,r),m(e,t),m(e,n)},p(A,e){1&e&&r!==(r=A[0].name?A[0].name+": ":"")&&M(t,r),1&e&&s!==(s=A[0].message+"")&&M(n,s)},d(A){A&&v(e)}}}function XA(e){let t,n,r,s;function l(A,e){return A[0].response?WA:TA}let i=l(e),o=i(e),a=e[0].message&&YA(e);return{c(){t=b("div"),n=b("div"),r=C("⚠️\n "),o.c(),s=B(),a&&a.c(),x(n,"class","heading svelte-bagxe1"),x(t,"class","error svelte-bagxe1")},m(A,e){w(A,t,e),m(t,n),m(n,r),o.m(n,null),m(t,s),a&&a.m(t,null)},p(A,[e]){i===(i=l(A))&&o?o.p(A,e):(o.d(1),o=i(A),o&&(o.c(),o.m(n,null))),A[0].message?a?a.p(A,e):(a=YA(A),a.c(),a.m(t,null)):a&&(a.d(1),a=null)},i:A,o:A,d(A){A&&v(t),o.d(),a&&a.d()}}}function JA(A,e,t){let{error:n}=e;return S(()=>console.error(n)),A.$set=A=>{"error"in A&&t(0,n=A.error)},[n]}class UA extends hA{constructor(A){super(),pA(this,A,JA,XA,l,{error:0})}}function OA(e){let t,n,r,s,l;return{c(){t=b("div"),n=b("a"),r=C("❮"),x(n,"class","back-button bh svelte-11d0r1b"),x(n,"href",e[0]),L(n,"no-margin",e[1]),x(t,"class","back svelte-11d0r1b")},m(A,e,i){w(A,t,e),m(t,n),m(n,r),i&&l(),l=c(s=EA.call(null,n))},p(A,[e]){1&e&&x(n,"href",A[0]),2&e&&L(n,"no-margin",A[1])},i:A,o:A,d(A){A&&v(t),l()}}}function qA(A,e,t){let{href:n}=e,{nomargin:r}=e;return A.$set=A=>{"href"in A&&t(0,n=A.href),"nomargin"in A&&t(1,r=A.nomargin)},[n,r]}class KA extends hA{constructor(A){super(),pA(this,A,qA,OA,l,{href:0,nomargin:1})}}function Ae(e){let t;return{c(){t=b("div"),t.innerHTML='
\n
\n
',x(t,"class","spinner svelte-p3awft")},m(A,e){w(A,t,e)},p:A,i:A,o:A,d(A){A&&v(t)}}}class ee extends hA{constructor(A){super(),pA(this,A,null,Ae,l,{})}}async function te(A,e={},{set:t},n){t({[n]:null,error:null,isFetching:!0});const r=await async function(A,e={}){try{const t=await window.fetch(A,{headers:{"Content-Type":"application/json"},...e}),n=await t.json();return t.ok?{data:n}:{error:{...n,response:t}}}catch(A){return{error:A}}}(A,e);return r.error?t({[n]:null,error:r.error,isFetching:!1}):t({[n]:r.data,error:null,isFetching:!1}),r}const ne=wA({aeropress:null,v_60:null,moka:null,error:null,isFetching:!0}),re=(A,e)=>{const t=o(ne);return!e&&t[A]?Promise.resolve():te(`/public/${A}.json`,{},ne,A)};var se='\n \n \n \n \n \n',le='\n \n \n \n \n',ie='\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n';function oe(A,e,t){const n=A.slice();return n[3]=e[t],n}function ae(e){let t,n=e[1][e[0].type],r=[];for(let A=0;A{o[s]=null}),rA(),n=o[t],n||(n=o[t]=i[t](A),n.c()),sA(n,1),n.m(r.parentNode,r))},i(A){s||(sA(l.$$.fragment,A),sA(n),s=!0)},o(A){lA(l.$$.fragment,A),lA(n),s=!1},d(A){dA(l,A),A&&v(e),o[t].d(A),A&&v(r)}}}function pe(A,e,t){let n,r;a(A,ne,A=>t(1,n=A)),a(A,IA,A=>t(2,r=A));let{params:s={}}=e;return A.$set=A=>{"params"in A&&t(0,s=A.params)},A.$$.update=()=>{1&A.$$.dirty&&re(s.type)},[s,n,r]}function he(A){const e=A-1;return e*e*e+1}function fe(A,{delay:t=0,duration:n=400,easing:r=e}){const s=+getComputedStyle(A).opacity;return{delay:t,duration:n,easing:r,css:A=>"opacity: "+A*s}}function me(A,{delay:e=0,duration:t=400,easing:n=he,start:r=0,opacity:s=0}){const l=getComputedStyle(A),i=+l.opacity,o="none"===l.transform?"":l.transform,a=1-r,c=i*(1-s);return{delay:e,duration:t,easing:n,css:(A,e)=>`\n\t\t\ttransform: ${o} scale(${1-a*e});\n\t\t\topacity: ${i-c*e}\n\t\t`}}const{webm:we,mp4:ve}={webm:"data:video/webm;base64,GkXfo0AgQoaBAUL3gQFC8oEEQvOBCEKCQAR3ZWJtQoeBAkKFgQIYU4BnQI0VSalmQCgq17FAAw9CQE2AQAZ3aGFtbXlXQUAGd2hhbW15RIlACECPQAAAAAAAFlSua0AxrkAu14EBY8WBAZyBACK1nEADdW5khkAFVl9WUDglhohAA1ZQOIOBAeBABrCBCLqBCB9DtnVAIueBAKNAHIEAAIAwAQCdASoIAAgAAUAmJaQAA3AA/vz0AAA=",mp4:"data:video/mp4;base64,AAAAIGZ0eXBtcDQyAAACAGlzb21pc28yYXZjMW1wNDEAAAAIZnJlZQAACKBtZGF0AAAC8wYF///v3EXpvebZSLeWLNgg2SPu73gyNjQgLSBjb3JlIDE0MiByMjQ3OSBkZDc5YTYxIC0gSC4yNjQvTVBFRy00IEFWQyBjb2RlYyAtIENvcHlsZWZ0IDIwMDMtMjAxNCAtIGh0dHA6Ly93d3cudmlkZW9sYW4ub3JnL3gyNjQuaHRtbCAtIG9wdGlvbnM6IGNhYmFjPTEgcmVmPTEgZGVibG9jaz0xOjA6MCBhbmFseXNlPTB4MToweDExMSBtZT1oZXggc3VibWU9MiBwc3k9MSBwc3lfcmQ9MS4wMDowLjAwIG1peGVkX3JlZj0wIG1lX3JhbmdlPTE2IGNocm9tYV9tZT0xIHRyZWxsaXM9MCA4eDhkY3Q9MCBjcW09MCBkZWFkem9uZT0yMSwxMSBmYXN0X3Bza2lwPTEgY2hyb21hX3FwX29mZnNldD0wIHRocmVhZHM9NiBsb29rYWhlYWRfdGhyZWFkcz0xIHNsaWNlZF90aHJlYWRzPTAgbnI9MCBkZWNpbWF0ZT0xIGludGVybGFjZWQ9MCBibHVyYXlfY29tcGF0PTAgY29uc3RyYWluZWRfaW50cmE9MCBiZnJhbWVzPTMgYl9weXJhbWlkPTIgYl9hZGFwdD0xIGJfYmlhcz0wIGRpcmVjdD0xIHdlaWdodGI9MSBvcGVuX2dvcD0wIHdlaWdodHA9MSBrZXlpbnQ9MzAwIGtleWludF9taW49MzAgc2NlbmVjdXQ9NDAgaW50cmFfcmVmcmVzaD0wIHJjX2xvb2thaGVhZD0xMCByYz1jcmYgbWJ0cmVlPTEgY3JmPTIwLjAgcWNvbXA9MC42MCBxcG1pbj0wIHFwbWF4PTY5IHFwc3RlcD00IHZidl9tYXhyYXRlPTIwMDAwIHZidl9idWZzaXplPTI1MDAwIGNyZl9tYXg9MC4wIG5hbF9ocmQ9bm9uZSBmaWxsZXI9MCBpcF9yYXRpbz0xLjQwIGFxPTE6MS4wMACAAAAAOWWIhAA3//p+C7v8tDDSTjf97w55i3SbRPO4ZY+hkjD5hbkAkL3zpJ6h/LR1CAABzgB1kqqzUorlhQAAAAxBmiQYhn/+qZYADLgAAAAJQZ5CQhX/AAj5IQAD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"},ye="undefined"!=typeof navigator&&parseFloat((""+(/CPU.*OS ([0-9_]{3,4})[0-9_]{0,1}|(CPU like).*AppleWebKit.*Mobile/i.exec(navigator.userAgent)||[0,""])[1]).replace("undefined","3_2").replace("_",".").replace("_",""))<10&&!window.MSStream,be="wakeLock"in navigator;const Ce=new class{constructor(){if(be){this._wakeLock=null;const A=()=>{null!==this._wakeLock&&"visible"===document.visibilityState&&this.enable()};document.addEventListener("visibilitychange",A),document.addEventListener("fullscreenchange",A)}else ye?this.noSleepTimer=null:(this.noSleepVideo=document.createElement("video"),this.noSleepVideo.setAttribute("title","No Sleep"),this.noSleepVideo.setAttribute("playsinline",""),this._addSourceToVideo(this.noSleepVideo,"webm",we),this._addSourceToVideo(this.noSleepVideo,"mp4",ve),this.noSleepVideo.addEventListener("loadedmetadata",()=>{this.noSleepVideo.duration<=1?this.noSleepVideo.setAttribute("loop",""):this.noSleepVideo.addEventListener("timeupdate",()=>{this.noSleepVideo.currentTime>.5&&(this.noSleepVideo.currentTime=Math.random())})}))}_addSourceToVideo(A,e,t){var n=document.createElement("source");n.src=t,n.type="video/"+e,A.appendChild(n)}enable(){be?navigator.wakeLock.request("screen").then(A=>{this._wakeLock=A,console.log("Wake Lock active."),this._wakeLock.addEventListener("release",()=>{console.log("Wake Lock released.")})}).catch(A=>{console.error(`${A.name}, ${A.message}`)}):ye?(this.disable(),console.warn("\n NoSleep enabled for older iOS devices. This can interrupt\n active or long-running network requests from completing successfully.\n See https://github.com/richtr/NoSleep.js/issues/15 for more details.\n "),this.noSleepTimer=window.setInterval(()=>{document.hidden||(window.location.href=window.location.href.split("#")[0],window.setTimeout(window.stop,0))},15e3)):this.noSleepVideo.play()}disable(){be?(this._wakeLock.release(),this._wakeLock=null):ye?this.noSleepTimer&&(console.warn("\n NoSleep now disabled for older iOS devices.\n "),window.clearInterval(this.noSleepTimer),this.noSleepTimer=null):this.noSleepVideo.pause()}};let Be;const Qe=new Audio("/public/audio/stage.wav"),Ee=new Audio("/public/audio/end.wav"),xe=wA({title:null,notes:null,steps:[],ingridients:{},error:null,isFetching:!1}),Me=wA({time:null,step:null,water:0});function ke(A,e){return A.steps.reduce((A,t,n)=>"pour"===t.type&&n{clearInterval(Be);const t=o(xe),n=A,r=new Audio("/public/audio/tick.wav"),s=new Audio("/public/audio/tick.wav");t.steps.length&&t.steps[n]?(Me.set({time:void 0===e?t.steps[n].time:e,water:void 0===e?ke(t,n):o(Me).water,step:n}),Be=setInterval(()=>{const A=o(Me);let e=A.time,n=A.water;if(e>0){e-=1,e<=3&&(e%2==0?r.play():s.play());const l=t.steps[A.step];return"pour"===l.type&&(n=A.water+l.amount/l.time),void Me.set({time:e,water:n,step:A.step})}A.step>=t.steps.length-1?(clearInterval(Be),Me.set({time:null,step:null,water:n,done:!0}),Ce.disable(),Ee.play()):(Me.set({time:t.steps[A.step+1].time,water:n,step:A.step+1}),Qe.play())},1e3)):Le()},Le=()=>{clearInterval(Be),Me.set({time:null,water:0,step:null}),Ce.disable()},Ie=()=>{Le(),Be=null,xe.set({steps:[],ingridients:{},error:null,isFetching:!0})};var ze='\n \n';function He(A,e,t){const n=A.slice();return n[7]=e[t],n[9]=t,n}function De(A){let e,t,n,r,s,l,i,o,a,c,u,d,g,p,h,f,Q,k,$,L,I,z,H,D,G,F,Z,N,S,V,P,R,_,j,T,W,Y,X,J,U,O,q,K,AA=A[3].ingridients.coffee+"",eA=zA(A[4],"global.g")+"",tA=A[3].ingridients.water+"",iA=zA(A[4],"global.ml")+"",oA=NA(A[3].ingridients.grind,A[4])+"",aA=A[3].ingridients.temp+"",cA=GA(A[3].ingridients.time)+"",uA=A[3].title+"",dA=parseInt(A[2].water)+"",gA=zA(A[4],"global.ml")+"",pA=A[3].ingridients.inverted&&Ze(A),hA=A[3].notes&&Ne(A),fA=null!==A[2].step&&A[2].step\n \n',m(i,a),m(i,c),m(e,u),m(e,d),m(d,g),g.innerHTML=ie,m(d,p),m(p,h),m(e,f),m(e,Q),m(Q,k),m(Q,$),m(e,L),m(e,I),m(I,z),z.innerHTML=se,m(I,H),m(e,D),pA&&pA.m(e,null),w(v,G,y),w(v,F,y),m(F,Z),w(v,N,y),hA&&hA.m(v,y),w(v,S,y),w(v,V,y),fA&&fA.m(V,null),m(V,P),mA&&mA.m(V,null),m(V,R),m(V,_),m(_,j),m(_,T),m(V,W),m(V,Y),wA&&wA.m(Y,null),m(Y,X),m(Y,J),bA.m(J,null),m(Y,U),CA&&CA.m(Y,null),w(v,O,y),w(v,q,y);for(let A=0;A{fA=null}),rA()),null!==A[2].step?mA?(mA.p(A,t),4&t&&sA(mA,1)):(mA=Ve(),mA.c(),sA(mA,1),mA.m(V,R)):mA&&(nA(),lA(mA,1,1,()=>{mA=null}),rA()),4&t&&dA!==(dA=parseInt(A[2].water)+"")&&M(j,dA),16&t&&gA!==(gA=zA(A[4],"global.ml")+"")&&M(T,gA),null!==A[2].step?wA?wA.p(A,t):(wA=Pe(A),wA.c(),wA.m(Y,X)):wA&&(wA.d(1),wA=null),yA===(yA=vA(A))&&bA?bA.p(A,t):(bA.d(1),bA=yA(A),bA&&(bA.c(),bA.m(J,null))),null!==A[2].step&&"pour"===A[3].steps[A[2].step].type?CA?(CA.p(A,t),12&t&&sA(CA,1)):(CA=Je(A),CA.c(),sA(CA,1),CA.m(Y,null)):CA&&(nA(),lA(CA,1,1,()=>{CA=null}),rA()),28&t){let e;for(BA=A[3].steps,e=0;e{r||(r=aA(t,me,{},!0)),r.run(1)}),s=!0)},o(A){A&&(r||(r=aA(t,me,{},!1)),r.run(0)),s=!1},d(A){A&&v(t),A&&r&&r.end(),l()}}}function Ve(e){let t,n,r,s,l;return{c(){t=b("div"),n=b("i"),x(n,"class","svelte-gytla1"),x(t,"class","actions bh stop svelte-gytla1")},m(A,e,r){w(A,t,e),m(t,n),n.innerHTML='\n \n',s=!0,r&&l(),l=E(t,"click",Le)},p:A,i(A){s||(A&&Y(()=>{r||(r=aA(t,me,{},!0)),r.run(1)}),s=!0)},o(A){A&&(r||(r=aA(t,me,{},!1)),r.run(0)),s=!1},d(A){A&&v(t),A&&r&&r.end(),l()}}}function Pe(A){let e,t,n;const r=[_e,Re],s=[];function l(A,e){return!1!==A[1]?0:1}return e=l(A),t=s[e]=r[e](A),{c(){t.c(),n=Q()},m(A,t){s[e].m(A,t),w(A,n,t)},p(A,i){let o=e;e=l(A),e===o?s[e].p(A,i):(nA(),lA(s[o],1,1,()=>{s[o]=null}),rA(),t=s[e],t||(t=s[e]=r[e](A),t.c()),sA(t,1),t.m(n.parentNode,n))},d(A){s[e].d(A),A&&v(n)}}}function Re(A){let e,t,n,r,s=null!==A[2].step&&"pour"===A[3].steps[A[2].step].type&&je(A);return{c(){s&&s.c(),e=B(),t=b("div"),x(t,"class","timer-bottom svelte-gytla1")},m(A,n){s&&s.m(A,n),w(A,e,n),w(A,t,n),t.innerHTML='\n \n \n \n \n',r=!0},p(A,t){null!==A[2].step&&"pour"===A[3].steps[A[2].step].type?s?(s.p(A,t),12&t&&sA(s,1)):(s=je(A),s.c(),sA(s,1),s.m(e.parentNode,e)):s&&(nA(),lA(s,1,1,()=>{s=null}),rA())},i(A){r||(sA(s),A&&Y(()=>{n||(n=aA(t,me,{},!0)),n.run(1)}),r=!0)},o(A){lA(s),A&&(n||(n=aA(t,me,{},!1)),n.run(0)),r=!1},d(A){s&&s.d(A),A&&v(e),A&&v(t),A&&n&&n.end()}}}function _e(A){let e,t,n,r,s,l,i,o=zA(A[4],"global.paused")+"";return{c(){e=b("div"),t=C(o),r=B(),s=b("div"),x(e,"class","timer-top svelte-gytla1"),x(s,"class","timer-bottom svelte-gytla1")},m(A,n){w(A,e,n),m(e,t),w(A,r,n),w(A,s,n),s.innerHTML=ze,i=!0},p(A,e){(!i||16&e)&&o!==(o=zA(A[4],"global.paused")+"")&&M(t,o)},i(A){i||(A&&Y(()=>{n||(n=aA(e,me,{},!0)),n.run(1)}),A&&Y(()=>{l||(l=aA(s,me,{},!0)),l.run(1)}),i=!0)},o(A){A&&(n||(n=aA(e,me,{},!1)),n.run(0)),A&&(l||(l=aA(s,me,{},!1)),l.run(0)),i=!1},d(A){A&&v(e),A&&n&&n.end(),A&&v(r),A&&v(s),A&&l&&l.end()}}}function je(A){let e,t,n,r,s,l,i,o=parseInt(A[2].water-ke(A[3],A[2].step))+"",a=zA(A[4],"global.ml")+"";return{c(){e=b("div"),t=b("span"),n=C(o),r=B(),s=C(a),x(t,"class","step-water svelte-gytla1"),L(t,"inverted",(A[2].water-ke(A[3],A[2].step))/A[3].steps[A[2].step].amount>.9),x(e,"class","timer-top svelte-gytla1")},m(A,l){w(A,e,l),m(e,t),m(t,n),m(t,r),m(t,s),i=!0},p(A,e){(!i||12&e)&&o!==(o=parseInt(A[2].water-ke(A[3],A[2].step))+"")&&M(n,o),(!i||16&e)&&a!==(a=zA(A[4],"global.ml")+"")&&M(s,a),12&e&&L(t,"inverted",(A[2].water-ke(A[3],A[2].step))/A[3].steps[A[2].step].amount>.9)},i(A){i||(A&&Y(()=>{l||(l=aA(e,me,{},!0)),l.run(1)}),i=!0)},o(A){A&&(l||(l=aA(e,me,{},!1)),l.run(0)),i=!1},d(A){A&&v(e),A&&l&&l.end()}}}function Te(e){let t;return{c(){t=b("div"),x(t,"class","timer-button svelte-gytla1")},m(A,e){w(A,t,e),t.innerHTML=ze},p:A,d(A){A&&v(t)}}}function We(e){let t;return{c(){t=C("...")},m(A,e){w(A,t,e)},p:A,d(A){A&&v(t)}}}function Ye(A){let e,t=zA(A[4],"global.enjoy")+"";return{c(){e=C(t)},m(A,t){w(A,e,t)},p(A,n){16&n&&t!==(t=zA(A[4],"global.enjoy")+"")&&M(e,t)},d(A){A&&v(e)}}}function Xe(A){let e,t,n=GA(A[2].time)+"";return{c(){e=b("div"),t=C(n),x(e,"class","counter svelte-gytla1")},m(A,n){w(A,e,n),m(e,t)},p(A,e){4&e&&n!==(n=GA(A[2].time)+"")&&M(t,n)},d(A){A&&v(e)}}}function Je(A){let e,t,n;return{c(){e=b("div"),x(e,"class","water-level svelte-gytla1"),k(e,"height",(A[2].water-ke(A[3],A[2].step))/A[3].steps[A[2].step].amount*100+"%")},m(A,t){w(A,e,t),n=!0},p(A,t){(!n||12&t)&&k(e,"height",(A[2].water-ke(A[3],A[2].step))/A[3].steps[A[2].step].amount*100+"%")},i(A){n||(t&&t.end(1),n=!0)},o(A){A&&(t=oA(e,fe,{})),n=!1},d(A){A&&v(e),A&&t&&t.end()}}}function Ue(A){let e,t,n,r,s,l,i,o,a,c,u,d,g,p,h=ZA(A[7].type)+"",f=zA(A[4],"step."+A[7].type)+"",y=GA(A[7].time)+"";function Q(A,e){return A[7].amount?qe:A[7].notes?Oe:void 0}let E=Q(A),k=E&&E(A);return{c(){e=b("div"),t=b("div"),n=b("div"),r=B(),s=C(f),l=B(),k&&k.c(),i=B(),o=b("div"),a=b("div"),c=B(),u=C(y),d=B(),x(n,"class","step-icon svelte-gytla1"),x(t,"class","step-type svelte-gytla1"),x(a,"class","step-icon svelte-gytla1"),x(o,"class","step-time svelte-gytla1"),x(e,"class","step b svelte-gytla1"),L(e,"active",A[2].step===A[9])},m(A,g){w(A,e,g),m(e,t),m(t,n),n.innerHTML=h,m(t,r),m(t,s),m(e,l),k&&k.m(e,null),m(e,i),m(e,o),m(o,a),a.innerHTML=se,m(o,c),m(o,u),m(e,d),p=!0},p(A,t){(!p||8&t)&&h!==(h=ZA(A[7].type)+"")&&(n.innerHTML=h),(!p||24&t)&&f!==(f=zA(A[4],"step."+A[7].type)+"")&&M(s,f),E===(E=Q(A))&&k?k.p(A,t):(k&&k.d(1),k=E&&E(A),k&&(k.c(),k.m(e,i))),(!p||8&t)&&y!==(y=GA(A[7].time)+"")&&M(u,y),4&t&&L(e,"active",A[2].step===A[9])},i(A){p||(g&&g.end(1),p=!0)},o(A){A&&(g=oA(e,me,{})),p=!1},d(A){A&&v(e),k&&k.d(),A&&g&&g.end()}}}function Oe(A){let e,t,n=A[7].notes+"";return{c(){e=b("div"),t=C(n),x(e,"class","step-amount svelte-gytla1")},m(A,n){w(A,e,n),m(e,t)},p(A,e){8&e&&n!==(n=A[7].notes+"")&&M(t,n)},d(A){A&&v(e)}}}function qe(A){let e,t,n,r=A[7].amount+"",s=zA(A[4],"global.ml")+"";return{c(){e=b("div"),t=C(r),n=C(s),x(e,"class","step-amount svelte-gytla1")},m(A,r){w(A,e,r),m(e,t),m(e,n)},p(A,e){8&e&&r!==(r=A[7].amount+"")&&M(t,r),16&e&&s!==(s=zA(A[4],"global.ml")+"")&&M(n,s)},d(A){A&&v(e)}}}function Ke(A){let e,t=A[9]>=A[2].step&&Ue(A);return{c(){t&&t.c(),e=Q()},m(A,n){t&&t.m(A,n),w(A,e,n)},p(A,n){A[9]>=A[2].step?t?(t.p(A,n),4&n&&sA(t,1)):(t=Ue(A),t.c(),sA(t,1),t.m(e.parentNode,e)):t&&(nA(),lA(t,1,1,()=>{t=null}),rA())},d(A){t&&t.d(A),A&&v(e)}}}function At(A){let e,t,n,r,s,l;const i=new KA({props:{nomargin:!0,href:"/"+A[0].type}}),o=[Fe,Ge,De],a=[];function c(A,e){return A[3].error?0:A[3].isFetching?1:A[3].ingridients.coffee?2:-1}return~(n=c(A))&&(r=a[n]=o[n](A)),{c(){e=b("div"),cA(i.$$.fragment),t=B(),r&&r.c(),s=Q(),x(e,"class","back-container svelte-gytla1")},m(A,r){w(A,e,r),uA(i,e,null),w(A,t,r),~n&&a[n].m(A,r),w(A,s,r),l=!0},p(A,[e]){const t={};1&e&&(t.href="/"+A[0].type),i.$set(t);let l=n;n=c(A),n===l?~n&&a[n].p(A,e):(r&&(nA(),lA(a[l],1,1,()=>{a[l]=null}),rA()),~n?(r=a[n],r||(r=a[n]=o[n](A),r.c()),sA(r,1),r.m(s.parentNode,s)):r=null)},i(A){l||(sA(i.$$.fragment,A),sA(r),l=!0)},o(A){lA(i.$$.fragment,A),lA(r),l=!1},d(A){A&&v(e),dA(i),A&&v(t),~n&&a[n].d(A),A&&v(s)}}}function et(A,e,t){let n,r,s;a(A,Me,A=>t(2,n=A)),a(A,xe,A=>t(3,r=A)),a(A,IA,A=>t(4,s=A));let{params:l={}}=e,i=!1;var c;return S(()=>{(async(A,e)=>{let t=null;xe.set({title:null,notes:null,steps:[],ingridients:{},error:null,isFetching:!0}),await re(A),t=o(ne)[A]?o(ne)[A].find(A=>A.name===e):null,t?xe.set({title:t.title,notes:t.notes,steps:t.steps,ingridients:t.ingridients,error:null,isFetching:!1}):xe.set({steps:[],ingridients:{},error:{response:{status:404,statusText:"Not Found"}},isFetching:!1})})(l.type,l.name)}),c=()=>{Ie()},N().$$.on_destroy.push(c),A.$set=A=>{"params"in A&&t(0,l=A.params)},[l,i,n,r,s,function(){t(1,i=!1),(()=>{const A=o(Me);$e(A.step+1)})()},function(){null!==n.step?!1!==i?(Ce.enable(),$e(n.step,i),t(1,i=!1)):t(1,(clearInterval(Be),Ce.disable(),i=o(Me).time)):(Ce.enable(),$e(),t(1,i=!1))}]}function tt(e){let t;const n=new UA({props:{error:{response:{status:404,statusText:"Not Found"}}}});return{c(){cA(n.$$.fragment)},m(A,e){uA(n,A,e),t=!0},p:A,i(A){t||(sA(n.$$.fragment,A),t=!0)},o(A){lA(n.$$.fragment,A),t=!1},d(A){dA(n,A)}}}var nt={"/":class extends hA{constructor(A){super(),pA(this,A,jA,_A,l,{})}},"/:type":class extends hA{constructor(A){super(),pA(this,A,pe,ge,l,{params:0})}},"/:type/:name":class extends hA{constructor(A){super(),pA(this,A,et,At,l,{params:0})}},"*":class extends hA{constructor(A){super(),pA(this,A,null,tt,l,{})}}};function rt(e){let t,n;const r=new MA({props:{routes:nt}});return{c(){t=b("div"),cA(r.$$.fragment),x(t,"class","page svelte-1w4h5f0")},m(A,e){w(A,t,e),uA(r,t,null),n=!0},p:A,i(A){n||(sA(r.$$.fragment,A),n=!0)},o(A){lA(r.$$.fragment,A),n=!1},d(A){A&&v(t),dA(r)}}}return new class extends hA{constructor(A){super(),pA(this,A,null,rt,l,{})}}({target:document.body})}(); +var app=function(){"use strict";function A(){}const e=A=>A;function t(A){return A()}function n(){return Object.create(null)}function r(A){A.forEach(t)}function s(A){return"function"==typeof A}function i(A,e){return A!=A?e==e:A!==e||A&&"object"==typeof A||"function"==typeof A}function l(e,...t){if(null==e)return A;const n=e.subscribe(...t);return n.unsubscribe?()=>n.unsubscribe():n}function o(A){let e;return l(A,A=>e=A)(),e}function a(A,e,t){A.$$.on_destroy.push(l(e,t))}function c(e){return e&&s(e.destroy)?e.destroy:A}const g="undefined"!=typeof window;let u=g?()=>window.performance.now():()=>Date.now(),d=g?A=>requestAnimationFrame(A):A;const h=new Set;function p(A){h.forEach(e=>{e.c(A)||(h.delete(e),e.f())}),0!==h.size&&d(p)}function m(A){let e;return 0===h.size&&d(p),{promise:new Promise(t=>{h.add(e={c:A,f:t})}),abort(){h.delete(e)}}}function f(A,e){A.appendChild(e)}function v(A,e,t){A.insertBefore(e,t||null)}function w(A){A.parentNode.removeChild(A)}function C(A,e){for(let t=0;tA.removeEventListener(e,t,n)}function Q(A,e,t){null==t?A.removeAttribute(e):A.getAttribute(e)!==t&&A.setAttribute(e,t)}function k(A,e){e=""+e,A.data!==e&&(A.data=e)}function M(A,e,t,n){A.style.setProperty(e,t,n?"important":"")}function x(A,e){for(let t=0;t>>0}(c)}_${l}`,u=A.ownerDocument;S.add(u);const d=u.__svelte_stylesheet||(u.__svelte_stylesheet=u.head.appendChild(B("style")).sheet),h=u.__svelte_rules||(u.__svelte_rules={});h[g]||(h[g]=!0,d.insertRule(`@keyframes ${g} ${c}`,d.cssRules.length));const p=A.style.animation||"";return A.style.animation=`${p?p+", ":""}${g} ${n}ms linear ${r}ms 1 both`,z+=1,g}function D(A,e){const t=(A.style.animation||"").split(", "),n=t.filter(e?A=>A.indexOf(e)<0:A=>-1===A.indexOf("__svelte")),r=t.length-n.length;r&&(A.style.animation=n.join(", "),z-=r,z||d(()=>{z||(S.forEach(A=>{const e=A.__svelte_stylesheet;let t=e.cssRules.length;for(;t--;)e.deleteRule(t);A.__svelte_rules={}}),S.clear())}))}function L(A){F=A}function G(){if(!F)throw new Error("Function called outside component initialization");return F}function J(A){G().$$.on_mount.push(A)}function X(A,e){const t=A.$$.callbacks[e.type];t&&t.slice().forEach(A=>A(e))}const O=[],$=[],R=[],W=[],H=Promise.resolve();let j=!1;function q(A){R.push(A)}let T=!1;const P=new Set;function K(){if(!T){T=!0;do{for(let A=0;A{N=null})),N}function AA(A,e,t){A.dispatchEvent(V(`${e?"intro":"outro"}${t}`))}const eA=new Set;let tA;function nA(){tA={r:0,c:[],p:tA}}function rA(){tA.r||r(tA.c),tA=tA.p}function sA(A,e){A&&A.i&&(eA.delete(A),A.i(e))}function iA(A,e,t,n){if(A&&A.o){if(eA.has(A))return;eA.add(A),tA.c.push(()=>{eA.delete(A),n&&(t&&A.d(1),n())}),A.o(e)}}const lA={duration:0};function oA(t,n,i){let l,o=n(t,i),a=!0;const c=tA;function g(){const{delay:n=0,duration:s=300,easing:i=e,tick:g=A,css:d}=o||lA;d&&(l=Y(t,1,0,s,n,i,d));const h=u()+n,p=h+s;q(()=>AA(t,!1,"start")),m(A=>{if(a){if(A>=p)return g(0,1),AA(t,!1,"end"),--c.r||r(c.c),!1;if(A>=h){const e=i((A-h)/s);g(1-e,e)}}return a})}return c.r+=1,s(o)?_().then(()=>{o=o(),g()}):g(),{end(A){A&&o.tick&&o.tick(1,0),a&&(l&&D(t,l),a=!1)}}}function aA(t,n,i,l){let o=n(t,i),a=l?0:1,c=null,g=null,d=null;function h(){d&&D(t,d)}function p(A,e){const t=A.b-a;return e*=Math.abs(t),{a:a,b:A.b,d:t,duration:e,start:A.start,end:A.start+e,group:A.group}}function f(n){const{delay:s=0,duration:i=300,easing:l=e,tick:f=A,css:v}=o||lA,w={start:u()+s,b:n};n||(w.group=tA,tA.r+=1),c?g=w:(v&&(h(),d=Y(t,a,n,i,s,l,v)),n&&f(0,1),c=p(w,i),q(()=>AA(t,n,"start")),m(A=>{if(g&&A>g.start&&(c=p(g,i),g=null,AA(t,c.b,"start"),v&&(h(),d=Y(t,a,c.b,c.duration,0,l,o.css))),c)if(A>=c.end)f(a=c.b,1-a),AA(t,c.b,"end"),g||(c.b?h():--c.group.r||r(c.group.c)),c=null;else if(A>=c.start){const e=A-c.start;a=c.a+c.d*l(e/c.duration),f(a,1-a)}return!(!c&&!g)}))}return{run(A){s(o)?_().then(()=>{o=o(),f(A)}):f(A)},end(){h(),c=g=null}}}function cA(A){A&&A.c()}function gA(A,e,n){const{fragment:i,on_mount:l,on_destroy:o,after_update:a}=A.$$;i&&i.m(e,n),q(()=>{const e=l.map(t).filter(s);o?o.push(...e):r(e),A.$$.on_mount=[]}),a.forEach(q)}function uA(A,e){const t=A.$$;null!==t.fragment&&(r(t.on_destroy),t.fragment&&t.fragment.d(e),t.on_destroy=t.fragment=null,t.ctx=[])}function dA(A,e){-1===A.$$.dirty[0]&&(O.push(A),j||(j=!0,H.then(K)),A.$$.dirty.fill(0)),A.$$.dirty[e/31|0]|=1<{const r=n.length?n[0]:t;return u.ctx&&l(u.ctx[A],u.ctx[A]=r)&&(u.bound[A]&&u.bound[A](r),d&&dA(e,A)),t}):[],u.update(),d=!0,r(u.before_update),u.fragment=!!i&&i(u.ctx),t.target){if(t.hydrate){const A=function(A){return Array.from(A.childNodes)}(t.target);u.fragment&&u.fragment.l(A),A.forEach(w)}else u.fragment&&u.fragment.c();t.intro&&sA(e.$$.fragment),gA(e,t.target,t.anchor),K()}L(c)}class pA{$destroy(){uA(this,1),this.$destroy=A}$on(A,e){const t=this.$$.callbacks[A]||(this.$$.callbacks[A]=[]);return t.push(e),()=>{const A=t.indexOf(e);-1!==A&&t.splice(A,1)}}$set(){}}const mA=[];function fA(A,e){return{subscribe:vA(A,e).subscribe}}function vA(e,t=A){let n;const r=[];function s(A){if(i(e,A)&&(e=A,n)){const A=!mA.length;for(let A=0;A{const A=r.indexOf(o);-1!==A&&r.splice(A,1),0===r.length&&(n(),n=null)}}}}function wA(e,t,n){const i=!Array.isArray(e),o=i?[e]:e,a=t.length<2;return fA(n,e=>{let n=!1;const c=[];let g=0,u=A;const d=()=>{if(g)return;u();const n=t(i?c[0]:c,e);a?e(n):u=s(n)?n:A},h=o.map((A,e)=>l(A,A=>{c[e]=A,g&=~(1<{g|=1<{uA(A,1)}),rA()}n?((r=new n({})).$on("routeEvent",A[10]),cA(r.$$.fragment),sA(r.$$.fragment,1),gA(r,e.parentNode,e)):r=null}},i(A){t||(r&&sA(r.$$.fragment,A),t=!0)},o(A){r&&iA(r.$$.fragment,A),t=!1},d(A){A&&w(e),r&&uA(r,A)}}}function BA(A){let e,t;var n=A[0];function r(A){return{props:{params:A[1]}}}if(n){var s=new n(r(A));s.$on("routeEvent",A[9])}return{c(){s&&cA(s.$$.fragment),e=y()},m(A,n){s&&gA(s,A,n),v(A,e,n),t=!0},p(A,t){const i={};if(2&t&&(i.params=A[1]),n!==(n=A[0])){if(s){nA();const A=s;iA(A.$$.fragment,1,0,()=>{uA(A,1)}),rA()}n?((s=new n(r(A))).$on("routeEvent",A[9]),cA(s.$$.fragment),sA(s.$$.fragment,1),gA(s,e.parentNode,e)):s=null}else n&&s.$set(i)},i(A){t||(s&&sA(s.$$.fragment,A),t=!0)},o(A){s&&iA(s.$$.fragment,A),t=!1},d(A){A&&w(e),s&&uA(s,A)}}}function EA(A){let e,t,n,r;const s=[BA,CA],i=[];function l(A,e){return A[1]?0:1}return e=l(A),t=i[e]=s[e](A),{c(){t.c(),n=y()},m(A,t){i[e].m(A,t),v(A,n,t),r=!0},p(A,[r]){let o=e;e=l(A),e===o?i[e].p(A,r):(nA(),iA(i[o],1,1,()=>{i[o]=null}),rA(),t=i[e],t||(t=i[e]=s[e](A),t.c()),sA(t,1),t.m(n.parentNode,n))},i(A){r||(sA(t),r=!0)},o(A){iA(t),r=!1},d(A){i[e].d(A),A&&w(n)}}}function bA(){const A=window.location.href.indexOf("#/");let e=A>-1?window.location.href.substr(A+1):"/";const t=e.indexOf("?");let n="";return t>-1&&(n=e.substr(t+1),e=e.substr(0,t)),{location:e,querystring:n}}const yA=fA(bA(),(function(A){const e=()=>{A(bA())};return window.addEventListener("hashchange",e,!1),function(){window.removeEventListener("hashchange",e,!1)}}));wA(yA,A=>A.location),wA(yA,A=>A.querystring);function IA(A){if(!A||!A.tagName||"a"!=A.tagName.toLowerCase())throw Error('Action "link" can only be used with tags');const e=A.getAttribute("href");if(!e||e.length<1||"/"!=e.charAt(0))throw Error('Invalid value for "href" attribute');A.setAttribute("href","#"+e)}function QA(e,t,n){let r,s=A;a(e,yA,A=>n(4,r=A)),e.$$.on_destroy.push(()=>s());let{routes:i={}}=t,{prefix:l=""}=t;class o{constructor(A,e){if(!e||"function"!=typeof e&&("object"!=typeof e||!0!==e._sveltesparouter))throw Error("Invalid component object");if(!A||"string"==typeof A&&(A.length<1||"/"!=A.charAt(0)&&"*"!=A.charAt(0))||"object"==typeof A&&!(A instanceof RegExp))throw Error('Invalid value for "path" argument');const{pattern:t,keys:n}=function(A,e){if(A instanceof RegExp)return{keys:!1,pattern:A};var t,n,r,s,i=[],l="",o=A.split("/");for(o[0]||o.shift();r=o.shift();)"*"===(t=r[0])?(i.push("wild"),l+="/(.*)"):":"===t?(n=r.indexOf("?",1),s=r.indexOf(".",1),i.push(r.substring(1,~n?n:~s?s:r.length)),l+=~n&&!~s?"(?:/([^/]+?))?":"/([^/]+?)",~s&&(l+=(~n?"?":"")+"\\"+r.substring(s))):l+="/"+r;return{keys:i,pattern:new RegExp("^"+l+(e?"(?=$|/)":"/?$"),"i")}}(A);this.path=A,"object"==typeof e&&!0===e._sveltesparouter?(this.component=e.route,this.conditions=e.conditions||[],this.userData=e.userData):(this.component=e,this.conditions=[],this.userData=void 0),this._pattern=t,this._keys=n}match(A){l&&A.startsWith(l)&&(A=A.substr(l.length)||"/");const e=this._pattern.exec(A);if(null===e)return null;if(!1===this._keys)return e;const t={};let n=0;for(;n{c.push(new o(e,A))}):Object.keys(i).forEach(A=>{c.push(new o(A,i[A]))});let g=null,u=null;const d=function(){const A=G();return(e,t)=>{const n=A.$$.callbacks[e];if(n){const r=V(e,t);n.slice().forEach(e=>{e.call(A,r)})}}}(),h=(A,e)=>{setTimeout(()=>{d(A,e)},0)};return e.$set=A=>{"routes"in A&&n(2,i=A.routes),"prefix"in A&&n(3,l=A.prefix)},e.$$.update=()=>{if(17&e.$$.dirty){n(0,g=null);let A=0;for(;!g&&A{A.split(/\[([^}]+)\]/g).forEach(A=>{A.length>0&&e.push(A)})}),e}(e);let n=A;for(let A=0;A\n \n \n \n \n \n \n \n';case"moka":return'\n \n \n \n \n \n \n \n \n \n \n';case"aeropress":return'\n \n \n \n \n \n \n \n \n \n \n';case"frenchPress":return'\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n'}}function LA(A){switch(A){case"invert":return'\n \n';case"lid":return'\n \n \n \n \n \n \n \n';case"place":return'\n \n \n \n \n \n';case"pour":return'\n \n \n \n';case"stir":return'\n \n \n \n \n \n';case"wait":return'\n \n \n \n \n \n';case"press":return'\n \n \n \n \n \n \n \n';case"heat":case"cool":case"brew":return'\n \n \n \n \n';case"add":return FA;case"swirl":return'\n \n';case"bloom":return'\n \n \n \n \n';default:return FA}}function GA(A,e){return Number.isInteger(A)?SA(e,"grind",zA)[A-1]:SA(e,"grind",zA)[5]}function JA(A,e,t){const n=A.slice();return n[6]=e[t],n}function XA(A,e,t){const n=A.slice();return n[9]=e[t],n}function OA(A){let e,t,n,r,s,i,l,o,a,c=A[9].icon+"",g=SA(A[1],A[9].name)+"";return{c(){e=B("div"),t=B("a"),n=B("div"),r=b(),s=B("div"),i=E(g),a=b(),Q(n,"class","system-icon svelte-tkow9t"),Q(s,"class","system-name svelte-tkow9t"),Q(t,"class","system-button bh svelte-tkow9t"),Q(t,"href",l="#/"+A[9].url),Q(t,"title",o=SA(A[1],A[9].name)),Q(e,"class","item svelte-tkow9t")},m(A,l){v(A,e,l),f(e,t),f(t,n),n.innerHTML=c,f(t,r),f(t,s),f(s,i),f(e,a)},p(A,e){2&e&&g!==(g=SA(A[1],A[9].name)+"")&&k(i,g),2&e&&o!==(o=SA(A[1],A[9].name))&&Q(t,"title",o)},d(A){A&&w(e)}}}function $A(e){let t,n,r,s=e[6]+"";return{c(){t=B("option"),n=E(s),t.__value=r=e[6],t.value=t.__value},m(A,e){v(A,t,e),f(t,n)},p:A,d(A){A&&w(t)}}}function RA(e){let t,n,s,i,l,o,a,c=e[2],g=[];for(let A=0;A\n Have your own recipe? Just propose it in\n issues!\n
\n Want to contribute?\n
\n Welcome to the repository:\n github.com/2brew/2brew.github.io.\n ',l=b(),o=B("select");for(let A=0;Ae[5].call(o))},m(A,c,u){v(A,t,c),f(t,n);for(let A=0;At(1,n=A));const r=[{name:"system.aeropress",url:"aeropress",icon:DA("aeropress")},{name:"system.v60",url:"v_60",icon:DA("v_60")},{name:"system.moka",url:"moka",icon:DA("moka")},{name:"system.frenchPress",url:"frenchPress",icon:DA("frenchPress")}],s=xA;let i=n.language;return[i,n,r,s,function(){!function(A="en"){-1!==xA.indexOf(A)&&(localStorage.setItem("lang",A),VA.set({tt:MA[A],language:A}))}(i)},function(){i=function(A){const e=A.querySelector(":checked")||A.options[0];return e&&e.__value}(this),t(0,i),t(3,s)}]}function HA(e){let t;return{c(){t=E("Error")},m(A,e){v(A,t,e)},p:A,d(A){A&&w(t)}}}function jA(A){let e,t,n,r=A[0].response.status+"",s=A[0].response.statusText+"";return{c(){e=E(r),t=E(": "),n=E(s)},m(A,r){v(A,e,r),v(A,t,r),v(A,n,r)},p(A,t){1&t&&r!==(r=A[0].response.status+"")&&k(e,r),1&t&&s!==(s=A[0].response.statusText+"")&&k(n,s)},d(A){A&&w(e),A&&w(t),A&&w(n)}}}function qA(A){let e,t,n,r=A[0].name?A[0].name+": ":"",s=A[0].message+"";return{c(){e=B("p"),t=E(r),n=E(s),Q(e,"class","info svelte-bagxe1")},m(A,r){v(A,e,r),f(e,t),f(e,n)},p(A,e){1&e&&r!==(r=A[0].name?A[0].name+": ":"")&&k(t,r),1&e&&s!==(s=A[0].message+"")&&k(n,s)},d(A){A&&w(e)}}}function TA(e){let t,n,r,s;function i(A,e){return A[0].response?jA:HA}let l=i(e),o=l(e),a=e[0].message&&qA(e);return{c(){t=B("div"),n=B("div"),r=E("⚠️\n "),o.c(),s=b(),a&&a.c(),Q(n,"class","heading svelte-bagxe1"),Q(t,"class","error svelte-bagxe1")},m(A,e){v(A,t,e),f(t,n),f(n,r),o.m(n,null),f(t,s),a&&a.m(t,null)},p(A,[e]){l===(l=i(A))&&o?o.p(A,e):(o.d(1),o=l(A),o&&(o.c(),o.m(n,null))),A[0].message?a?a.p(A,e):(a=qA(A),a.c(),a.m(t,null)):a&&(a.d(1),a=null)},i:A,o:A,d(A){A&&w(t),o.d(),a&&a.d()}}}function PA(A,e,t){let{error:n}=e;return J(()=>console.error(n)),A.$set=A=>{"error"in A&&t(0,n=A.error)},[n]}class KA extends pA{constructor(A){super(),hA(this,A,PA,TA,i,{error:0})}}function UA(e){let t,n,r,s,i;return{c(){t=B("div"),n=B("a"),r=E("❮"),Q(n,"class","back-button bh svelte-11d0r1b"),Q(n,"href",e[0]),Z(n,"no-margin",e[1]),Q(t,"class","back svelte-11d0r1b")},m(A,e,l){v(A,t,e),f(t,n),f(n,r),l&&i(),i=c(s=IA.call(null,n))},p(A,[e]){1&e&&Q(n,"href",A[0]),2&e&&Z(n,"no-margin",A[1])},i:A,o:A,d(A){A&&w(t),i()}}}function NA(A,e,t){let{href:n}=e,{nomargin:r}=e;return A.$set=A=>{"href"in A&&t(0,n=A.href),"nomargin"in A&&t(1,r=A.nomargin)},[n,r]}class _A extends pA{constructor(A){super(),hA(this,A,NA,UA,i,{href:0,nomargin:1})}}function Ae(e){let t;return{c(){t=B("div"),t.innerHTML='
\n
\n
',Q(t,"class","spinner svelte-p3awft")},m(A,e){v(A,t,e)},p:A,i:A,o:A,d(A){A&&w(t)}}}class ee extends pA{constructor(A){super(),hA(this,A,null,Ae,i,{})}}async function te(A,e={},{set:t},n){t({[n]:null,error:null,isFetching:!0});const r=await async function(A,e={}){try{const t=await window.fetch(A,{headers:{"Content-Type":"application/json"},...e}),n=await t.json();return t.ok?{data:n}:{error:{...n,response:t}}}catch(A){return{error:A}}}(A,e);return r.error?t({[n]:null,error:r.error,isFetching:!1}):t({[n]:r.data,error:null,isFetching:!1}),r}const ne=vA({aeropress:null,v_60:null,moka:null,error:null,isFetching:!0}),re=(A,e)=>{const t=o(ne);return!e&&t[A]?Promise.resolve():te(`/public/${A}.json`,{},ne,A)};var se='\n \n \n \n \n \n',ie='\n \n \n \n \n',le='\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n';function oe(A,e,t){const n=A.slice();return n[3]=e[t],n}function ae(e){let t,n=e[1][e[0].type],r=[];for(let A=0;A{o[s]=null}),rA(),n=o[t],n||(n=o[t]=l[t](A),n.c()),sA(n,1),n.m(r.parentNode,r))},i(A){s||(sA(i.$$.fragment,A),sA(n),s=!0)},o(A){iA(i.$$.fragment,A),iA(n),s=!1},d(A){uA(i,A),A&&w(e),o[t].d(A),A&&w(r)}}}function he(A,e,t){let n,r;a(A,ne,A=>t(1,n=A)),a(A,VA,A=>t(2,r=A));let{params:s={}}=e;return A.$set=A=>{"params"in A&&t(0,s=A.params)},A.$$.update=()=>{1&A.$$.dirty&&re(s.type)},[s,n,r]}function pe(A){const e=A-1;return e*e*e+1}function me(A,{delay:t=0,duration:n=400,easing:r=e}){const s=+getComputedStyle(A).opacity;return{delay:t,duration:n,easing:r,css:A=>"opacity: "+A*s}}function fe(A,{delay:e=0,duration:t=400,easing:n=pe,start:r=0,opacity:s=0}){const i=getComputedStyle(A),l=+i.opacity,o="none"===i.transform?"":i.transform,a=1-r,c=l*(1-s);return{delay:e,duration:t,easing:n,css:(A,e)=>`\n\t\t\ttransform: ${o} scale(${1-a*e});\n\t\t\topacity: ${l-c*e}\n\t\t`}}const{webm:ve,mp4:we}={webm:"data:video/webm;base64,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",mp4:"data:video/mp4;base64,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"},Ce=()=>"undefined"!=typeof navigator&&parseFloat((""+(/CPU.*OS ([0-9_]{3,4})[0-9_]{0,1}|(CPU like).*AppleWebKit.*Mobile/i.exec(navigator.userAgent)||[0,""])[1]).replace("undefined","3_2").replace("_",".").replace("_",""))<10&&!window.MSStream,Be=()=>"wakeLock"in navigator;const Ee=new class{constructor(){if(this.enabled=!1,Be()){this._wakeLock=null;const A=()=>{null!==this._wakeLock&&"visible"===document.visibilityState&&this.enable()};document.addEventListener("visibilitychange",A),document.addEventListener("fullscreenchange",A)}else Ce()?this.noSleepTimer=null:(this.noSleepVideo=document.createElement("video"),this.noSleepVideo.setAttribute("title","No Sleep"),this.noSleepVideo.setAttribute("playsinline",""),this._addSourceToVideo(this.noSleepVideo,"webm",ve),this._addSourceToVideo(this.noSleepVideo,"mp4",we),this.noSleepVideo.addEventListener("loadedmetadata",()=>{this.noSleepVideo.duration<=1?this.noSleepVideo.setAttribute("loop",""):this.noSleepVideo.addEventListener("timeupdate",()=>{this.noSleepVideo.currentTime>.5&&(this.noSleepVideo.currentTime=Math.random())})}))}_addSourceToVideo(A,e,t){var n=document.createElement("source");n.src=t,n.type="video/"+e,A.appendChild(n)}get isEnabled(){return this.enabled}enable(){if(Be())return navigator.wakeLock.request("screen").then(A=>{this._wakeLock=A,this.enabled=!0,console.log("Wake Lock active."),this._wakeLock.addEventListener("release",()=>{console.log("Wake Lock released.")})}).catch(A=>{throw this.enabled=!1,console.error(`${A.name}, ${A.message}`),A});if(Ce())return this.disable(),console.warn("\n NoSleep enabled for older iOS devices. This can interrupt\n active or long-running network requests from completing successfully.\n See https://github.com/richtr/NoSleep.js/issues/15 for more details.\n "),this.noSleepTimer=window.setInterval(()=>{document.hidden||(window.location.href=window.location.href.split("#")[0],window.setTimeout(window.stop,0))},15e3),this.enabled=!0,Promise.resolve();return this.noSleepVideo.play().then(A=>(this.enabled=!0,A)).catch(A=>{throw this.enabled=!1,A})}disable(){Be()?(this._wakeLock&&this._wakeLock.release(),this._wakeLock=null):Ce()?this.noSleepTimer&&(console.warn("\n NoSleep now disabled for older iOS devices.\n "),window.clearInterval(this.noSleepTimer),this.noSleepTimer=null):this.noSleepVideo.pause(),this.enabled=!1}};let be;const ye=new Audio("/public/audio/stage.wav"),Ie=new Audio("/public/audio/end.wav"),Qe=vA({title:null,notes:null,steps:[],ingridients:{},error:null,isFetching:!1}),ke=vA({time:null,step:null,water:0});function Me(A,e){return A.steps.reduce((A,t,n)=>"pour"===t.type&&n{clearInterval(be);const t=o(Qe),n=A,r=new Audio("/public/audio/tick.wav"),s=new Audio("/public/audio/tick.wav");t.steps.length&&t.steps[n]?(ke.set({time:void 0===e?t.steps[n].time:e,water:void 0===e?Me(t,n):o(ke).water,step:n}),be=setInterval(()=>{const A=o(ke);let e=A.time,n=A.water;if(e>0){e-=1,e<=3&&(e%2==0?r.play():s.play());const i=t.steps[A.step];return"pour"===i.type&&(n=A.water+i.amount/i.time),void ke.set({time:e,water:n,step:A.step})}A.step>=t.steps.length-1?(clearInterval(be),ke.set({time:null,step:null,water:n,done:!0}),Ee.disable(),Ie.play()):(ke.set({time:t.steps[A.step+1].time,water:n,step:A.step+1}),ye.play())},1e3)):Ze()},Ze=()=>{clearInterval(be),ke.set({time:null,water:0,step:null}),Ee.disable()},Ve=()=>{Ze(),be=null,Qe.set({steps:[],ingridients:{},error:null,isFetching:!0})};var Se='\n \n';function Fe(A,e,t){const n=A.slice();return n[7]=e[t],n[9]=t,n}function ze(A){let e,t,n,r,s,i,l,o,a,c,g,u,d,h,p,m,y,M,x,Z,V,S,F,z,Y,D,L,G,J,X,O,$,R,W,H,j,q,T,P,K,U,N,_,AA=A[3].ingridients.coffee+"",eA=SA(A[4],"global.g")+"",tA=A[3].ingridients.water+"",lA=SA(A[4],"global.ml")+"",oA=GA(A[3].ingridients.grind,A[4])+"",aA=A[3].ingridients.temp+"",cA=YA(A[3].ingridients.time)+"",gA=A[3].title+"",uA=parseInt(A[2].water)+"",dA=SA(A[4],"global.ml")+"",hA=A[3].ingridients.inverted&&Le(A),pA=A[3].notes&&Ge(A),mA=null!==A[2].step&&A[2].step\n \n',f(l,a),f(l,c),f(e,g),f(e,u),f(u,d),d.innerHTML=le,f(u,h),f(h,p),f(e,m),f(e,y),f(y,M),f(y,x),f(e,Z),f(e,V),f(V,S),S.innerHTML=se,f(V,F),f(e,z),hA&&hA.m(e,null),v(w,Y,C),v(w,D,C),f(D,L),v(w,G,C),pA&&pA.m(w,C),v(w,J,C),v(w,X,C),mA&&mA.m(X,null),f(X,O),fA&&fA.m(X,null),f(X,$),f(X,R),f(R,W),f(R,H),f(X,j),f(X,q),vA&&vA.m(q,null),f(q,T),f(q,P),BA.m(P,null),f(q,K),EA&&EA.m(q,null),v(w,U,C),v(w,N,C);for(let A=0;A{mA=null}),rA()),null!==A[2].step?fA?(fA.p(A,t),4&t&&sA(fA,1)):(fA=Xe(),fA.c(),sA(fA,1),fA.m(X,$)):fA&&(nA(),iA(fA,1,1,()=>{fA=null}),rA()),4&t&&uA!==(uA=parseInt(A[2].water)+"")&&k(W,uA),16&t&&dA!==(dA=SA(A[4],"global.ml")+"")&&k(H,dA),null!==A[2].step?vA?vA.p(A,t):(vA=Oe(A),vA.c(),vA.m(q,T)):vA&&(vA.d(1),vA=null),CA===(CA=wA(A))&&BA?BA.p(A,t):(BA.d(1),BA=CA(A),BA&&(BA.c(),BA.m(P,null))),null!==A[2].step&&"pour"===A[3].steps[A[2].step].type?EA?(EA.p(A,t),12&t&&sA(EA,1)):(EA=Pe(A),EA.c(),sA(EA,1),EA.m(q,null)):EA&&(nA(),iA(EA,1,1,()=>{EA=null}),rA()),28&t){let e;for(bA=A[3].steps,e=0;e{r||(r=aA(t,fe,{},!0)),r.run(1)}),s=!0)},o(A){A&&(r||(r=aA(t,fe,{},!1)),r.run(0)),s=!1},d(A){A&&w(t),A&&r&&r.end(),i()}}}function Xe(e){let t,n,r,s,i;return{c(){t=B("div"),n=B("i"),Q(n,"class","svelte-gytla1"),Q(t,"class","actions bh stop svelte-gytla1")},m(A,e,r){v(A,t,e),f(t,n),n.innerHTML='\n \n',s=!0,r&&i(),i=I(t,"click",Ze)},p:A,i(A){s||(A&&q(()=>{r||(r=aA(t,fe,{},!0)),r.run(1)}),s=!0)},o(A){A&&(r||(r=aA(t,fe,{},!1)),r.run(0)),s=!1},d(A){A&&w(t),A&&r&&r.end(),i()}}}function Oe(A){let e,t,n;const r=[Re,$e],s=[];function i(A,e){return!1!==A[1]?0:1}return e=i(A),t=s[e]=r[e](A),{c(){t.c(),n=y()},m(A,t){s[e].m(A,t),v(A,n,t)},p(A,l){let o=e;e=i(A),e===o?s[e].p(A,l):(nA(),iA(s[o],1,1,()=>{s[o]=null}),rA(),t=s[e],t||(t=s[e]=r[e](A),t.c()),sA(t,1),t.m(n.parentNode,n))},d(A){s[e].d(A),A&&w(n)}}}function $e(A){let e,t,n,r,s=null!==A[2].step&&"pour"===A[3].steps[A[2].step].type&&We(A);return{c(){s&&s.c(),e=b(),t=B("div"),Q(t,"class","timer-bottom svelte-gytla1")},m(A,n){s&&s.m(A,n),v(A,e,n),v(A,t,n),t.innerHTML='\n \n \n \n \n',r=!0},p(A,t){null!==A[2].step&&"pour"===A[3].steps[A[2].step].type?s?(s.p(A,t),12&t&&sA(s,1)):(s=We(A),s.c(),sA(s,1),s.m(e.parentNode,e)):s&&(nA(),iA(s,1,1,()=>{s=null}),rA())},i(A){r||(sA(s),A&&q(()=>{n||(n=aA(t,fe,{},!0)),n.run(1)}),r=!0)},o(A){iA(s),A&&(n||(n=aA(t,fe,{},!1)),n.run(0)),r=!1},d(A){s&&s.d(A),A&&w(e),A&&w(t),A&&n&&n.end()}}}function Re(A){let e,t,n,r,s,i,l,o=SA(A[4],"global.paused")+"";return{c(){e=B("div"),t=E(o),r=b(),s=B("div"),Q(e,"class","timer-top svelte-gytla1"),Q(s,"class","timer-bottom svelte-gytla1")},m(A,n){v(A,e,n),f(e,t),v(A,r,n),v(A,s,n),s.innerHTML=Se,l=!0},p(A,e){(!l||16&e)&&o!==(o=SA(A[4],"global.paused")+"")&&k(t,o)},i(A){l||(A&&q(()=>{n||(n=aA(e,fe,{},!0)),n.run(1)}),A&&q(()=>{i||(i=aA(s,fe,{},!0)),i.run(1)}),l=!0)},o(A){A&&(n||(n=aA(e,fe,{},!1)),n.run(0)),A&&(i||(i=aA(s,fe,{},!1)),i.run(0)),l=!1},d(A){A&&w(e),A&&n&&n.end(),A&&w(r),A&&w(s),A&&i&&i.end()}}}function We(A){let e,t,n,r,s,i,l,o=parseInt(A[2].water-Me(A[3],A[2].step))+"",a=SA(A[4],"global.ml")+"";return{c(){e=B("div"),t=B("span"),n=E(o),r=b(),s=E(a),Q(t,"class","step-water svelte-gytla1"),Z(t,"inverted",(A[2].water-Me(A[3],A[2].step))/A[3].steps[A[2].step].amount>.9),Q(e,"class","timer-top svelte-gytla1")},m(A,i){v(A,e,i),f(e,t),f(t,n),f(t,r),f(t,s),l=!0},p(A,e){(!l||12&e)&&o!==(o=parseInt(A[2].water-Me(A[3],A[2].step))+"")&&k(n,o),(!l||16&e)&&a!==(a=SA(A[4],"global.ml")+"")&&k(s,a),12&e&&Z(t,"inverted",(A[2].water-Me(A[3],A[2].step))/A[3].steps[A[2].step].amount>.9)},i(A){l||(A&&q(()=>{i||(i=aA(e,fe,{},!0)),i.run(1)}),l=!0)},o(A){A&&(i||(i=aA(e,fe,{},!1)),i.run(0)),l=!1},d(A){A&&w(e),A&&i&&i.end()}}}function He(e){let t;return{c(){t=B("div"),Q(t,"class","timer-button svelte-gytla1")},m(A,e){v(A,t,e),t.innerHTML=Se},p:A,d(A){A&&w(t)}}}function je(e){let t;return{c(){t=E("...")},m(A,e){v(A,t,e)},p:A,d(A){A&&w(t)}}}function qe(A){let e,t=SA(A[4],"global.enjoy")+"";return{c(){e=E(t)},m(A,t){v(A,e,t)},p(A,n){16&n&&t!==(t=SA(A[4],"global.enjoy")+"")&&k(e,t)},d(A){A&&w(e)}}}function Te(A){let e,t,n=YA(A[2].time)+"";return{c(){e=B("div"),t=E(n),Q(e,"class","counter svelte-gytla1")},m(A,n){v(A,e,n),f(e,t)},p(A,e){4&e&&n!==(n=YA(A[2].time)+"")&&k(t,n)},d(A){A&&w(e)}}}function Pe(A){let e,t,n;return{c(){e=B("div"),Q(e,"class","water-level svelte-gytla1"),M(e,"height",(A[2].water-Me(A[3],A[2].step))/A[3].steps[A[2].step].amount*100+"%")},m(A,t){v(A,e,t),n=!0},p(A,t){(!n||12&t)&&M(e,"height",(A[2].water-Me(A[3],A[2].step))/A[3].steps[A[2].step].amount*100+"%")},i(A){n||(t&&t.end(1),n=!0)},o(A){A&&(t=oA(e,me,{})),n=!1},d(A){A&&w(e),A&&t&&t.end()}}}function Ke(A){let e,t,n,r,s,i,l,o,a,c,g,u,d,h,p=LA(A[7].type)+"",m=SA(A[4],"step."+A[7].type)+"",C=YA(A[7].time)+"";function y(A,e){return A[7].amount?Ne:A[7].notes?Ue:void 0}let I=y(A),M=I&&I(A);return{c(){e=B("div"),t=B("div"),n=B("div"),r=b(),s=E(m),i=b(),M&&M.c(),l=b(),o=B("div"),a=B("div"),c=b(),g=E(C),u=b(),Q(n,"class","step-icon svelte-gytla1"),Q(t,"class","step-type svelte-gytla1"),Q(a,"class","step-icon svelte-gytla1"),Q(o,"class","step-time svelte-gytla1"),Q(e,"class","step b svelte-gytla1"),Z(e,"active",A[2].step===A[9])},m(A,d){v(A,e,d),f(e,t),f(t,n),n.innerHTML=p,f(t,r),f(t,s),f(e,i),M&&M.m(e,null),f(e,l),f(e,o),f(o,a),a.innerHTML=se,f(o,c),f(o,g),f(e,u),h=!0},p(A,t){(!h||8&t)&&p!==(p=LA(A[7].type)+"")&&(n.innerHTML=p),(!h||24&t)&&m!==(m=SA(A[4],"step."+A[7].type)+"")&&k(s,m),I===(I=y(A))&&M?M.p(A,t):(M&&M.d(1),M=I&&I(A),M&&(M.c(),M.m(e,l))),(!h||8&t)&&C!==(C=YA(A[7].time)+"")&&k(g,C),4&t&&Z(e,"active",A[2].step===A[9])},i(A){h||(d&&d.end(1),h=!0)},o(A){A&&(d=oA(e,fe,{})),h=!1},d(A){A&&w(e),M&&M.d(),A&&d&&d.end()}}}function Ue(A){let e,t,n=A[7].notes+"";return{c(){e=B("div"),t=E(n),Q(e,"class","step-amount svelte-gytla1")},m(A,n){v(A,e,n),f(e,t)},p(A,e){8&e&&n!==(n=A[7].notes+"")&&k(t,n)},d(A){A&&w(e)}}}function Ne(A){let e,t,n,r=A[7].amount+"",s=SA(A[4],"global.ml")+"";return{c(){e=B("div"),t=E(r),n=E(s),Q(e,"class","step-amount svelte-gytla1")},m(A,r){v(A,e,r),f(e,t),f(e,n)},p(A,e){8&e&&r!==(r=A[7].amount+"")&&k(t,r),16&e&&s!==(s=SA(A[4],"global.ml")+"")&&k(n,s)},d(A){A&&w(e)}}}function _e(A){let e,t=A[9]>=A[2].step&&Ke(A);return{c(){t&&t.c(),e=y()},m(A,n){t&&t.m(A,n),v(A,e,n)},p(A,n){A[9]>=A[2].step?t?(t.p(A,n),4&n&&sA(t,1)):(t=Ke(A),t.c(),sA(t,1),t.m(e.parentNode,e)):t&&(nA(),iA(t,1,1,()=>{t=null}),rA())},d(A){t&&t.d(A),A&&w(e)}}}function At(A){let e,t,n,r,s,i;const l=new _A({props:{nomargin:!0,href:"/"+A[0].type}}),o=[De,Ye,ze],a=[];function c(A,e){return A[3].error?0:A[3].isFetching?1:A[3].ingridients.coffee?2:-1}return~(n=c(A))&&(r=a[n]=o[n](A)),{c(){e=B("div"),cA(l.$$.fragment),t=b(),r&&r.c(),s=y(),Q(e,"class","back-container svelte-gytla1")},m(A,r){v(A,e,r),gA(l,e,null),v(A,t,r),~n&&a[n].m(A,r),v(A,s,r),i=!0},p(A,[e]){const t={};1&e&&(t.href="/"+A[0].type),l.$set(t);let i=n;n=c(A),n===i?~n&&a[n].p(A,e):(r&&(nA(),iA(a[i],1,1,()=>{a[i]=null}),rA()),~n?(r=a[n],r||(r=a[n]=o[n](A),r.c()),sA(r,1),r.m(s.parentNode,s)):r=null)},i(A){i||(sA(l.$$.fragment,A),sA(r),i=!0)},o(A){iA(l.$$.fragment,A),iA(r),i=!1},d(A){A&&w(e),uA(l),A&&w(t),~n&&a[n].d(A),A&&w(s)}}}function et(A,e,t){let n,r,s;a(A,ke,A=>t(2,n=A)),a(A,Qe,A=>t(3,r=A)),a(A,VA,A=>t(4,s=A));let{params:i={}}=e,l=!1;var c;return J(()=>{(async(A,e)=>{let t=null;Qe.set({title:null,notes:null,steps:[],ingridients:{},error:null,isFetching:!0}),await re(A),t=o(ne)[A]?o(ne)[A].find(A=>A.name===e):null,t?Qe.set({title:t.title,notes:t.notes,steps:t.steps,ingridients:t.ingridients,error:null,isFetching:!1}):Qe.set({steps:[],ingridients:{},error:{response:{status:404,statusText:"Not Found"}},isFetching:!1})})(i.type,i.name)}),c=()=>{Ve()},G().$$.on_destroy.push(c),A.$set=A=>{"params"in A&&t(0,i=A.params)},[i,l,n,r,s,function(){t(1,l=!1),(()=>{const A=o(ke);xe(A.step+1)})()},function(){null!==n.step?!1!==l?(Ee.enable(),xe(n.step,l),t(1,l=!1)):t(1,(clearInterval(be),Ee.disable(),l=o(ke).time)):(Ee.enable(),xe(),t(1,l=!1))}]}function tt(e){let t;const n=new KA({props:{error:{response:{status:404,statusText:"Not Found"}}}});return{c(){cA(n.$$.fragment)},m(A,e){gA(n,A,e),t=!0},p:A,i(A){t||(sA(n.$$.fragment,A),t=!0)},o(A){iA(n.$$.fragment,A),t=!1},d(A){uA(n,A)}}}var nt={"/":class extends pA{constructor(A){super(),hA(this,A,WA,RA,i,{})}},"/:type":class extends pA{constructor(A){super(),hA(this,A,he,de,i,{params:0})}},"/:type/:name":class extends pA{constructor(A){super(),hA(this,A,et,At,i,{params:0})}},"*":class extends pA{constructor(A){super(),hA(this,A,null,tt,i,{})}}};function rt(e){let t,n;const r=new kA({props:{routes:nt}});return{c(){t=B("div"),cA(r.$$.fragment),Q(t,"class","page svelte-1w4h5f0")},m(A,e){v(A,t,e),gA(r,t,null),n=!0},p:A,i(A){n||(sA(r.$$.fragment,A),n=!0)},o(A){iA(r.$$.fragment,A),n=!1},d(A){A&&w(t),uA(r)}}}return new class extends pA{constructor(A){super(),hA(this,A,null,rt,i,{})}}({target:document.body})}(); diff --git a/public/icon/maskable_icon_128x128.png b/public/icon/maskable_icon_128x128.png new file mode 100644 index 0000000..e9dccff Binary files /dev/null and b/public/icon/maskable_icon_128x128.png differ diff --git a/public/icon/maskable_icon_192x192.png b/public/icon/maskable_icon_192x192.png new file mode 100644 index 0000000..3530a9a Binary files /dev/null and b/public/icon/maskable_icon_192x192.png differ diff --git a/public/icon/maskable_icon_384x384.png b/public/icon/maskable_icon_384x384.png new file mode 100644 index 0000000..e8ff57d Binary files /dev/null and b/public/icon/maskable_icon_384x384.png differ diff --git a/public/icon/maskable_icon_48x48.png b/public/icon/maskable_icon_48x48.png new file mode 100644 index 0000000..17f4908 Binary files /dev/null and b/public/icon/maskable_icon_48x48.png differ diff --git a/public/icon/maskable_icon_512x512.png b/public/icon/maskable_icon_512x512.png new file mode 100644 index 0000000..e7a5984 Binary files /dev/null and b/public/icon/maskable_icon_512x512.png differ diff --git a/public/icon/maskable_icon_72x72.png b/public/icon/maskable_icon_72x72.png new file mode 100644 index 0000000..e930b78 Binary files /dev/null and b/public/icon/maskable_icon_72x72.png differ diff --git a/public/icon/maskable_icon_96x96.png b/public/icon/maskable_icon_96x96.png new file mode 100644 index 0000000..290e62b Binary files /dev/null and b/public/icon/maskable_icon_96x96.png differ diff --git a/src/components/Back.svelte b/src/components/Back.svelte index 9f7e782..241cbd3 100644 --- a/src/components/Back.svelte +++ b/src/components/Back.svelte @@ -1,7 +1,7 @@