Compare commits

..

4 commits
pages ... main

Author SHA1 Message Date
82518c0b6b
Feat: add nosleep
All checks were successful
/ build (push) Successful in 3m36s
2024-01-20 15:10:56 +01:00
7230eaca2b
Chore: lock to dark mode
All checks were successful
/ build (push) Successful in 3m56s
2024-01-20 11:32:39 +01:00
48fe73611d
Fix: properly wait for audio
All checks were successful
/ build (push) Successful in 3m40s
2024-01-20 11:16:01 +01:00
bc4a087614
Chore: add domain
All checks were successful
/ build (push) Successful in 3m22s
2024-01-20 10:55:16 +01:00
44 changed files with 49 additions and 113 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1 +0,0 @@
import{y as f,s as l}from"./scheduler.2f27f277.js";const e=[];function h(n,b=f){let i;const o=new Set;function r(t){if(l(n,t)&&(n=t,i)){const c=!e.length;for(const s of o)s[1](),e.push(s,n);if(c){for(let s=0;s<e.length;s+=2)e[s][0](e[s+1]);e.length=0}}}function u(t){r(t(n))}function p(t,c=f){const s=[t,c];return o.add(s),o.size===1&&(i=b(r,u)||f),t(n),()=>{o.delete(s),o.size===0&&i&&(i(),i=null)}}return{set:r,update:u,subscribe:p}}export{h as w};

View file

@ -1,4 +0,0 @@
var H=Object.defineProperty;var K=(t,e,n)=>e in t?H(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var P=(t,e,n)=>(K(t,typeof e!="symbol"?e+"":e,n),n);import{y as x,T as L,U as T,d as k,I as v,H as z,M as j,V as W,K as X,W as N,h as Y,X as Z,Y as q,Z as G,_ as J,$ as U,a0 as Q,a1 as tt,a2 as et,a3 as nt,a4 as st}from"./scheduler.2f27f277.js";const B=typeof window<"u";let it=B?()=>window.performance.now():()=>Date.now(),A=B?t=>requestAnimationFrame(t):x;const y=new Set;function D(t){y.forEach(e=>{e.c(t)||(y.delete(e),e.f())}),y.size!==0&&A(D)}function rt(t){let e;return y.size===0&&A(D),{promise:new Promise(n=>{y.add(e={c:t,f:n})}),abort(){y.delete(e)}}}const S=new Map;let M=0;function at(t){let e=5381,n=t.length;for(;n--;)e=(e<<5)-e^t.charCodeAt(n);return e>>>0}function ot(t,e){const n={stylesheet:T(e),rules:{}};return S.set(t,n),n}function V(t,e,n,r,c,f,l,s=0){const u=16.666/r;let i=`{
`;for(let d=0;d<=1;d+=u){const g=e+(n-e)*f(d);i+=d*100+`%{${l(g,1-g)}}
`}const $=i+`100% {${l(n,1-n)}}
}`,o=`__svelte_${at($)}_${s}`,m=L(t),{stylesheet:p,rules:a}=S.get(m)||ot(m,t);a[o]||(a[o]=!0,p.insertRule(`@keyframes ${o} ${$}`,p.cssRules.length));const _=t.style.animation||"";return t.style.animation=`${_?`${_}, `:""}${o} ${r}ms linear ${c}ms 1 both`,M+=1,o}function ft(t,e){const n=(t.style.animation||"").split(", "),r=n.filter(e?f=>f.indexOf(e)<0:f=>f.indexOf("__svelte")===-1),c=n.length-r.length;c&&(t.style.animation=r.join(", "),M-=c,M||ut())}function ut(){A(()=>{M||(S.forEach(t=>{const{ownerNode:e}=t.stylesheet;e&&k(e)}),S.clear())})}let w;function lt(){return w||(w=Promise.resolve(),w.then(()=>{w=null})),w}function R(t,e,n){t.dispatchEvent(W(`${e?"intro":"outro"}${n}`))}const E=new Set;let h;function yt(){h={r:0,c:[],p:h}}function wt(){h.r||v(h.c),h=h.p}function ct(t,e){t&&t.i&&(E.delete(t),t.i(e))}function xt(t,e,n,r){if(t&&t.o){if(E.has(t))return;E.add(t),h.c.push(()=>{E.delete(t),r&&(n&&t.d(1),r())}),t.o(e)}else r&&r()}const dt={duration:0};function vt(t,e,n,r){let f=e(t,n,{direction:"both"}),l=r?0:1,s=null,u=null,i=null,$;function o(){i&&ft(t,i)}function m(a,_){const d=a.b-l;return _*=Math.abs(d),{a:l,b:a.b,d,duration:_,start:a.start,end:a.start+_,group:a.group}}function p(a){const{delay:_=0,duration:d=300,easing:g=X,tick:O=x,css:C}=f||dt,I={start:it()+_,b:a};a||(I.group=h,h.r+=1),"inert"in t&&(a?$!==void 0&&(t.inert=$):($=t.inert,t.inert=!0)),s||u?u=I:(C&&(o(),i=V(t,l,a,d,_,g,C)),a&&O(0,1),s=m(I,d),j(()=>R(t,a,"start")),rt(b=>{if(u&&b>u.start&&(s=m(u,d),u=null,R(t,s.b,"start"),C&&(o(),i=V(t,l,s.b,s.duration,0,g,f.css))),s){if(b>=s.end)O(l=s.b,1-l),R(t,s.b,"end"),u||(s.b?o():--s.group.r||v(s.group.c)),s=null;else if(b>=s.start){const F=b-s.start;l=s.a+s.d*g(F/s.duration),O(l,1-l)}}return!!(s||u)}))}return{run(a){z(f)?lt().then(()=>{f=f({direction:a?"in":"out"}),p(a)}):p(a)},end(){o(),s=u=null}}}function bt(t){t&&t.c()}function Et(t,e){t&&t.l(e)}function _t(t,e,n){const{fragment:r,after_update:c}=t.$$;r&&r.m(e,n),j(()=>{const f=t.$$.on_mount.map(Q).filter(z);t.$$.on_destroy?t.$$.on_destroy.push(...f):v(f),t.$$.on_mount=[]}),c.forEach(j)}function $t(t,e){const n=t.$$;n.fragment!==null&&(G(n.after_update),v(n.on_destroy),n.fragment&&n.fragment.d(e),n.on_destroy=n.fragment=null,n.ctx=[])}function ht(t,e){t.$$.dirty[0]===-1&&(tt.push(t),et(),t.$$.dirty.fill(0)),t.$$.dirty[e/31|0]|=1<<e%31}function St(t,e,n,r,c,f,l=null,s=[-1]){const u=J;U(t);const i=t.$$={fragment:null,ctx:[],props:f,update:x,not_equal:c,bound:N(),on_mount:[],on_destroy:[],on_disconnect:[],before_update:[],after_update:[],context:new Map(e.context||(u?u.$$.context:[])),callbacks:N(),dirty:s,skip_bound:!1,root:e.target||u.$$.root};l&&l(i.root);let $=!1;if(i.ctx=n?n(t,e.props||{},(o,m,...p)=>{const a=p.length?p[0]:m;return i.ctx&&c(i.ctx[o],i.ctx[o]=a)&&(!i.skip_bound&&i.bound[o]&&i.bound[o](a),$&&ht(t,o)),m}):[],i.update(),$=!0,v(i.before_update),i.fragment=r?r(i.ctx):!1,e.target){if(e.hydrate){nt();const o=Y(e.target);i.fragment&&i.fragment.l(o),o.forEach(k)}else i.fragment&&i.fragment.c();e.intro&&ct(t.$$.fragment),_t(t,e.target,e.anchor),st(),Z()}U(u)}class Mt{constructor(){P(this,"$$");P(this,"$$set")}$destroy(){$t(this,1),this.$destroy=x}$on(e,n){if(!z(n))return x;const r=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return r.push(n),()=>{const c=r.indexOf(n);c!==-1&&r.splice(c,1)}}$set(e){this.$$set&&!q(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}}const mt="4";typeof window<"u"&&(window.__svelte||(window.__svelte={v:new Set})).v.add(mt);export{Mt as S,ct as a,bt as b,wt as c,Et as d,$t as e,vt as f,yt as g,St as i,_t as m,xt as t};

File diff suppressed because one or more lines are too long

View file

@ -1 +0,0 @@
import{w as u}from"./index.6e61dc83.js";var _;const k=((_=globalThis.__sveltekit_1xaqo2c)==null?void 0:_.base)??"";var g;const m=((g=globalThis.__sveltekit_1xaqo2c)==null?void 0:g.assets)??k,w="1705744607370",T="sveltekit:snapshot",x="sveltekit:scroll",y="sveltekit:index",f={tap:1,hover:2,viewport:3,eager:4,off:-1},h=location.origin;function I(e){let t=e.baseURI;if(!t){const n=e.getElementsByTagName("base");t=n.length?n[0].href:e.URL}return t}function S(){return{x:pageXOffset,y:pageYOffset}}function c(e,t){return e.getAttribute(`data-sveltekit-${t}`)}const d={...f,"":f.hover};function b(e){let t=e.assignedSlot??e.parentNode;return(t==null?void 0:t.nodeType)===11&&(t=t.host),t}function O(e,t){for(;e&&e!==t;){if(e.nodeName.toUpperCase()==="A"&&e.hasAttribute("href"))return e;e=b(e)}}function U(e,t){let n;try{n=new URL(e instanceof SVGAElement?e.href.baseVal:e.href,document.baseURI)}catch{}const o=e instanceof SVGAElement?e.target.baseVal:e.target,r=!n||!!o||A(n,t)||(e.getAttribute("rel")||"").split(/\s+/).includes("external"),l=(n==null?void 0:n.origin)===h&&e.hasAttribute("download");return{url:n,external:r,target:o,download:l}}function L(e){let t=null,n=null,o=null,r=null,l=null,a=null,s=e;for(;s&&s!==document.documentElement;)o===null&&(o=c(s,"preload-code")),r===null&&(r=c(s,"preload-data")),t===null&&(t=c(s,"keepfocus")),n===null&&(n=c(s,"noscroll")),l===null&&(l=c(s,"reload")),a===null&&(a=c(s,"replacestate")),s=b(s);function i(v){switch(v){case"":case"true":return!0;case"off":case"false":return!1;default:return null}}return{preload_code:d[o??"off"],preload_data:d[r??"off"],keep_focus:i(t),noscroll:i(n),reload:i(l),replace_state:i(a)}}function p(e){const t=u(e);let n=!0;function o(){n=!0,t.update(a=>a)}function r(a){n=!1,t.set(a)}function l(a){let s;return t.subscribe(i=>{(s===void 0||n&&i!==s)&&a(s=i)})}return{notify:o,set:r,subscribe:l}}function E(){const{set:e,subscribe:t}=u(!1);let n;async function o(){clearTimeout(n);try{const r=await fetch(`${m}/_app/version.json`,{headers:{pragma:"no-cache","cache-control":"no-cache"}});if(!r.ok)return!1;const a=(await r.json()).version!==w;return a&&(e(!0),clearTimeout(n)),a}catch{return!1}}return{subscribe:t,check:o}}function A(e,t){return e.origin!==h||!e.pathname.startsWith(t)}function N(e){e.client}const P={url:p({}),page:p({}),navigating:u(null),updated:E()};export{y as I,f as P,x as S,T as a,U as b,L as c,P as d,k as e,O as f,I as g,N as h,A as i,h as o,S as s};

View file

@ -1 +0,0 @@
import{w as u}from"./index.6e61dc83.js";var _;const k=((_=globalThis.__sveltekit_1q9svwb)==null?void 0:_.base)??"";var g;const w=((g=globalThis.__sveltekit_1q9svwb)==null?void 0:g.assets)??k,m="1705759947509",T="sveltekit:snapshot",y="sveltekit:scroll",I="sveltekit:index",f={tap:1,hover:2,viewport:3,eager:4,off:-1},h=location.origin;function S(e){let t=e.baseURI;if(!t){const n=e.getElementsByTagName("base");t=n.length?n[0].href:e.URL}return t}function x(){return{x:pageXOffset,y:pageYOffset}}function c(e,t){return e.getAttribute(`data-sveltekit-${t}`)}const d={...f,"":f.hover};function b(e){let t=e.assignedSlot??e.parentNode;return(t==null?void 0:t.nodeType)===11&&(t=t.host),t}function O(e,t){for(;e&&e!==t;){if(e.nodeName.toUpperCase()==="A"&&e.hasAttribute("href"))return e;e=b(e)}}function U(e,t){let n;try{n=new URL(e instanceof SVGAElement?e.href.baseVal:e.href,document.baseURI)}catch{}const o=e instanceof SVGAElement?e.target.baseVal:e.target,r=!n||!!o||A(n,t)||(e.getAttribute("rel")||"").split(/\s+/).includes("external"),l=(n==null?void 0:n.origin)===h&&e.hasAttribute("download");return{url:n,external:r,target:o,download:l}}function L(e){let t=null,n=null,o=null,r=null,l=null,a=null,s=e;for(;s&&s!==document.documentElement;)o===null&&(o=c(s,"preload-code")),r===null&&(r=c(s,"preload-data")),t===null&&(t=c(s,"keepfocus")),n===null&&(n=c(s,"noscroll")),l===null&&(l=c(s,"reload")),a===null&&(a=c(s,"replacestate")),s=b(s);function i(v){switch(v){case"":case"true":return!0;case"off":case"false":return!1;default:return null}}return{preload_code:d[o??"off"],preload_data:d[r??"off"],keep_focus:i(t),noscroll:i(n),reload:i(l),replace_state:i(a)}}function p(e){const t=u(e);let n=!0;function o(){n=!0,t.update(a=>a)}function r(a){n=!1,t.set(a)}function l(a){let s;return t.subscribe(i=>{(s===void 0||n&&i!==s)&&a(s=i)})}return{notify:o,set:r,subscribe:l}}function E(){const{set:e,subscribe:t}=u(!1);let n;async function o(){clearTimeout(n);try{const r=await fetch(`${w}/_app/version.json`,{headers:{pragma:"no-cache","cache-control":"no-cache"}});if(!r.ok)return!1;const a=(await r.json()).version!==m;return a&&(e(!0),clearTimeout(n)),a}catch{return!1}}return{subscribe:t,check:o}}function A(e,t){return e.origin!==h||!e.pathname.startsWith(t)}function N(e){e.client}const P={url:p({}),page:p({}),navigating:u(null),updated:E()};export{I,f as P,y as S,T as a,U as b,L as c,P as d,k as e,O as f,S as g,N as h,A as i,h as o,x as s};

View file

@ -1 +0,0 @@
import{w as u}from"./index.6e61dc83.js";var _;const k=((_=globalThis.__sveltekit_hgxnqy)==null?void 0:_.base)??"";var g;const m=((g=globalThis.__sveltekit_hgxnqy)==null?void 0:g.assets)??k,w="1705745853765",R="sveltekit:snapshot",T="sveltekit:scroll",x="sveltekit:index",f={tap:1,hover:2,viewport:3,eager:4,off:-1},h=location.origin;function I(e){let t=e.baseURI;if(!t){const n=e.getElementsByTagName("base");t=n.length?n[0].href:e.URL}return t}function S(){return{x:pageXOffset,y:pageYOffset}}function c(e,t){return e.getAttribute(`data-sveltekit-${t}`)}const d={...f,"":f.hover};function b(e){let t=e.assignedSlot??e.parentNode;return(t==null?void 0:t.nodeType)===11&&(t=t.host),t}function O(e,t){for(;e&&e!==t;){if(e.nodeName.toUpperCase()==="A"&&e.hasAttribute("href"))return e;e=b(e)}}function U(e,t){let n;try{n=new URL(e instanceof SVGAElement?e.href.baseVal:e.href,document.baseURI)}catch{}const o=e instanceof SVGAElement?e.target.baseVal:e.target,r=!n||!!o||E(n,t)||(e.getAttribute("rel")||"").split(/\s+/).includes("external"),l=(n==null?void 0:n.origin)===h&&e.hasAttribute("download");return{url:n,external:r,target:o,download:l}}function L(e){let t=null,n=null,o=null,r=null,l=null,a=null,s=e;for(;s&&s!==document.documentElement;)o===null&&(o=c(s,"preload-code")),r===null&&(r=c(s,"preload-data")),t===null&&(t=c(s,"keepfocus")),n===null&&(n=c(s,"noscroll")),l===null&&(l=c(s,"reload")),a===null&&(a=c(s,"replacestate")),s=b(s);function i(v){switch(v){case"":case"true":return!0;case"off":case"false":return!1;default:return null}}return{preload_code:d[o??"off"],preload_data:d[r??"off"],keep_focus:i(t),noscroll:i(n),reload:i(l),replace_state:i(a)}}function p(e){const t=u(e);let n=!0;function o(){n=!0,t.update(a=>a)}function r(a){n=!1,t.set(a)}function l(a){let s;return t.subscribe(i=>{(s===void 0||n&&i!==s)&&a(s=i)})}return{notify:o,set:r,subscribe:l}}function y(){const{set:e,subscribe:t}=u(!1);let n;async function o(){clearTimeout(n);try{const r=await fetch(`${m}/_app/version.json`,{headers:{pragma:"no-cache","cache-control":"no-cache"}});if(!r.ok)return!1;const a=(await r.json()).version!==w;return a&&(e(!0),clearTimeout(n)),a}catch{return!1}}return{subscribe:t,check:o}}function E(e,t){return e.origin!==h||!e.pathname.startsWith(t)}function N(e){e.client}const P={url:p({}),page:p({}),navigating:u(null),updated:y()};export{x as I,f as P,T as S,R as a,U as b,L as c,P as d,k as e,O as f,I as g,N as h,E as i,h as o,S as s};

View file

@ -1 +0,0 @@
import{w as u}from"./index.6e61dc83.js";var _;const k=((_=globalThis.__sveltekit_1jyx75p)==null?void 0:_.base)??"";var g;const m=((g=globalThis.__sveltekit_1jyx75p)==null?void 0:g.assets)??k,w="1705746858812",R="sveltekit:snapshot",T="sveltekit:scroll",x="sveltekit:index",f={tap:1,hover:2,viewport:3,eager:4,off:-1},h=location.origin;function I(e){let t=e.baseURI;if(!t){const n=e.getElementsByTagName("base");t=n.length?n[0].href:e.URL}return t}function S(){return{x:pageXOffset,y:pageYOffset}}function c(e,t){return e.getAttribute(`data-sveltekit-${t}`)}const d={...f,"":f.hover};function b(e){let t=e.assignedSlot??e.parentNode;return(t==null?void 0:t.nodeType)===11&&(t=t.host),t}function O(e,t){for(;e&&e!==t;){if(e.nodeName.toUpperCase()==="A"&&e.hasAttribute("href"))return e;e=b(e)}}function U(e,t){let n;try{n=new URL(e instanceof SVGAElement?e.href.baseVal:e.href,document.baseURI)}catch{}const o=e instanceof SVGAElement?e.target.baseVal:e.target,r=!n||!!o||E(n,t)||(e.getAttribute("rel")||"").split(/\s+/).includes("external"),l=(n==null?void 0:n.origin)===h&&e.hasAttribute("download");return{url:n,external:r,target:o,download:l}}function L(e){let t=null,n=null,o=null,r=null,l=null,a=null,s=e;for(;s&&s!==document.documentElement;)o===null&&(o=c(s,"preload-code")),r===null&&(r=c(s,"preload-data")),t===null&&(t=c(s,"keepfocus")),n===null&&(n=c(s,"noscroll")),l===null&&(l=c(s,"reload")),a===null&&(a=c(s,"replacestate")),s=b(s);function i(v){switch(v){case"":case"true":return!0;case"off":case"false":return!1;default:return null}}return{preload_code:d[o??"off"],preload_data:d[r??"off"],keep_focus:i(t),noscroll:i(n),reload:i(l),replace_state:i(a)}}function p(e){const t=u(e);let n=!0;function o(){n=!0,t.update(a=>a)}function r(a){n=!1,t.set(a)}function l(a){let s;return t.subscribe(i=>{(s===void 0||n&&i!==s)&&a(s=i)})}return{notify:o,set:r,subscribe:l}}function y(){const{set:e,subscribe:t}=u(!1);let n;async function o(){clearTimeout(n);try{const r=await fetch(`${m}/_app/version.json`,{headers:{pragma:"no-cache","cache-control":"no-cache"}});if(!r.ok)return!1;const a=(await r.json()).version!==w;return a&&(e(!0),clearTimeout(n)),a}catch{return!1}}return{subscribe:t,check:o}}function E(e,t){return e.origin!==h||!e.pathname.startsWith(t)}function N(e){e.client}const j={url:p({}),page:p({}),navigating:u(null),updated:y()};export{x as I,f as P,T as S,R as a,U as b,L as c,j as d,k as e,O as f,I as g,N as h,E as i,h as o,S as s};

View file

@ -1 +0,0 @@
import{w as u}from"./index.6e61dc83.js";var _;const k=((_=globalThis.__sveltekit_1pldfrp)==null?void 0:_.base)??"";var g;const m=((g=globalThis.__sveltekit_1pldfrp)==null?void 0:g.assets)??k,w="1705744063537",T="sveltekit:snapshot",y="sveltekit:scroll",I="sveltekit:index",f={tap:1,hover:2,viewport:3,eager:4,off:-1},h=location.origin;function S(e){let t=e.baseURI;if(!t){const n=e.getElementsByTagName("base");t=n.length?n[0].href:e.URL}return t}function x(){return{x:pageXOffset,y:pageYOffset}}function c(e,t){return e.getAttribute(`data-sveltekit-${t}`)}const d={...f,"":f.hover};function b(e){let t=e.assignedSlot??e.parentNode;return(t==null?void 0:t.nodeType)===11&&(t=t.host),t}function O(e,t){for(;e&&e!==t;){if(e.nodeName.toUpperCase()==="A"&&e.hasAttribute("href"))return e;e=b(e)}}function U(e,t){let n;try{n=new URL(e instanceof SVGAElement?e.href.baseVal:e.href,document.baseURI)}catch{}const o=e instanceof SVGAElement?e.target.baseVal:e.target,r=!n||!!o||A(n,t)||(e.getAttribute("rel")||"").split(/\s+/).includes("external"),l=(n==null?void 0:n.origin)===h&&e.hasAttribute("download");return{url:n,external:r,target:o,download:l}}function L(e){let t=null,n=null,o=null,r=null,l=null,a=null,s=e;for(;s&&s!==document.documentElement;)o===null&&(o=c(s,"preload-code")),r===null&&(r=c(s,"preload-data")),t===null&&(t=c(s,"keepfocus")),n===null&&(n=c(s,"noscroll")),l===null&&(l=c(s,"reload")),a===null&&(a=c(s,"replacestate")),s=b(s);function i(v){switch(v){case"":case"true":return!0;case"off":case"false":return!1;default:return null}}return{preload_code:d[o??"off"],preload_data:d[r??"off"],keep_focus:i(t),noscroll:i(n),reload:i(l),replace_state:i(a)}}function p(e){const t=u(e);let n=!0;function o(){n=!0,t.update(a=>a)}function r(a){n=!1,t.set(a)}function l(a){let s;return t.subscribe(i=>{(s===void 0||n&&i!==s)&&a(s=i)})}return{notify:o,set:r,subscribe:l}}function E(){const{set:e,subscribe:t}=u(!1);let n;async function o(){clearTimeout(n);try{const r=await fetch(`${m}/_app/version.json`,{headers:{pragma:"no-cache","cache-control":"no-cache"}});if(!r.ok)return!1;const a=(await r.json()).version!==w;return a&&(e(!0),clearTimeout(n)),a}catch{return!1}}return{subscribe:t,check:o}}function A(e,t){return e.origin!==h||!e.pathname.startsWith(t)}function N(e){e.client}const P={url:p({}),page:p({}),navigating:u(null),updated:E()};export{I,f as P,y as S,T as a,U as b,L as c,P as d,k as e,O as f,S as g,N as h,A as i,h as o,x as s};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1 +0,0 @@
import{s as l,r,u as i,v as u,w as f}from"../chunks/scheduler.2f27f277.js";import{S as _,i as c,a as p,t as m}from"../chunks/index.d9978d1c.js";const d=!1,$=!1,S=Object.freeze(Object.defineProperty({__proto__:null,prerender:d,ssr:$},Symbol.toStringTag,{value:"Module"}));function g(n){let s;const a=n[1].default,e=r(a,n,n[0],null);return{c(){e&&e.c()},l(t){e&&e.l(t)},m(t,o){e&&e.m(t,o),s=!0},p(t,[o]){e&&e.p&&(!s||o&1)&&i(e,a,t,t[0],s?f(a,t[0],o,null):u(t[0]),null)},i(t){s||(p(e,t),s=!0)},o(t){m(e,t),s=!1},d(t){e&&e.d(t)}}}function b(n,s,a){let{$$slots:e={},$$scope:t}=s;return n.$$set=o=>{"$$scope"in o&&a(0,t=o.$$scope)},[t,e]}class h extends _{constructor(s){super(),c(this,s,b,g,l,{})}}export{h as component,S as universal};

View file

@ -1 +0,0 @@
import{s as l,r,u as i,v as u,w as f}from"../chunks/scheduler.2f27f277.js";import{S as _,i as c,a as p,t as m}from"../chunks/index.d9978d1c.js";const d=!1,$=!1,S=Object.freeze(Object.defineProperty({__proto__:null,prerender:d,ssr:$},Symbol.toStringTag,{value:"Module"}));function g(n){let s;const a=n[1].default,e=r(a,n,n[0],null);return{c(){e&&e.c()},l(t){e&&e.l(t)},m(t,o){e&&e.m(t,o),s=!0},p(t,[o]){e&&e.p&&(!s||o&1)&&i(e,a,t,t[0],s?f(a,t[0],o,null):u(t[0]),null)},i(t){s||(p(e,t),s=!0)},o(t){m(e,t),s=!1},d(t){e&&e.d(t)}}}function b(n,s,a){let{$$slots:e={},$$scope:t}=s;return n.$$set=o=>{"$$scope"in o&&a(0,t=o.$$scope)},[t,e]}class h extends _{constructor(s){super(),c(this,s,b,g,l,{})}}export{h as component,S as universal};

View file

@ -1 +0,0 @@
import{s as x,f as _,l as d,a as S,g as f,h as g,m as h,d as l,c as y,i as m,x as v,n as $,y as E,z as q}from"../chunks/scheduler.2f27f277.js";import{S as z,i as C}from"../chunks/index.d9978d1c.js";import{d as H}from"../chunks/singletons.69a0fcf5.js";const P=()=>{const s=H;return{page:{subscribe:s.page.subscribe},navigating:{subscribe:s.navigating.subscribe},updated:s.updated}},j={subscribe(s){return P().page.subscribe(s)}};function k(s){var b;let t,r=s[0].status+"",o,n,i,c=((b=s[0].error)==null?void 0:b.message)+"",u;return{c(){t=_("h1"),o=d(r),n=S(),i=_("p"),u=d(c)},l(e){t=f(e,"H1",{});var a=g(t);o=h(a,r),a.forEach(l),n=y(e),i=f(e,"P",{});var p=g(i);u=h(p,c),p.forEach(l)},m(e,a){m(e,t,a),v(t,o),m(e,n,a),m(e,i,a),v(i,u)},p(e,[a]){var p;a&1&&r!==(r=e[0].status+"")&&$(o,r),a&1&&c!==(c=((p=e[0].error)==null?void 0:p.message)+"")&&$(u,c)},i:E,o:E,d(e){e&&(l(t),l(n),l(i))}}}function w(s,t,r){let o;return q(s,j,n=>r(0,o=n)),[o]}let F=class extends z{constructor(t){super(),C(this,t,w,k,x,{})}};export{F as component};

View file

@ -1 +0,0 @@
import{s as x,f as _,l as d,a as S,g as f,h as g,m as h,d as l,c as y,i as m,x as v,n as $,y as E,z as q}from"../chunks/scheduler.2f27f277.js";import{S as z,i as C}from"../chunks/index.d9978d1c.js";import{d as H}from"../chunks/singletons.42b70eaf.js";const P=()=>{const s=H;return{page:{subscribe:s.page.subscribe},navigating:{subscribe:s.navigating.subscribe},updated:s.updated}},j={subscribe(s){return P().page.subscribe(s)}};function k(s){var b;let t,r=s[0].status+"",o,n,i,c=((b=s[0].error)==null?void 0:b.message)+"",u;return{c(){t=_("h1"),o=d(r),n=S(),i=_("p"),u=d(c)},l(e){t=f(e,"H1",{});var a=g(t);o=h(a,r),a.forEach(l),n=y(e),i=f(e,"P",{});var p=g(i);u=h(p,c),p.forEach(l)},m(e,a){m(e,t,a),v(t,o),m(e,n,a),m(e,i,a),v(i,u)},p(e,[a]){var p;a&1&&r!==(r=e[0].status+"")&&$(o,r),a&1&&c!==(c=((p=e[0].error)==null?void 0:p.message)+"")&&$(u,c)},i:E,o:E,d(e){e&&(l(t),l(n),l(i))}}}function w(s,t,r){let o;return q(s,j,n=>r(0,o=n)),[o]}let F=class extends z{constructor(t){super(),C(this,t,w,k,x,{})}};export{F as component};

View file

@ -1 +0,0 @@
import{s as x,f as _,l as d,a as S,g as f,h as g,m as h,d as l,c as y,i as m,x as v,n as $,y as E,z as q}from"../chunks/scheduler.2f27f277.js";import{S as z,i as C}from"../chunks/index.d9978d1c.js";import{d as H}from"../chunks/singletons.52f82b7e.js";const P=()=>{const s=H;return{page:{subscribe:s.page.subscribe},navigating:{subscribe:s.navigating.subscribe},updated:s.updated}},j={subscribe(s){return P().page.subscribe(s)}};function k(s){var b;let t,r=s[0].status+"",o,n,i,c=((b=s[0].error)==null?void 0:b.message)+"",u;return{c(){t=_("h1"),o=d(r),n=S(),i=_("p"),u=d(c)},l(e){t=f(e,"H1",{});var a=g(t);o=h(a,r),a.forEach(l),n=y(e),i=f(e,"P",{});var p=g(i);u=h(p,c),p.forEach(l)},m(e,a){m(e,t,a),v(t,o),m(e,n,a),m(e,i,a),v(i,u)},p(e,[a]){var p;a&1&&r!==(r=e[0].status+"")&&$(o,r),a&1&&c!==(c=((p=e[0].error)==null?void 0:p.message)+"")&&$(u,c)},i:E,o:E,d(e){e&&(l(t),l(n),l(i))}}}function w(s,t,r){let o;return q(s,j,n=>r(0,o=n)),[o]}let F=class extends z{constructor(t){super(),C(this,t,w,k,x,{})}};export{F as component};

View file

@ -1 +0,0 @@
import{s as x,f as _,l as d,a as S,g as f,h as g,m as h,d as l,c as y,i as m,x as v,n as $,y as E,z as q}from"../chunks/scheduler.2f27f277.js";import{S as z,i as C}from"../chunks/index.d9978d1c.js";import{d as H}from"../chunks/singletons.9f0d5e75.js";const P=()=>{const s=H;return{page:{subscribe:s.page.subscribe},navigating:{subscribe:s.navigating.subscribe},updated:s.updated}},j={subscribe(s){return P().page.subscribe(s)}};function k(s){var b;let t,r=s[0].status+"",o,n,i,c=((b=s[0].error)==null?void 0:b.message)+"",u;return{c(){t=_("h1"),o=d(r),n=S(),i=_("p"),u=d(c)},l(e){t=f(e,"H1",{});var a=g(t);o=h(a,r),a.forEach(l),n=y(e),i=f(e,"P",{});var p=g(i);u=h(p,c),p.forEach(l)},m(e,a){m(e,t,a),v(t,o),m(e,n,a),m(e,i,a),v(i,u)},p(e,[a]){var p;a&1&&r!==(r=e[0].status+"")&&$(o,r),a&1&&c!==(c=((p=e[0].error)==null?void 0:p.message)+"")&&$(u,c)},i:E,o:E,d(e){e&&(l(t),l(n),l(i))}}}function w(s,t,r){let o;return q(s,j,n=>r(0,o=n)),[o]}let F=class extends z{constructor(t){super(),C(this,t,w,k,x,{})}};export{F as component};

View file

@ -1 +0,0 @@
import{s as x,f as _,l as d,a as S,g as f,h as g,m as h,d as l,c as y,i as m,x as v,n as $,y as E,z as q}from"../chunks/scheduler.2f27f277.js";import{S as z,i as C}from"../chunks/index.d9978d1c.js";import{d as H}from"../chunks/singletons.6c26a286.js";const P=()=>{const s=H;return{page:{subscribe:s.page.subscribe},navigating:{subscribe:s.navigating.subscribe},updated:s.updated}},j={subscribe(s){return P().page.subscribe(s)}};function k(s){var b;let t,r=s[0].status+"",o,n,i,c=((b=s[0].error)==null?void 0:b.message)+"",u;return{c(){t=_("h1"),o=d(r),n=S(),i=_("p"),u=d(c)},l(e){t=f(e,"H1",{});var a=g(t);o=h(a,r),a.forEach(l),n=y(e),i=f(e,"P",{});var p=g(i);u=h(p,c),p.forEach(l)},m(e,a){m(e,t,a),v(t,o),m(e,n,a),m(e,i,a),v(i,u)},p(e,[a]){var p;a&1&&r!==(r=e[0].status+"")&&$(o,r),a&1&&c!==(c=((p=e[0].error)==null?void 0:p.message)+"")&&$(u,c)},i:E,o:E,d(e){e&&(l(t),l(n),l(i))}}}function w(s,t,r){let o;return q(s,j,n=>r(0,o=n)),[o]}let F=class extends z{constructor(t){super(),C(this,t,w,k,x,{})}};export{F as component};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1 +0,0 @@
{"version":"1705759947509"}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

View file

@ -10,7 +10,9 @@
#include "freertos/queue.h" #include "freertos/queue.h"
#include "esp_log.h" #include "esp_log.h"
#include "esp_timer.h" #include "esp_timer.h"
#include "esp_sleep.h"
#include "driver/gpio.h" #include "driver/gpio.h"
#include "driver/rtc_io.h"
#define TAG "main" #define TAG "main"
#define TRIGGER_PIN GPIO_NUM_12 #define TRIGGER_PIN GPIO_NUM_12
@ -82,6 +84,9 @@ void handleTrigger(void *)
void app_main() void app_main()
{ {
rtc_gpio_pullup_en(TRIGGER_PIN);
esp_sleep_enable_ext0_wakeup(TRIGGER_PIN, 0);
ESP_LOGI("main", "Starting BLE work!"); ESP_LOGI("main", "Starting BLE work!");
NimBLEDevice::init("Speed buzzer"); NimBLEDevice::init("Speed buzzer");
@ -124,11 +129,14 @@ void app_main()
for (;;) for (;;)
{ {
uint64_t currentTime; uint64_t currentTime;
if (xQueueReceive(triggerQueue, &currentTime, portMAX_DELAY) == pdTRUE) if (xQueueReceive(triggerQueue, &currentTime, 5 * 60 * 1000 / portTICK_PERIOD_MS) == pdTRUE)
{ {
bleLastTriggerTimeCharacteristic->setValue(currentTime); bleLastTriggerTimeCharacteristic->setValue(currentTime);
bleLastTriggerTimeCharacteristic->notify(); bleLastTriggerTimeCharacteristic->notify();
// ESP_LOGI(TAG, "Characteristic written!"); }
else if (bleServer->getConnectedCount() == 0)
{
esp_deep_sleep_start();
} }
} }
} }

View file

@ -1,40 +0,0 @@
<!doctype html>
<html lang="en" class="dark">
<head>
<meta charset="utf-8" />
<link rel="icon" href="/favicon.png" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="modulepreload" href="/_app/immutable/entry/start.74901a3b.js">
<link rel="modulepreload" href="/_app/immutable/chunks/scheduler.2f27f277.js">
<link rel="modulepreload" href="/_app/immutable/chunks/singletons.52f82b7e.js">
<link rel="modulepreload" href="/_app/immutable/chunks/index.6e61dc83.js">
<link rel="modulepreload" href="/_app/immutable/entry/app.53a23aa1.js">
<link rel="modulepreload" href="/_app/immutable/chunks/index.d9978d1c.js">
</head>
<body data-sveltekit-preload-data="hover"
class="bg-white dark:bg-gray-900 text-gray-600 dark:text-gray-400 antialiased">
<div style="display: contents">
<script>
{
__sveltekit_1q9svwb = {
base: "",
env: {}
};
const element = document.currentScript.parentElement;
Promise.all([
import("/_app/immutable/entry/start.74901a3b.js"),
import("/_app/immutable/entry/app.53a23aa1.js")
]).then(([kit, app]) => {
kit.start(app, element);
});
}
</script>
</div>
</body>
</html>

17
package-lock.json generated
View file

@ -8,12 +8,14 @@
"name": "bluetooth-buzzer", "name": "bluetooth-buzzer",
"version": "0.0.1", "version": "0.0.1",
"dependencies": { "dependencies": {
"nosleep.js": "^0.12.0",
"ua-parser-js": "^1.0.37" "ua-parser-js": "^1.0.37"
}, },
"devDependencies": { "devDependencies": {
"@sveltejs/adapter-auto": "^2.0.0", "@sveltejs/adapter-auto": "^2.0.0",
"@sveltejs/adapter-static": "^2.0.3", "@sveltejs/adapter-static": "^2.0.3",
"@sveltejs/kit": "^1.27.4", "@sveltejs/kit": "^1.27.4",
"@types/nosleep.js": "^0.10.0",
"@types/ua-parser-js": "^0.7.39", "@types/ua-parser-js": "^0.7.39",
"@types/web-bluetooth": "^0.0.20", "@types/web-bluetooth": "^0.0.20",
"@typescript-eslint/eslint-plugin": "^6.0.0", "@typescript-eslint/eslint-plugin": "^6.0.0",
@ -766,6 +768,16 @@
"integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==",
"dev": true "dev": true
}, },
"node_modules/@types/nosleep.js": {
"version": "0.10.0",
"resolved": "https://registry.npmjs.org/@types/nosleep.js/-/nosleep.js-0.10.0.tgz",
"integrity": "sha512-eFRD95pEYIPo7YZnRbasEJAwSzBOxkT9++vZ7ykoDDuxvBauSuEGKZsijLm2BzohGt5wIj8gSiI+9vwjKfmNgA==",
"deprecated": "This is a stub types definition. nosleep.js provides its own type definitions, so you do not need this installed.",
"dev": true,
"dependencies": {
"nosleep.js": "*"
}
},
"node_modules/@types/pug": { "node_modules/@types/pug": {
"version": "2.0.10", "version": "2.0.10",
"resolved": "https://registry.npmjs.org/@types/pug/-/pug-2.0.10.tgz", "resolved": "https://registry.npmjs.org/@types/pug/-/pug-2.0.10.tgz",
@ -2592,6 +2604,11 @@
"node": ">=0.10.0" "node": ">=0.10.0"
} }
}, },
"node_modules/nosleep.js": {
"version": "0.12.0",
"resolved": "https://registry.npmjs.org/nosleep.js/-/nosleep.js-0.12.0.tgz",
"integrity": "sha512-9d1HbpKLh3sdWlhXMhU6MMH+wQzKkrgfRkYV0EBdvt99YJfj0ilCJrWRDYG2130Tm4GXbEoTCx5b34JSaP+HhA=="
},
"node_modules/object-assign": { "node_modules/object-assign": {
"version": "4.1.1", "version": "4.1.1",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",

View file

@ -15,6 +15,7 @@
"@sveltejs/adapter-auto": "^2.0.0", "@sveltejs/adapter-auto": "^2.0.0",
"@sveltejs/adapter-static": "^2.0.3", "@sveltejs/adapter-static": "^2.0.3",
"@sveltejs/kit": "^1.27.4", "@sveltejs/kit": "^1.27.4",
"@types/nosleep.js": "^0.10.0",
"@types/ua-parser-js": "^0.7.39", "@types/ua-parser-js": "^0.7.39",
"@types/web-bluetooth": "^0.0.20", "@types/web-bluetooth": "^0.0.20",
"@typescript-eslint/eslint-plugin": "^6.0.0", "@typescript-eslint/eslint-plugin": "^6.0.0",
@ -38,6 +39,7 @@
}, },
"type": "module", "type": "module",
"dependencies": { "dependencies": {
"nosleep.js": "^0.12.0",
"ua-parser-js": "^1.0.37" "ua-parser-js": "^1.0.37"
} }
} }

Binary file not shown.

View file

@ -1,5 +1,5 @@
<!doctype html> <!doctype html>
<html lang="en"> <html lang="en" class="dark">
<head> <head>
<meta charset="utf-8" /> <meta charset="utf-8" />

View file

@ -4,8 +4,10 @@
import { bluetoothState } from '../stores'; import { bluetoothState } from '../stores';
import { UAParser } from 'ua-parser-js'; import { UAParser } from 'ua-parser-js';
import Timer from './Timer.svelte'; import Timer from './Timer.svelte';
import NoSleep from 'nosleep.js';
const uap = new UAParser(); const uap = new UAParser();
const noSleep = new NoSleep();
let timer: Timer; let timer: Timer;
let state: 'idle' | 'wait' | 'ready' | 'running' = 'idle'; let state: 'idle' | 'wait' | 'ready' | 'running' = 'idle';
@ -15,12 +17,23 @@
}; };
const start = async () => { const start = async () => {
if (!noSleep.isEnabled) {
noSleep.enable();
}
state = 'wait'; state = 'wait';
await delay(3000); await delay(3000);
state = 'ready'; state = 'ready';
await new Audio('/sound/ok-ready-go.mp3').play(); const audio = new Audio('/sound/ok-ready-go.mp3');
await delay(2600); const audioDone = new Promise<void>((resolve) => {
timer.start(); audio.onended = () => {
resolve();
};
});
await audio.play();
await audioDone;
timer.start(200n);
state = 'running'; state = 'running';
}; };

View file

@ -3,8 +3,8 @@
import { buzzerState } from '../stores'; import { buzzerState } from '../stores';
import { Button } from 'flowbite-svelte'; import { Button } from 'flowbite-svelte';
export const start = () => { export const start = (offset: bigint = 0n) => {
timerStartedAt = BigInt(Math.floor(performance.now())); timerStartedAt = BigInt(Math.floor(performance.now())) - offset;
timerStoppedAt = undefined; timerStoppedAt = undefined;
}; };

View file

@ -59,7 +59,7 @@ const config = {
], ],
plugins: [require('flowbite/plugin')], plugins: [require('flowbite/plugin')],
darkMode: 'media' darkMode: 'class'
}; };
module.exports = config; module.exports = config;