From c1fca345a63e3606df5d25de0a84f573f2d20caa Mon Sep 17 00:00:00 2001 From: Viktor Marinho <56888067+viktormarinho@users.noreply.github.com> Date: Wed, 4 Oct 2023 13:46:03 +0000 Subject: [PATCH] start feature environments UI + lot of minor fixes (input validation etc) --- Cargo.lock | 5 +- Cargo.toml | 1 + packages/client/src/app.css | 16 +++ .../client/src/lib/components/Feature.svelte | 10 +- .../client/src/lib/components/Features.svelte | 4 +- .../client/src/lib/components/Input.svelte | 3 +- .../src/lib/components/NewCredential.svelte | 4 + .../src/lib/components/NewFeature.svelte | 10 +- .../src/lib/components/NewProject.svelte | 2 +- .../client/src/lib/components/Projects.svelte | 13 +- .../client/src/lib/components/User.svelte | 1 + .../client/src/lib/icons/Adjustments.svelte | 12 ++ .../client/src/lib/icons/Environment.svelte | 10 ++ packages/client/src/lib/icons/Plus.svelte | 5 + packages/client/src/lib/routes/Project.svelte | 128 ++++++++++++++++-- packages/client/src/lib/types/environment.ts | 6 + packages/client/src/lib/types/feature.ts | 3 +- packages/client/src/lib/types/project.ts | 4 +- static/assets/Admin-102dbea5.js | 1 + static/assets/Admin-312e145a.css | 1 + static/assets/Admin-3a114b34.js | 1 - static/assets/Admin-ec9a2537.css | 1 - ...3334f8ec.js => BackToProjects-cdbc550f.js} | 2 +- static/assets/Portal-0ebf484e.js | 1 + static/assets/Portal-b058bbb1.css | 1 + static/assets/Portal-bbb113f2.js | 1 - static/assets/Portal-c5add968.css | 1 - static/assets/Project-4f60cc32.css | 1 + static/assets/Project-91d24e49.css | 1 - static/assets/Project-c76b8a8c.js | 1 + static/assets/Project-c7f12ff0.js | 1 - static/assets/Settings-2b8dc5e8.js | 2 + static/assets/Settings-3ca12224.css | 1 + static/assets/Settings-a4364d5e.js | 2 - static/assets/Settings-ac0e5205.css | 1 - .../{Tag-1cb3a800.js => Tag-ea8a169e.js} | 2 +- static/assets/index-3c6817a0.js | 7 + static/assets/index-486ffc8b.css | 1 + static/assets/index-a3a4c2aa.css | 1 - static/assets/index-c384d19f.js | 7 - static/index.html | 4 +- 41 files changed, 229 insertions(+), 50 deletions(-) create mode 100644 packages/client/src/lib/icons/Adjustments.svelte create mode 100644 packages/client/src/lib/icons/Environment.svelte create mode 100644 packages/client/src/lib/icons/Plus.svelte create mode 100644 packages/client/src/lib/types/environment.ts create mode 100644 static/assets/Admin-102dbea5.js create mode 100644 static/assets/Admin-312e145a.css delete mode 100644 static/assets/Admin-3a114b34.js delete mode 100644 static/assets/Admin-ec9a2537.css rename static/assets/{BackToProjects-3334f8ec.js => BackToProjects-cdbc550f.js} (98%) create mode 100644 static/assets/Portal-0ebf484e.js create mode 100644 static/assets/Portal-b058bbb1.css delete mode 100644 static/assets/Portal-bbb113f2.js delete mode 100644 static/assets/Portal-c5add968.css create mode 100644 static/assets/Project-4f60cc32.css delete mode 100644 static/assets/Project-91d24e49.css create mode 100644 static/assets/Project-c76b8a8c.js delete mode 100644 static/assets/Project-c7f12ff0.js create mode 100644 static/assets/Settings-2b8dc5e8.js create mode 100644 static/assets/Settings-3ca12224.css delete mode 100644 static/assets/Settings-a4364d5e.js delete mode 100644 static/assets/Settings-ac0e5205.css rename static/assets/{Tag-1cb3a800.js => Tag-ea8a169e.js} (93%) create mode 100644 static/assets/index-3c6817a0.js create mode 100644 static/assets/index-486ffc8b.css delete mode 100644 static/assets/index-a3a4c2aa.css delete mode 100644 static/assets/index-c384d19f.js diff --git a/Cargo.lock b/Cargo.lock index fa72c79..a7c85b9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -121,9 +121,9 @@ dependencies = [ [[package]] name = "async-trait" -version = "0.1.71" +version = "0.1.73" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a564d521dd56509c4c47480d00b80ee55f7e385ae48db5744c67ad50c92d2ebf" +checksum = "bc00ceb34980c03614e35a3a4e218276a0a824e911d07651cd0d858a51e8c0f0" dependencies = [ "proc-macro2", "quote", @@ -570,6 +570,7 @@ name = "enable" version = "0.1.0" dependencies = [ "argon2", + "async-trait", "axum", "axum-sessions", "dotenv", diff --git a/Cargo.toml b/Cargo.toml index 9973510..dc66945 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -24,3 +24,4 @@ dotenv = "0.15.0" rust-embed = "6.8.1" mime_guess = "2" uuid = { version = "1.4.1", features = ["v4"] } +async-trait = "0.1.73" diff --git a/packages/client/src/app.css b/packages/client/src/app.css index 09ae764..82ae62a 100644 --- a/packages/client/src/app.css +++ b/packages/client/src/app.css @@ -94,12 +94,28 @@ h1 { padding: 8px; cursor: pointer; } + .btn-secondary:hover { background-color: var(--hover-bg); } + .btn-secondary > span { color: var(--sec-content); font-size: 16px; font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif; font-weight: 500; +} + +select { + padding: 8px; + border-radius: 8px; + cursor: pointer; + font-weight: 600; + font-size: 16px; + border: none; + color: var(--sec-content); +} + +select:hover { + background-color: var(--hover-bg); } \ No newline at end of file diff --git a/packages/client/src/lib/components/Feature.svelte b/packages/client/src/lib/components/Feature.svelte index ca8fc9c..dce206f 100644 --- a/packages/client/src/lib/components/Feature.svelte +++ b/packages/client/src/lib/components/Feature.svelte @@ -1,18 +1,18 @@
- - {feature.id} + + {feature.feature_id} (showApiDefs = !showApiDefs)} selected={showApiDefs}/> {feature.active ? "Active" : "Disabled"}
- +
diff --git a/packages/client/src/lib/components/Features.svelte b/packages/client/src/lib/components/Features.svelte index ff9b2b9..d061f4c 100644 --- a/packages/client/src/lib/components/Features.svelte +++ b/packages/client/src/lib/components/Features.svelte @@ -1,8 +1,8 @@ {#if open}
(open = false)} class="hidden" class:open={open}>
+ + \ No newline at end of file diff --git a/packages/client/src/lib/types/environment.ts b/packages/client/src/lib/types/environment.ts new file mode 100644 index 0000000..8663aca --- /dev/null +++ b/packages/client/src/lib/types/environment.ts @@ -0,0 +1,6 @@ + +export type Environment = { + id: string; + name: string; + project_id: string; +} \ No newline at end of file diff --git a/packages/client/src/lib/types/feature.ts b/packages/client/src/lib/types/feature.ts index 90a3576..07029d6 100644 --- a/packages/client/src/lib/types/feature.ts +++ b/packages/client/src/lib/types/feature.ts @@ -1,5 +1,6 @@ -export type Feature = { +export type EnvironmentFeature = { id: string; active: boolean; project_id: number; + feature_id: string; }; diff --git a/packages/client/src/lib/types/project.ts b/packages/client/src/lib/types/project.ts index fd2feb6..e68fefa 100644 --- a/packages/client/src/lib/types/project.ts +++ b/packages/client/src/lib/types/project.ts @@ -1,8 +1,8 @@ -import { Feature } from "./feature"; +import { Environment } from "./environment"; export type ProjectPageData = { project: { name: string; }; - features: Feature[]; + envs: Environment[]; }; diff --git a/static/assets/Admin-102dbea5.js b/static/assets/Admin-102dbea5.js new file mode 100644 index 0000000..d01eced --- /dev/null +++ b/static/assets/Admin-102dbea5.js @@ -0,0 +1 @@ +import{S as q,i as z,s as D,a as N,b as i,c as j,d as f,n as T,e as b,f as g,g as P,h as V,l as H,t as $,j as Q,k as v,m as R,o as L,p as y,q as C,r as M,I as W,u as X,v as Y,B as Z,w as O,x as ee,y as te,z as ne,A as U,C as x,D as re,E as le,F as A,G as E}from"./index-3c6817a0.js";import{P as se,c as ae,N as oe}from"./Portal-0ebf484e.js";import{T as ce}from"./Tag-ea8a169e.js";function ie(a){let e,n,t,r,c;return{c(){e=N("svg"),n=N("path"),t=N("path"),r=N("path"),c=N("path"),i(n,"stroke","none"),i(n,"d","M0 0h24v24H0z"),i(n,"fill","none"),i(t,"d","M12 19h-7a2 2 0 0 1 -2 -2v-11a2 2 0 0 1 2 -2h4l3 3h7a2 2 0 0 1 2 2v3.5"),i(r,"d","M16 19h6"),i(c,"d","M19 16v6"),i(e,"xmlns","http://www.w3.org/2000/svg"),i(e,"class","icon icon-tabler icon-tabler-folder-plus"),i(e,"width","24"),i(e,"height","24"),i(e,"viewBox","0 0 24 24"),i(e,"stroke-width","2"),i(e,"stroke","currentColor"),i(e,"fill","none"),i(e,"stroke-linecap","round"),i(e,"stroke-linejoin","round")},m(s,o){j(s,e,o),f(e,n),f(e,t),f(e,r),f(e,c)},p:T,i:T,o:T,d(s){s&&b(e)}}}class ue extends q{constructor(e){super(),z(this,e,null,ie,D,{})}}function I(a){let e,n;return e=new se({props:{$$slots:{default:[me]},$$scope:{ctx:a}}}),{c(){y(e.$$.fragment)},m(t,r){C(e,t,r),n=!0},p(t,r){const c={};r&271&&(c.$$scope={dirty:r,ctx:t}),e.$set(c)},i(t){n||($(e.$$.fragment,t),n=!0)},o(t){v(e.$$.fragment,t),n=!1},d(t){M(e,t)}}}function fe(a){let e,n;return e=new ce({}),{c(){y(e.$$.fragment)},m(t,r){C(e,t,r),n=!0},i(t){n||($(e.$$.fragment,t),n=!0)},o(t){v(e.$$.fragment,t),n=!1},d(t){M(e,t)}}}function pe(a){let e,n;return e=new ue({}),{c(){y(e.$$.fragment)},m(t,r){C(e,t,r),n=!0},i(t){n||($(e.$$.fragment,t),n=!0)},o(t){v(e.$$.fragment,t),n=!1},d(t){M(e,t)}}}function me(a){let e,n,t,r,c,s,o,l,p,_,d;function m(u){a[6](u)}let w={maxLength:"35",type:"text",placeholder:"Project name",error:a[1].name,$$slots:{default:[fe]},$$scope:{ctx:a}};return a[0].name!==void 0&&(w.value=a[0].name),c=new W({props:w}),X.push(()=>Y(c,"value",m)),l=new Z({props:{loading:a[3],text:"Create",$$slots:{default:[pe]},$$scope:{ctx:a}}}),{c(){e=g("div"),n=g("form"),t=g("span"),t.textContent="New project",r=P(),y(c.$$.fragment),o=P(),y(l.$$.fragment),i(t,"class","svelte-1uyxs2l"),i(n,"class","modal-content svelte-1uyxs2l"),i(e,"class","hidden svelte-1uyxs2l"),O(e,"open",a[2])},m(u,h){j(u,e,h),f(e,n),f(n,t),f(n,r),C(c,n,null),f(n,o),C(l,n,null),p=!0,_||(d=[H(n,"submit",a[5]),ee(ae.call(null,e)),H(e,"click_outside",a[7])],_=!0)},p(u,h){const B={};h&2&&(B.error=u[1].name),h&256&&(B.$$scope={dirty:h,ctx:u}),!s&&h&1&&(s=!0,B.value=u[0].name,te(()=>s=!1)),c.$set(B);const S={};h&8&&(S.loading=u[3]),h&256&&(S.$$scope={dirty:h,ctx:u}),l.$set(S),(!p||h&4)&&O(e,"open",u[2])},i(u){p||($(c.$$.fragment,u),$(l.$$.fragment,u),p=!0)},o(u){v(c.$$.fragment,u),v(l.$$.fragment,u),p=!1},d(u){u&&b(e),M(c),M(l),_=!1,ne(d)}}}function de(a){let e,n,t,r,c,s,o=a[2]&&I(a);return{c(){e=g("button"),e.innerHTML="Create project +",n=P(),o&&o.c(),t=V(),i(e,"class","btn-secondary")},m(l,p){j(l,e,p),j(l,n,p),o&&o.m(l,p),j(l,t,p),r=!0,c||(s=H(e,"click",a[4]),c=!0)},p(l,[p]){l[2]?o?(o.p(l,p),p&4&&$(o,1)):(o=I(l),o.c(),$(o,1),o.m(t.parentNode,t)):o&&(Q(),v(o,1,1,()=>{o=null}),R())},i(l){r||($(o),r=!0)},o(l){v(o),r=!1},d(l){l&&(b(e),b(n),b(t)),o&&o.d(l),c=!1,s()}}}function _e(a,e,n){let t={name:""},r=L.make(t),c=!1,s=!1;async function o(){n(2,c=!0)}async function l(d){d.preventDefault(),n(3,s=!0);const m=await fetch("/api/projects",{method:"POST",body:JSON.stringify(t),headers:{"Content-Type":"application/json"}});if(!m.ok){n(1,r=L.apply(r,await m.json())),n(3,s=!1);return}const{project:w}=await m.json();U(`#/admin/project/${w.id}`),n(3,s=!1)}function p(d){a.$$.not_equal(t.name,d)&&(t.name=d,n(0,t))}return[t,r,c,s,o,l,p,()=>n(2,c=!1)]}class $e extends q{constructor(e){super(),z(this,e,_e,de,D,{})}}function he(a){let e,n,t;return{c(){e=N("svg"),n=N("path"),t=N("path"),i(n,"stroke","none"),i(n,"d","M0 0h24v24H0z"),i(n,"fill","none"),i(t,"d","M5 4h4l3 3h7a2 2 0 0 1 2 2v8a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2v-11a2 2 0 0 1 2 -2"),i(e,"xmlns","http://www.w3.org/2000/svg"),i(e,"class","icon icon-tabler icon-tabler-folder"),i(e,"width","24"),i(e,"height","24"),i(e,"viewBox","0 0 24 24"),i(e,"stroke-width","2"),i(e,"stroke","currentColor"),i(e,"fill","none"),i(e,"stroke-linecap","round"),i(e,"stroke-linejoin","round")},m(r,c){j(r,e,c),f(e,n),f(e,t)},p:T,i:T,o:T,d(r){r&&b(e)}}}class ge extends q{constructor(e){super(),z(this,e,null,he,D,{})}}function G(a,e,n){const t=a.slice();return t[2]=e[n],t}function J(a){let e,n,t,r,c,s,o=a[2].name+"",l,p,_,d=K(a[2].feature_count)+"",m,w,u,h,B;r=new ge({});function S(){return a[1](a[2])}return{c(){e=g("button"),n=g("span"),t=g("span"),y(r.$$.fragment),c=P(),s=g("h4"),l=A(o),p=P(),_=g("span"),m=A(d),w=P(),i(s,"class","svelte-18gi6rw"),i(n,"class","title svelte-18gi6rw"),i(_,"class","label svelte-18gi6rw"),i(e,"class","project svelte-18gi6rw")},m(k,F){j(k,e,F),f(e,n),f(n,t),C(r,t,null),f(n,c),f(n,s),f(s,l),f(e,p),f(e,_),f(_,m),f(e,w),u=!0,h||(B=H(e,"click",S),h=!0)},p(k,F){a=k,(!u||F&1)&&o!==(o=a[2].name+"")&&E(l,o),(!u||F&1)&&d!==(d=K(a[2].feature_count)+"")&&E(m,d)},i(k){u||($(r.$$.fragment,k),u=!0)},o(k){v(r.$$.fragment,k),u=!1},d(k){k&&b(e),M(r),h=!1,B()}}}function ve(a){let e,n,t=x(a[0]),r=[];for(let s=0;sv(r[s],1,1,()=>{r[s]=null});return{c(){e=g("div");for(let s=0;s{const c=await fetch("/api/projects"),{projects:s}=await c.json();n(0,t=s)}),[t,c=>U(`#/admin/project/${c.id}`)]}class ke extends q{constructor(e){super(),z(this,e,we,ve,D,{})}}function je(a){let e,n,t,r,c,s,o,l,p,_,d;return n=new oe({}),l=new $e({}),_=new ke({}),{c(){e=g("div"),y(n.$$.fragment),t=P(),r=g("div"),c=g("header"),s=g("h1"),s.textContent="Projects",o=P(),y(l.$$.fragment),p=P(),y(_.$$.fragment),i(c,"class","page-header"),i(r,"class","page")},m(m,w){j(m,e,w),C(n,e,null),f(e,t),f(e,r),f(r,c),f(c,s),f(c,o),C(l,c,null),f(r,p),C(_,r,null),d=!0},p:T,i(m){d||($(n.$$.fragment,m),$(l.$$.fragment,m),$(_.$$.fragment,m),d=!0)},o(m){v(n.$$.fragment,m),v(l.$$.fragment,m),v(_.$$.fragment,m),d=!1},d(m){m&&b(e),M(n),M(l),M(_)}}}class Ce extends q{constructor(e){super(),z(this,e,null,je,D,{})}}export{Ce as default}; diff --git a/static/assets/Admin-312e145a.css b/static/assets/Admin-312e145a.css new file mode 100644 index 0000000..67990a4 --- /dev/null +++ b/static/assets/Admin-312e145a.css @@ -0,0 +1 @@ +.open.svelte-1uyxs2l.svelte-1uyxs2l{display:block;pointer-events:all;position:absolute;z-index:10;width:20vw;height:fit-content;border-radius:8px;top:45vh;left:40vw;border:1px solid #aaa;background-color:#fff;box-shadow:var(--shadow);padding:8px}.modal-content.svelte-1uyxs2l.svelte-1uyxs2l{display:flex;flex-direction:column;gap:16px}.modal-content.svelte-1uyxs2l>.svelte-1uyxs2l{margin:0}.modal-content.svelte-1uyxs2l>span.svelte-1uyxs2l{font-size:24px;text-align:center;margin-bottom:8px;font-weight:500}.projects.svelte-18gi6rw.svelte-18gi6rw{margin-top:32px;display:flex;flex-direction:column;gap:8px}.project.svelte-18gi6rw.svelte-18gi6rw{border:none;color:var(--sec-content);font-weight:500;background-color:#fff;cursor:pointer;width:50%;margin:auto;border-radius:8px;display:flex;justify-content:space-between;padding:20px 10px;align-items:center;gap:1rem}.project.svelte-18gi6rw.svelte-18gi6rw:hover{background-color:#f5f5f5}.project.svelte-18gi6rw>span.svelte-18gi6rw{color:var(--sec-content);font-size:18px;font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:500;display:flex;align-items:center;gap:1rem}.title.svelte-18gi6rw>h4.svelte-18gi6rw{margin:0}.label.svelte-18gi6rw.svelte-18gi6rw{flex-shrink:0} diff --git a/static/assets/Admin-3a114b34.js b/static/assets/Admin-3a114b34.js deleted file mode 100644 index 4611447..0000000 --- a/static/assets/Admin-3a114b34.js +++ /dev/null @@ -1 +0,0 @@ -import{S as T,i as S,s as z,a as N,b as u,c as j,d as p,n as B,e as b,f as w,g as P,h as R,l as D,t as $,j as J,k as g,m as K,o as F,p as y,q as C,r as M,I as U,u as V,v as W,B as X,w as H,x as Y,y as Z,z as ee,A as Q,C as O,D as te,E as ne,F as A,G as E}from"./index-c384d19f.js";import{P as re,c as le,N as se}from"./Portal-bbb113f2.js";import{T as ae}from"./Tag-1cb3a800.js";function oe(a){let e,n,t,r,c;return{c(){e=N("svg"),n=N("path"),t=N("path"),r=N("path"),c=N("path"),u(n,"stroke","none"),u(n,"d","M0 0h24v24H0z"),u(n,"fill","none"),u(t,"d","M12 19h-7a2 2 0 0 1 -2 -2v-11a2 2 0 0 1 2 -2h4l3 3h7a2 2 0 0 1 2 2v3.5"),u(r,"d","M16 19h6"),u(c,"d","M19 16v6"),u(e,"xmlns","http://www.w3.org/2000/svg"),u(e,"class","icon icon-tabler icon-tabler-folder-plus"),u(e,"width","24"),u(e,"height","24"),u(e,"viewBox","0 0 24 24"),u(e,"stroke-width","2"),u(e,"stroke","currentColor"),u(e,"fill","none"),u(e,"stroke-linecap","round"),u(e,"stroke-linejoin","round")},m(s,o){j(s,e,o),p(e,n),p(e,t),p(e,r),p(e,c)},p:B,i:B,o:B,d(s){s&&b(e)}}}class ce extends T{constructor(e){super(),S(this,e,null,oe,z,{})}}function I(a){let e,n;return e=new re({props:{$$slots:{default:[fe]},$$scope:{ctx:a}}}),{c(){y(e.$$.fragment)},m(t,r){C(e,t,r),n=!0},p(t,r){const c={};r&271&&(c.$$scope={dirty:r,ctx:t}),e.$set(c)},i(t){n||($(e.$$.fragment,t),n=!0)},o(t){g(e.$$.fragment,t),n=!1},d(t){M(e,t)}}}function ue(a){let e,n;return e=new ae({}),{c(){y(e.$$.fragment)},m(t,r){C(e,t,r),n=!0},i(t){n||($(e.$$.fragment,t),n=!0)},o(t){g(e.$$.fragment,t),n=!1},d(t){M(e,t)}}}function ie(a){let e,n;return e=new ce({}),{c(){y(e.$$.fragment)},m(t,r){C(e,t,r),n=!0},i(t){n||($(e.$$.fragment,t),n=!0)},o(t){g(e.$$.fragment,t),n=!1},d(t){M(e,t)}}}function fe(a){let e,n,t,r,c,s,o,l,i,d,_;function f(m){a[6](m)}let k={type:"text",placeholder:"Project name",error:a[1].name,$$slots:{default:[ue]},$$scope:{ctx:a}};return a[0].name!==void 0&&(k.value=a[0].name),c=new U({props:k}),V.push(()=>W(c,"value",f)),l=new X({props:{loading:a[3],text:"Create",$$slots:{default:[ie]},$$scope:{ctx:a}}}),{c(){e=w("div"),n=w("form"),t=w("span"),t.textContent="New project",r=P(),y(c.$$.fragment),o=P(),y(l.$$.fragment),u(t,"class","svelte-1uyxs2l"),u(n,"class","modal-content svelte-1uyxs2l"),u(e,"class","hidden svelte-1uyxs2l"),H(e,"open",a[2])},m(m,v){j(m,e,v),p(e,n),p(n,t),p(n,r),C(c,n,null),p(n,o),C(l,n,null),i=!0,d||(_=[D(n,"submit",a[5]),Y(le.call(null,e)),D(e,"click_outside",a[7])],d=!0)},p(m,v){const h={};v&2&&(h.error=m[1].name),v&256&&(h.$$scope={dirty:v,ctx:m}),!s&&v&1&&(s=!0,h.value=m[0].name,Z(()=>s=!1)),c.$set(h);const q={};v&8&&(q.loading=m[3]),v&256&&(q.$$scope={dirty:v,ctx:m}),l.$set(q),(!i||v&4)&&H(e,"open",m[2])},i(m){i||($(c.$$.fragment,m),$(l.$$.fragment,m),i=!0)},o(m){g(c.$$.fragment,m),g(l.$$.fragment,m),i=!1},d(m){m&&b(e),M(c),M(l),d=!1,ee(_)}}}function pe(a){let e,n,t,r,c,s,o=a[2]&&I(a);return{c(){e=w("button"),e.innerHTML="Create project +",n=P(),o&&o.c(),t=R(),u(e,"class","btn-secondary")},m(l,i){j(l,e,i),j(l,n,i),o&&o.m(l,i),j(l,t,i),r=!0,c||(s=D(e,"click",a[4]),c=!0)},p(l,[i]){l[2]?o?(o.p(l,i),i&4&&$(o,1)):(o=I(l),o.c(),$(o,1),o.m(t.parentNode,t)):o&&(J(),g(o,1,1,()=>{o=null}),K())},i(l){r||($(o),r=!0)},o(l){g(o),r=!1},d(l){l&&(b(e),b(n),b(t)),o&&o.d(l),c=!1,s()}}}function me(a,e,n){let t={name:""},r=F.make(t),c=!1,s=!1;async function o(){n(2,c=!0)}async function l(_){_.preventDefault(),n(3,s=!0);const f=await fetch("/api/projects",{method:"POST",body:JSON.stringify(t),headers:{"Content-Type":"application/json"}});if(!f.ok){n(1,r=F.apply(r,await f.json())),n(3,s=!1);return}const{project:k}=await f.json();Q(`#/admin/project/${k.id}`),n(3,s=!1)}function i(_){a.$$.not_equal(t.name,_)&&(t.name=_,n(0,t))}return[t,r,c,s,o,l,i,()=>n(2,c=!1)]}class de extends T{constructor(e){super(),S(this,e,me,pe,z,{})}}function _e(a){let e,n,t;return{c(){e=N("svg"),n=N("path"),t=N("path"),u(n,"stroke","none"),u(n,"d","M0 0h24v24H0z"),u(n,"fill","none"),u(t,"d","M5 4h4l3 3h7a2 2 0 0 1 2 2v8a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2v-11a2 2 0 0 1 2 -2"),u(e,"xmlns","http://www.w3.org/2000/svg"),u(e,"class","icon icon-tabler icon-tabler-folder"),u(e,"width","24"),u(e,"height","24"),u(e,"viewBox","0 0 24 24"),u(e,"stroke-width","2"),u(e,"stroke","currentColor"),u(e,"fill","none"),u(e,"stroke-linecap","round"),u(e,"stroke-linejoin","round")},m(r,c){j(r,e,c),p(e,n),p(e,t)},p:B,i:B,o:B,d(r){r&&b(e)}}}class $e extends T{constructor(e){super(),S(this,e,null,_e,z,{})}}function L(a,e,n){const t=a.slice();return t[2]=e[n],t}function x(a){let e,n,t,r,c=a[2].name+"",s,o,l,i=G(a[2].feature_count)+"",d,_,f,k,m;t=new $e({});function v(){return a[1](a[2])}return{c(){e=w("button"),n=w("span"),y(t.$$.fragment),r=P(),s=A(c),o=P(),l=w("span"),d=A(i),_=P(),u(n,"class","svelte-e33twq"),u(l,"class","svelte-e33twq"),u(e,"class","project svelte-e33twq")},m(h,q){j(h,e,q),p(e,n),C(t,n,null),p(n,r),p(n,s),p(e,o),p(e,l),p(l,d),p(e,_),f=!0,k||(m=D(e,"click",v),k=!0)},p(h,q){a=h,(!f||q&1)&&c!==(c=a[2].name+"")&&E(s,c),(!f||q&1)&&i!==(i=G(a[2].feature_count)+"")&&E(d,i)},i(h){f||($(t.$$.fragment,h),f=!0)},o(h){g(t.$$.fragment,h),f=!1},d(h){h&&b(e),M(t),k=!1,m()}}}function he(a){let e,n,t=O(a[0]),r=[];for(let s=0;sg(r[s],1,1,()=>{r[s]=null});return{c(){e=w("div");for(let s=0;s{const c=await fetch("/api/projects"),{projects:s}=await c.json();n(0,t=s)}),[t,c=>Q(`#/admin/project/${c.id}`)]}class ve extends T{constructor(e){super(),S(this,e,ge,he,z,{})}}function we(a){let e,n,t,r,c,s,o,l,i,d,_;return n=new se({}),l=new de({}),d=new ve({}),{c(){e=w("div"),y(n.$$.fragment),t=P(),r=w("div"),c=w("header"),s=w("h1"),s.textContent="Projects",o=P(),y(l.$$.fragment),i=P(),y(d.$$.fragment),u(c,"class","page-header"),u(r,"class","page")},m(f,k){j(f,e,k),C(n,e,null),p(e,t),p(e,r),p(r,c),p(c,s),p(c,o),C(l,c,null),p(r,i),C(d,r,null),_=!0},p:B,i(f){_||($(n.$$.fragment,f),$(l.$$.fragment,f),$(d.$$.fragment,f),_=!0)},o(f){g(n.$$.fragment,f),g(l.$$.fragment,f),g(d.$$.fragment,f),_=!1},d(f){f&&b(e),M(n),M(l),M(d)}}}class Pe extends T{constructor(e){super(),S(this,e,null,we,z,{})}}export{Pe as default}; diff --git a/static/assets/Admin-ec9a2537.css b/static/assets/Admin-ec9a2537.css deleted file mode 100644 index 7770695..0000000 --- a/static/assets/Admin-ec9a2537.css +++ /dev/null @@ -1 +0,0 @@ -.open.svelte-1uyxs2l.svelte-1uyxs2l{display:block;pointer-events:all;position:absolute;z-index:10;width:20vw;height:fit-content;border-radius:8px;top:45vh;left:40vw;border:1px solid #aaa;background-color:#fff;box-shadow:var(--shadow);padding:8px}.modal-content.svelte-1uyxs2l.svelte-1uyxs2l{display:flex;flex-direction:column;gap:16px}.modal-content.svelte-1uyxs2l>.svelte-1uyxs2l{margin:0}.modal-content.svelte-1uyxs2l>span.svelte-1uyxs2l{font-size:24px;text-align:center;margin-bottom:8px;font-weight:500}.projects.svelte-e33twq.svelte-e33twq{margin-top:32px;display:flex;flex-direction:column;gap:8px}.project.svelte-e33twq.svelte-e33twq{border:none;color:var(--sec-content);font-weight:500;background-color:#fff;cursor:pointer;width:50%;margin:auto;border-radius:8px;display:flex;justify-content:space-between;padding:20px 10px;align-items:center}.project.svelte-e33twq.svelte-e33twq:hover{background-color:#f5f5f5}.project.svelte-e33twq>span.svelte-e33twq{color:var(--sec-content);font-size:18px;font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:500;display:flex;align-items:center;gap:8px} diff --git a/static/assets/BackToProjects-3334f8ec.js b/static/assets/BackToProjects-cdbc550f.js similarity index 98% rename from static/assets/BackToProjects-3334f8ec.js rename to static/assets/BackToProjects-cdbc550f.js index 1210b8e..01bb4b2 100644 --- a/static/assets/BackToProjects-3334f8ec.js +++ b/static/assets/BackToProjects-cdbc550f.js @@ -1 +1 @@ -import{S as m,i as g,s as k,a as c,b as e,c as w,d as i,n as p,e as v,f as b,w as z,l as T,j as H,k as d,m as q,t as _,p as y,q as C,r as B,g as P}from"./index-c384d19f.js";function S(a){let t,r,n,o;return{c(){t=c("svg"),r=c("path"),n=c("path"),o=c("path"),e(r,"stroke","none"),e(r,"d","M0 0h24v24H0z"),e(r,"fill","none"),e(n,"d","M8 8m0 2a2 2 0 0 1 2 -2h8a2 2 0 0 1 2 2v8a2 2 0 0 1 -2 2h-8a2 2 0 0 1 -2 -2z"),e(o,"d","M16 8v-2a2 2 0 0 0 -2 -2h-8a2 2 0 0 0 -2 2v8a2 2 0 0 0 2 2h2"),e(t,"xmlns","http://www.w3.org/2000/svg"),e(t,"class","icon icon-tabler icon-tabler-copy"),e(t,"width","24"),e(t,"height","24"),e(t,"viewBox","0 0 24 24"),e(t,"stroke-width","2"),e(t,"stroke","currentColor"),e(t,"fill","none"),e(t,"stroke-linecap","round"),e(t,"stroke-linejoin","round")},m(s,l){w(s,t,l),i(t,r),i(t,n),i(t,o)},p,i:p,o:p,d(s){s&&v(t)}}}class A extends m{constructor(t){super(),g(this,t,null,S,k,{})}}function D(a){let t,r,n;return{c(){t=c("svg"),r=c("path"),n=c("path"),e(r,"stroke","none"),e(r,"d","M0 0h24v24H0z"),e(r,"fill","none"),e(n,"d","M5 12l5 5l10 -10"),e(t,"xmlns","http://www.w3.org/2000/svg"),e(t,"class","icon icon-tabler icon-tabler-check"),e(t,"width","24"),e(t,"height","24"),e(t,"viewBox","0 0 24 24"),e(t,"stroke-width","2"),e(t,"stroke","currentColor"),e(t,"fill","none"),e(t,"stroke-linecap","round"),e(t,"stroke-linejoin","round")},m(o,s){w(o,t,s),i(t,r),i(t,n)},p,i:p,o:p,d(o){o&&v(t)}}}class E extends m{constructor(t){super(),g(this,t,null,D,k,{})}}function F(a){let t,r;return t=new E({}),{c(){y(t.$$.fragment)},m(n,o){C(t,n,o),r=!0},i(n){r||(_(t.$$.fragment,n),r=!0)},o(n){d(t.$$.fragment,n),r=!1},d(n){B(t,n)}}}function G(a){let t,r;return t=new A({}),{c(){y(t.$$.fragment)},m(n,o){C(t,n,o),r=!0},i(n){r||(_(t.$$.fragment,n),r=!0)},o(n){d(t.$$.fragment,n),r=!1},d(n){B(t,n)}}}function I(a){let t,r,n,o,s,l,h;const M=[G,F],f=[];function j(u,x){return u[0]?1:0}return n=j(a),o=f[n]=M[n](a),{c(){t=b("button"),r=b("span"),o.c(),e(r,"class","svelte-1nr8pyd"),e(t,"class","svelte-1nr8pyd"),z(t,"copied",a[0])},m(u,x){w(u,t,x),i(t,r),f[n].m(r,null),s=!0,l||(h=T(t,"click",a[1]),l=!0)},p(u,[x]){let $=n;n=j(u),n!==$&&(H(),d(f[$],1,1,()=>{f[$]=null}),q(),o=f[n],o||(o=f[n]=M[n](u),o.c()),_(o,1),o.m(r,null)),(!s||x&1)&&z(t,"copied",u[0])},i(u){s||(_(o),s=!0)},o(u){d(o),s=!1},d(u){u&&v(t),f[n].d(),l=!1,h()}}}function J(a,t,r){let{text:n=""}=t,o=!1;function s(){navigator.clipboard.writeText(n),r(0,o=!0),setTimeout(()=>r(0,o=!1),1500)}return a.$$set=l=>{"text"in l&&r(2,n=l.text)},[o,s,n]}class Q extends m{constructor(t){super(),g(this,t,J,I,k,{text:2})}}function K(a){let t,r,n,o,s;return{c(){t=c("svg"),r=c("path"),n=c("path"),o=c("path"),s=c("path"),e(r,"stroke","none"),e(r,"d","M0 0h24v24H0z"),e(r,"fill","none"),e(n,"d","M5 12l14 0"),e(o,"d","M5 12l4 4"),e(s,"d","M5 12l4 -4"),e(t,"xmlns","http://www.w3.org/2000/svg"),e(t,"class","icon icon-tabler icon-tabler-arrow-narrow-left"),e(t,"width","24"),e(t,"height","24"),e(t,"viewBox","0 0 24 24"),e(t,"stroke-width","2"),e(t,"stroke","currentColor"),e(t,"fill","none"),e(t,"stroke-linecap","round"),e(t,"stroke-linejoin","round")},m(l,h){w(l,t,h),i(t,r),i(t,n),i(t,o),i(t,s)},p,i:p,o:p,d(l){l&&v(t)}}}class L extends m{constructor(t){super(),g(this,t,null,K,k,{})}}function N(a){let t,r,n,o,s;return r=new L({}),{c(){t=b("a"),y(r.$$.fragment),n=P(),o=b("span"),o.textContent="Back to projects",e(t,"href","#/admin"),e(t,"class","back hover svelte-1lh6k85")},m(l,h){w(l,t,h),C(r,t,null),i(t,n),i(t,o),s=!0},p,i(l){s||(_(r.$$.fragment,l),s=!0)},o(l){d(r.$$.fragment,l),s=!1},d(l){l&&v(t),B(r)}}}class R extends m{constructor(t){super(),g(this,t,null,N,k,{})}}export{R as B,Q as C}; +import{S as m,i as g,s as k,a as c,b as e,c as w,d as i,n as p,e as v,f as b,w as z,l as T,j as H,k as d,m as q,t as _,p as y,q as C,r as B,g as P}from"./index-3c6817a0.js";function S(a){let t,r,n,o;return{c(){t=c("svg"),r=c("path"),n=c("path"),o=c("path"),e(r,"stroke","none"),e(r,"d","M0 0h24v24H0z"),e(r,"fill","none"),e(n,"d","M8 8m0 2a2 2 0 0 1 2 -2h8a2 2 0 0 1 2 2v8a2 2 0 0 1 -2 2h-8a2 2 0 0 1 -2 -2z"),e(o,"d","M16 8v-2a2 2 0 0 0 -2 -2h-8a2 2 0 0 0 -2 2v8a2 2 0 0 0 2 2h2"),e(t,"xmlns","http://www.w3.org/2000/svg"),e(t,"class","icon icon-tabler icon-tabler-copy"),e(t,"width","24"),e(t,"height","24"),e(t,"viewBox","0 0 24 24"),e(t,"stroke-width","2"),e(t,"stroke","currentColor"),e(t,"fill","none"),e(t,"stroke-linecap","round"),e(t,"stroke-linejoin","round")},m(s,l){w(s,t,l),i(t,r),i(t,n),i(t,o)},p,i:p,o:p,d(s){s&&v(t)}}}class A extends m{constructor(t){super(),g(this,t,null,S,k,{})}}function D(a){let t,r,n;return{c(){t=c("svg"),r=c("path"),n=c("path"),e(r,"stroke","none"),e(r,"d","M0 0h24v24H0z"),e(r,"fill","none"),e(n,"d","M5 12l5 5l10 -10"),e(t,"xmlns","http://www.w3.org/2000/svg"),e(t,"class","icon icon-tabler icon-tabler-check"),e(t,"width","24"),e(t,"height","24"),e(t,"viewBox","0 0 24 24"),e(t,"stroke-width","2"),e(t,"stroke","currentColor"),e(t,"fill","none"),e(t,"stroke-linecap","round"),e(t,"stroke-linejoin","round")},m(o,s){w(o,t,s),i(t,r),i(t,n)},p,i:p,o:p,d(o){o&&v(t)}}}class E extends m{constructor(t){super(),g(this,t,null,D,k,{})}}function F(a){let t,r;return t=new E({}),{c(){y(t.$$.fragment)},m(n,o){C(t,n,o),r=!0},i(n){r||(_(t.$$.fragment,n),r=!0)},o(n){d(t.$$.fragment,n),r=!1},d(n){B(t,n)}}}function G(a){let t,r;return t=new A({}),{c(){y(t.$$.fragment)},m(n,o){C(t,n,o),r=!0},i(n){r||(_(t.$$.fragment,n),r=!0)},o(n){d(t.$$.fragment,n),r=!1},d(n){B(t,n)}}}function I(a){let t,r,n,o,s,l,h;const M=[G,F],f=[];function j(u,x){return u[0]?1:0}return n=j(a),o=f[n]=M[n](a),{c(){t=b("button"),r=b("span"),o.c(),e(r,"class","svelte-1nr8pyd"),e(t,"class","svelte-1nr8pyd"),z(t,"copied",a[0])},m(u,x){w(u,t,x),i(t,r),f[n].m(r,null),s=!0,l||(h=T(t,"click",a[1]),l=!0)},p(u,[x]){let $=n;n=j(u),n!==$&&(H(),d(f[$],1,1,()=>{f[$]=null}),q(),o=f[n],o||(o=f[n]=M[n](u),o.c()),_(o,1),o.m(r,null)),(!s||x&1)&&z(t,"copied",u[0])},i(u){s||(_(o),s=!0)},o(u){d(o),s=!1},d(u){u&&v(t),f[n].d(),l=!1,h()}}}function J(a,t,r){let{text:n=""}=t,o=!1;function s(){navigator.clipboard.writeText(n),r(0,o=!0),setTimeout(()=>r(0,o=!1),1500)}return a.$$set=l=>{"text"in l&&r(2,n=l.text)},[o,s,n]}class Q extends m{constructor(t){super(),g(this,t,J,I,k,{text:2})}}function K(a){let t,r,n,o,s;return{c(){t=c("svg"),r=c("path"),n=c("path"),o=c("path"),s=c("path"),e(r,"stroke","none"),e(r,"d","M0 0h24v24H0z"),e(r,"fill","none"),e(n,"d","M5 12l14 0"),e(o,"d","M5 12l4 4"),e(s,"d","M5 12l4 -4"),e(t,"xmlns","http://www.w3.org/2000/svg"),e(t,"class","icon icon-tabler icon-tabler-arrow-narrow-left"),e(t,"width","24"),e(t,"height","24"),e(t,"viewBox","0 0 24 24"),e(t,"stroke-width","2"),e(t,"stroke","currentColor"),e(t,"fill","none"),e(t,"stroke-linecap","round"),e(t,"stroke-linejoin","round")},m(l,h){w(l,t,h),i(t,r),i(t,n),i(t,o),i(t,s)},p,i:p,o:p,d(l){l&&v(t)}}}class L extends m{constructor(t){super(),g(this,t,null,K,k,{})}}function N(a){let t,r,n,o,s;return r=new L({}),{c(){t=b("a"),y(r.$$.fragment),n=P(),o=b("span"),o.textContent="Back to projects",e(t,"href","#/admin"),e(t,"class","back hover svelte-1lh6k85")},m(l,h){w(l,t,h),C(r,t,null),i(t,n),i(t,o),s=!0},p,i(l){s||(_(r.$$.fragment,l),s=!0)},o(l){d(r.$$.fragment,l),s=!1},d(l){l&&v(t),B(r)}}}class R extends m{constructor(t){super(),g(this,t,null,N,k,{})}}export{R as B,Q as C}; diff --git a/static/assets/Portal-0ebf484e.js b/static/assets/Portal-0ebf484e.js new file mode 100644 index 0000000..669902e --- /dev/null +++ b/static/assets/Portal-0ebf484e.js @@ -0,0 +1 @@ +import{S as C,i as E,s as y,f as p,F as S,g as v,b as d,w as k,N as z,c as b,d as _,l as j,G as q,j as D,k as h,n as w,m as F,t as g,e as $,E as O,x as G,O as H,Q as M,R as Q,z as R,H as T,p as N,q as U,r as P,T as V,U as W,V as X,W as A,X as B,u as I}from"./index-3c6817a0.js";function J(a){const e=t=>{a&&!a.contains(t.target)&&!t.defaultPrevented&&a.dispatchEvent(new CustomEvent("click_outside",a))};return document.addEventListener("click",e,!0),{destroy(){document.removeEventListener("click",e,!0)}}}function L(a){let e,t,n,r,l,s,o,c,u,f;return{c(){e=p("div"),t=p("span"),n=S(a[0]),r=v(),l=p("a"),l.textContent="Settings",s=v(),o=p("a"),o.textContent="Logout",d(t,"class","svelte-aym95l"),d(l,"href","#/admin/settings"),d(l,"class","link hover svelte-aym95l"),d(o,"href","/api/auth/logout"),d(o,"class","link hover svelte-aym95l"),d(e,"class","hidden svelte-aym95l"),k(e,"open",a[1])},m(i,m){b(i,e,m),_(e,t),_(t,n),_(e,r),_(e,l),_(e,s),_(e,o),u||(f=[G(J.call(null,e)),j(e,"click_outside",a[3])],u=!0)},p(i,m){m&1&&q(n,i[0]),m&2&&k(e,"open",i[1])},i(i){i&&(c||H(()=>{c=M(e,Q,{y:5}),c.start()}))},o:w,d(i){i&&$(e),u=!1,R(f)}}}function K(a){let e,t,n=(a[0].at(0)??" ").toUpperCase()+"",r,l,s,o=a[1],c,u,f=L(a);return{c(){e=p("div"),t=p("button"),r=S(n),l=v(),s=p("div"),f.c(),d(t,"class","user-button svelte-aym95l"),k(t,"modal-open",a[1]),z(s,"position","relative")},m(i,m){b(i,e,m),_(e,t),_(t,r),_(e,l),_(e,s),f.m(s,null),c||(u=j(t,"click",a[2]),c=!0)},p(i,[m]){m&1&&n!==(n=(i[0].at(0)??" ").toUpperCase()+"")&&q(r,n),m&2&&k(t,"modal-open",i[1]),m&2&&y(o,o=i[1])?(D(),h(f,1,1,w),F(),f=L(i),f.c(),g(f,1),f.m(s,null)):f.p(i,m)},i(i){g(f)},o(i){h(f)},d(i){i&&$(e),f.d(i),c=!1,u()}}}function Y(a,e,t){let n="",r=!1;return O(async()=>{const o=await fetch("/api/auth/me"),{email:c}=await o.json();t(0,n=c)}),[n,r,()=>t(1,r=!r),()=>t(1,r=!1)]}class Z extends C{constructor(e){super(),E(this,e,Y,K,y,{})}}function x(a){let e,t,n,r,l,s,o,c;return n=new T({props:{width:"32",height:"32"}}),o=new Z({}),{c(){e=p("nav"),t=p("a"),N(n.$$.fragment),r=v(),l=p("h3"),l.textContent="Enable",s=v(),N(o.$$.fragment),d(t,"href","#/admin"),d(t,"class","logo svelte-1f4e2pu"),d(e,"class","navbar svelte-1f4e2pu")},m(u,f){b(u,e,f),_(e,t),U(n,t,null),_(t,r),_(t,l),_(e,s),U(o,e,null),c=!0},p:w,i(u){c||(g(n.$$.fragment,u),g(o.$$.fragment,u),c=!0)},o(u){h(n.$$.fragment,u),h(o.$$.fragment,u),c=!1},d(u){u&&$(e),P(n),P(o)}}}class le extends C{constructor(e){super(),E(this,e,null,x,y,{})}}function ee(a){let e,t,n;const r=a[2].default,l=V(r,a,a[1],null);return{c(){e=p("div"),t=p("div"),l&&l.c(),d(t,"class","portal-inner"),d(e,"class","portal-clone svelte-1tufk5f")},m(s,o){b(s,e,o),_(e,t),l&&l.m(t,null),a[3](t),n=!0},p(s,[o]){l&&l.p&&(!n||o&2)&&W(l,r,s,s[1],n?A(r,s[1],o,null):X(s[1]),null)},i(s){n||(g(l,s),n=!0)},o(s){h(l,s),n=!1},d(s){s&&$(e),l&&l.d(s),a[3](null)}}}function te(a,e,t){let{$$slots:n={},$$scope:r}=e,l,s;O(()=>{s=document.createElement("div"),s.className="portal",document.body.appendChild(s),s.appendChild(l)}),B(()=>{document.body.removeChild(s)});function o(c){I[c?"unshift":"push"](()=>{l=c,t(0,l)})}return a.$$set=c=>{"$$scope"in c&&t(1,r=c.$$scope)},[l,r,n,o]}class ae extends C{constructor(e){super(),E(this,e,te,ee,y,{})}}export{le as N,ae as P,J as c}; diff --git a/static/assets/Portal-b058bbb1.css b/static/assets/Portal-b058bbb1.css new file mode 100644 index 0000000..9d578e0 --- /dev/null +++ b/static/assets/Portal-b058bbb1.css @@ -0,0 +1 @@ +.user-button.svelte-aym95l.svelte-aym95l{border-radius:9999px;background-color:#f5f5f5;color:var(--sec-content);font-weight:600;width:3rem;height:3rem;font-size:18px;display:flex;justify-content:center;align-items:center;cursor:pointer;border:none;padding:0}.user-button.svelte-aym95l.svelte-aym95l:hover{background-color:#ebebeb}.user-button.svelte-aym95l.svelte-aym95l:focus{outline:none}.open.svelte-aym95l.svelte-aym95l{color:var(--sec-content);display:block;position:absolute;border-radius:8px;top:8px;background-color:#fff;z-index:10;display:flex;box-shadow:var(--shadow);flex-direction:column;border:1px solid #e6e6e6;padding:8px;gap:2px}.open.svelte-aym95l>.svelte-aym95l{padding:6px}.link.svelte-aym95l.svelte-aym95l{border-radius:8px;cursor:pointer;color:var(--sec-content);font-weight:500;border:none;outline:none;text-decoration:none}.navbar.svelte-1f4e2pu{display:flex;width:100vw;align-items:center;justify-content:space-around;padding:1rem;box-sizing:border-box}.logo.svelte-1f4e2pu{display:flex;align-items:center;justify-content:center;gap:1rem;text-decoration:none;color:var(--main-content)}.portal-clone.svelte-1tufk5f{display:none} diff --git a/static/assets/Portal-bbb113f2.js b/static/assets/Portal-bbb113f2.js deleted file mode 100644 index 112091b..0000000 --- a/static/assets/Portal-bbb113f2.js +++ /dev/null @@ -1 +0,0 @@ -import{S as C,i as E,s as b,f as p,F as L,g as v,b as d,w as k,M as O,c as $,d as _,l as S,G as j,j as z,k as h,n as q,m as D,t as g,e as y,E as M,x as F,N as G,O as H,Q,z as R,H as T,p as w,q as N,r as U,R as V,T as W,U as A,V as B,W as I,u as J}from"./index-c384d19f.js";function K(n){const e=t=>{n&&!n.contains(t.target)&&!t.defaultPrevented&&n.dispatchEvent(new CustomEvent("click_outside",n))};return document.addEventListener("click",e,!0),{destroy(){document.removeEventListener("click",e,!0)}}}function P(n){let e,t,a,r,l,s,o,c,u,f;return{c(){e=p("div"),t=p("span"),a=L(n[0]),r=v(),l=p("a"),l.textContent="Settings",s=v(),o=p("a"),o.textContent="Logout",d(t,"class","svelte-1o88q56"),d(l,"href","#/admin/settings"),d(l,"class","link hover svelte-1o88q56"),d(o,"href","/api/auth/logout"),d(o,"class","link hover svelte-1o88q56"),d(e,"class","hidden svelte-1o88q56"),k(e,"open",n[1])},m(i,m){$(i,e,m),_(e,t),_(t,a),_(e,r),_(e,l),_(e,s),_(e,o),u||(f=[F(K.call(null,e)),S(e,"click_outside",n[3])],u=!0)},p(i,m){m&1&&j(a,i[0]),m&2&&k(e,"open",i[1])},i(i){i&&(c||G(()=>{c=H(e,Q,{y:5}),c.start()}))},o:q,d(i){i&&y(e),u=!1,R(f)}}}function X(n){let e,t,a=(n[0].at(0)??" ").toUpperCase()+"",r,l,s,o=n[1],c,u,f=P(n);return{c(){e=p("div"),t=p("button"),r=L(a),l=v(),s=p("div"),f.c(),d(t,"class","user-button svelte-1o88q56"),k(t,"modal-open",n[1]),O(s,"position","relative")},m(i,m){$(i,e,m),_(e,t),_(t,r),_(e,l),_(e,s),f.m(s,null),c||(u=S(t,"click",n[2]),c=!0)},p(i,[m]){m&1&&a!==(a=(i[0].at(0)??" ").toUpperCase()+"")&&j(r,a),m&2&&k(t,"modal-open",i[1]),m&2&&b(o,o=i[1])?(z(),h(f,1,1,q),D(),f=P(i),f.c(),g(f,1),f.m(s,null)):f.p(i,m)},i(i){g(f)},o(i){h(f)},d(i){i&&y(e),f.d(i),c=!1,u()}}}function Y(n,e,t){let a="",r=!1;return M(async()=>{const o=await fetch("/api/auth/me"),{email:c}=await o.json();t(0,a=c)}),[a,r,()=>t(1,r=!r),()=>t(1,r=!1)]}class Z extends C{constructor(e){super(),E(this,e,Y,X,b,{})}}function x(n){let e,t,a,r,l,s,o,c;return a=new T({props:{width:"32",height:"32"}}),o=new Z({}),{c(){e=p("nav"),t=p("a"),w(a.$$.fragment),r=v(),l=p("h3"),l.textContent="Enable",s=v(),w(o.$$.fragment),d(t,"href","#/admin"),d(t,"class","logo svelte-1f4e2pu"),d(e,"class","navbar svelte-1f4e2pu")},m(u,f){$(u,e,f),_(e,t),N(a,t,null),_(t,r),_(t,l),_(e,s),N(o,e,null),c=!0},p:q,i(u){c||(g(a.$$.fragment,u),g(o.$$.fragment,u),c=!0)},o(u){h(a.$$.fragment,u),h(o.$$.fragment,u),c=!1},d(u){u&&y(e),U(a),U(o)}}}class le extends C{constructor(e){super(),E(this,e,null,x,b,{})}}function ee(n){let e,t,a;const r=n[2].default,l=V(r,n,n[1],null);return{c(){e=p("div"),t=p("div"),l&&l.c(),d(t,"class","portal-inner"),d(e,"class","portal-clone svelte-1tufk5f")},m(s,o){$(s,e,o),_(e,t),l&&l.m(t,null),n[3](t),a=!0},p(s,[o]){l&&l.p&&(!a||o&2)&&W(l,r,s,s[1],a?B(r,s[1],o,null):A(s[1]),null)},i(s){a||(g(l,s),a=!0)},o(s){h(l,s),a=!1},d(s){s&&y(e),l&&l.d(s),n[3](null)}}}function te(n,e,t){let{$$slots:a={},$$scope:r}=e,l,s;M(()=>{s=document.createElement("div"),s.className="portal",document.body.appendChild(s),s.appendChild(l)}),I(()=>{document.body.removeChild(s)});function o(c){J[c?"unshift":"push"](()=>{l=c,t(0,l)})}return n.$$set=c=>{"$$scope"in c&&t(1,r=c.$$scope)},[l,r,a,o]}class ne extends C{constructor(e){super(),E(this,e,te,ee,b,{})}}export{le as N,ne as P,K as c}; diff --git a/static/assets/Portal-c5add968.css b/static/assets/Portal-c5add968.css deleted file mode 100644 index 44ed18a..0000000 --- a/static/assets/Portal-c5add968.css +++ /dev/null @@ -1 +0,0 @@ -.user-button.svelte-1o88q56.svelte-1o88q56{border-radius:9999px;background-color:#f5f5f5;color:var(--sec-content);font-weight:600;width:3rem;height:3rem;font-size:18px;display:flex;justify-content:center;align-items:center;cursor:pointer;border:none;padding:0}.user-button.svelte-1o88q56.svelte-1o88q56:hover{background-color:#ebebeb}.user-button.svelte-1o88q56.svelte-1o88q56:focus{outline:none}.open.svelte-1o88q56.svelte-1o88q56{color:var(--sec-content);display:block;position:absolute;border-radius:8px;top:8px;background-color:#fff;display:flex;box-shadow:var(--shadow);flex-direction:column;border:1px solid #e6e6e6;padding:8px;gap:2px}.open.svelte-1o88q56>.svelte-1o88q56{padding:6px}.link.svelte-1o88q56.svelte-1o88q56{border-radius:8px;cursor:pointer;color:var(--sec-content);font-weight:500;border:none;outline:none;text-decoration:none}.navbar.svelte-1f4e2pu{display:flex;width:100vw;align-items:center;justify-content:space-around;padding:1rem;box-sizing:border-box}.logo.svelte-1f4e2pu{display:flex;align-items:center;justify-content:center;gap:1rem;text-decoration:none;color:var(--main-content)}.portal-clone.svelte-1tufk5f{display:none} diff --git a/static/assets/Project-4f60cc32.css b/static/assets/Project-4f60cc32.css new file mode 100644 index 0000000..f1ce3e7 --- /dev/null +++ b/static/assets/Project-4f60cc32.css @@ -0,0 +1 @@ +.open.svelte-138efei.svelte-138efei{display:block;pointer-events:all;position:absolute;z-index:10;width:20vw;height:fit-content;border-radius:8px;top:45vh;left:40vw;border:1px solid #aaa;background-color:#fff;box-shadow:var(--shadow);padding:8px}.modal-content.svelte-138efei.svelte-138efei{display:flex;flex-direction:column;gap:16px}.modal-content.svelte-138efei>.svelte-138efei{margin:0}.modal-content.svelte-138efei>span.svelte-138efei{font-size:24px;text-align:center;margin-bottom:8px;font-weight:500}.modal-content.svelte-138efei>p.svelte-138efei{font-size:12px}strong.svelte-138efei.svelte-138efei{overflow-wrap:break-word}button.svelte-16ad7zl.svelte-16ad7zl{height:2.5rem;width:2.5rem;display:flex;align-items:center;margin-left:auto;justify-content:center}span.svelte-16ad7zl.svelte-16ad7zl{padding-top:2px}.selected.svelte-16ad7zl.svelte-16ad7zl{border:2px solid dodgerblue;background-color:#c3defa}.selected.svelte-16ad7zl.svelte-16ad7zl:hover{background-color:#91c3fa}.selected.svelte-16ad7zl>span.svelte-16ad7zl{color:#1e90ff}.defs.svelte-1f8w8fv.svelte-1f8w8fv{display:flex;flex-direction:column;gap:8px;padding:20px 32px;background-color:#f5f5f5;border-radius:8px}.api-type-container.svelte-1f8w8fv.svelte-1f8w8fv{padding-top:16px;display:flex;flex-direction:column;gap:8px}.tab-controls.svelte-1f8w8fv.svelte-1f8w8fv{display:flex;align-items:center;overflow:hidden;width:100%;border-bottom:1px solid var(--sec-content)}.tab-controls.svelte-1f8w8fv>span.svelte-1f8w8fv{padding:8px 16px;border-top-left-radius:8px;border-top-right-radius:8px;color:var(--main-content);cursor:pointer}.tab-controls.svelte-1f8w8fv>span.svelte-1f8w8fv:hover{background-color:#e6e6e6;color:var(--sec-content)}.tab-controls.svelte-1f8w8fv>span[aria-selected=true].svelte-1f8w8fv{border-bottom:2.5px solid var(--sec-content)}.label.svelte-1f8w8fv.svelte-1f8w8fv{font-size:14px;color:var(--sec-content);font-weight:medium}code.svelte-1f8w8fv.svelte-1f8w8fv{font-family:monospace;font-weight:medium;padding:8px;border-radius:8px;background-color:var(--main-content);color:#fff}.code.svelte-1f8w8fv.svelte-1f8w8fv{font-family:monospace;font-weight:medium;padding:8px;border-radius:8px;background-color:var(--main-content);color:#fff;display:flex;flex-direction:column;gap:4px}.container.svelte-1f8w8fv.svelte-1f8w8fv{display:flex;align-items:center;gap:16px}.feature-container.svelte-piq3xe{border-bottom:2px solid var(--sec-content)}.feature-container.svelte-piq3xe:last-child{border-bottom:none}.feature.svelte-piq3xe{padding:16px;display:flex;gap:16px;justify-content:space-between;align-items:center}.toggle.svelte-piq3xe{border-radius:16px;cursor:pointer;border:2px solid var(--main-content);padding:2px 20px 2px 2px;transition:.2s ease all;background-color:#fff}.toggle.svelte-piq3xe:hover{transform:scale(1.05)}.ball.svelte-piq3xe{width:1rem;height:1rem;border-radius:9999px;background-color:var(--main-content)}.active.svelte-piq3xe{padding-left:20px;padding-right:2px}.tag.svelte-piq3xe{border-radius:8px;padding:8px;text-transform:uppercase;background-color:#f7bdbd;color:red;font-size:12px;width:70px;text-align:center}.tag-active.svelte-piq3xe{background-color:#bddcfc;color:#1e90ff}.name.svelte-piq3xe{font-family:monospace;font-weight:700;padding:8px;border-radius:8px;background-color:var(--main-content);color:#fff}.no-h.svelte-piq3xe{height:1px;overflow:hidden;transition:.3s ease all}.show.svelte-piq3xe{height:275px}.feature-list.svelte-1oo10f7{display:flex;flex-direction:column;padding:40px;gap:8px}.project-actions.svelte-1yb8r5u.svelte-1yb8r5u{display:flex;gap:.5rem;height:20px;align-items:center}.tooltip.svelte-1yb8r5u.svelte-1yb8r5u{position:relative}.tooltip.svelte-1yb8r5u>span.svelte-1yb8r5u{font-size:12px;max-width:200%;width:fit-content;text-align:center;padding:8px;border-radius:8px;border:1px solid var(--sec-content);position:absolute;z-index:1;bottom:120%;left:0%;opacity:0%;visibility:hidden;transition-duration:.2s;color:#fff;background-color:var(--main-content)}.tooltip.svelte-1yb8r5u:hover>span.svelte-1yb8r5u{visibility:visible;opacity:100%}.new-container.svelte-1yb8r5u.svelte-1yb8r5u{position:relative}.new-container.svelte-1yb8r5u>.new-options.svelte-1yb8r5u{position:absolute;top:120%;right:0%;padding:8px;border-radius:8px;visibility:hidden;opacity:0%;transition-duration:.2s;display:flex;flex-direction:column;gap:8px;box-shadow:var(--shadow);border:1px solid #e6e6e6;background-color:#fff}.new-container.svelte-1yb8r5u:hover>.new-options.svelte-1yb8r5u{visibility:visible;opacity:100%} diff --git a/static/assets/Project-91d24e49.css b/static/assets/Project-91d24e49.css deleted file mode 100644 index 4da95a2..0000000 --- a/static/assets/Project-91d24e49.css +++ /dev/null @@ -1 +0,0 @@ -.open.svelte-tzlhwt.svelte-tzlhwt{display:block;pointer-events:all;position:absolute;z-index:10;width:20vw;height:fit-content;border-radius:8px;top:45vh;left:40vw;border:1px solid #aaa;background-color:#fff;box-shadow:var(--shadow);padding:8px}.modal-content.svelte-tzlhwt.svelte-tzlhwt{display:flex;flex-direction:column;gap:16px}.modal-content.svelte-tzlhwt>.svelte-tzlhwt{margin:0}.modal-content.svelte-tzlhwt>span.svelte-tzlhwt{font-size:24px;text-align:center;margin-bottom:8px;font-weight:500}.modal-content.svelte-tzlhwt>p.svelte-tzlhwt{font-size:12px}button.svelte-16ad7zl.svelte-16ad7zl{height:2.5rem;width:2.5rem;display:flex;align-items:center;margin-left:auto;justify-content:center}span.svelte-16ad7zl.svelte-16ad7zl{padding-top:2px}.selected.svelte-16ad7zl.svelte-16ad7zl{border:2px solid dodgerblue;background-color:#c3defa}.selected.svelte-16ad7zl.svelte-16ad7zl:hover{background-color:#91c3fa}.selected.svelte-16ad7zl>span.svelte-16ad7zl{color:#1e90ff}.defs.svelte-1f8w8fv.svelte-1f8w8fv{display:flex;flex-direction:column;gap:8px;padding:20px 32px;background-color:#f5f5f5;border-radius:8px}.api-type-container.svelte-1f8w8fv.svelte-1f8w8fv{padding-top:16px;display:flex;flex-direction:column;gap:8px}.tab-controls.svelte-1f8w8fv.svelte-1f8w8fv{display:flex;align-items:center;overflow:hidden;width:100%;border-bottom:1px solid var(--sec-content)}.tab-controls.svelte-1f8w8fv>span.svelte-1f8w8fv{padding:8px 16px;border-top-left-radius:8px;border-top-right-radius:8px;color:var(--main-content);cursor:pointer}.tab-controls.svelte-1f8w8fv>span.svelte-1f8w8fv:hover{background-color:#e6e6e6;color:var(--sec-content)}.tab-controls.svelte-1f8w8fv>span[aria-selected=true].svelte-1f8w8fv{border-bottom:2.5px solid var(--sec-content)}.label.svelte-1f8w8fv.svelte-1f8w8fv{font-size:14px;color:var(--sec-content);font-weight:medium}code.svelte-1f8w8fv.svelte-1f8w8fv{font-family:monospace;font-weight:medium;padding:8px;border-radius:8px;background-color:var(--main-content);color:#fff}.code.svelte-1f8w8fv.svelte-1f8w8fv{font-family:monospace;font-weight:medium;padding:8px;border-radius:8px;background-color:var(--main-content);color:#fff;display:flex;flex-direction:column;gap:4px}.container.svelte-1f8w8fv.svelte-1f8w8fv{display:flex;align-items:center;gap:16px}.feature-container.svelte-piq3xe{border-bottom:2px solid var(--sec-content)}.feature-container.svelte-piq3xe:last-child{border-bottom:none}.feature.svelte-piq3xe{padding:16px;display:flex;gap:16px;justify-content:space-between;align-items:center}.toggle.svelte-piq3xe{border-radius:16px;cursor:pointer;border:2px solid var(--main-content);padding:2px 20px 2px 2px;transition:.2s ease all;background-color:#fff}.toggle.svelte-piq3xe:hover{transform:scale(1.05)}.ball.svelte-piq3xe{width:1rem;height:1rem;border-radius:9999px;background-color:var(--main-content)}.active.svelte-piq3xe{padding-left:20px;padding-right:2px}.tag.svelte-piq3xe{border-radius:8px;padding:8px;text-transform:uppercase;background-color:#f7bdbd;color:red;font-size:12px;width:70px;text-align:center}.tag-active.svelte-piq3xe{background-color:#bddcfc;color:#1e90ff}.name.svelte-piq3xe{font-family:monospace;font-weight:700;padding:8px;border-radius:8px;background-color:var(--main-content);color:#fff}.no-h.svelte-piq3xe{height:1px;overflow:hidden;transition:.3s ease all}.show.svelte-piq3xe{height:275px}.feature-list.svelte-1oo10f7{display:flex;flex-direction:column;padding:40px;gap:8px} diff --git a/static/assets/Project-c76b8a8c.js b/static/assets/Project-c76b8a8c.js new file mode 100644 index 0000000..69a37d1 --- /dev/null +++ b/static/assets/Project-c76b8a8c.js @@ -0,0 +1 @@ +import{S as G,i as X,s as Q,f as d,g as k,h as ye,b as l,c as D,l as W,t as M,j as $e,k as T,m as be,e as O,o as pe,p as I,q as P,r as S,I as Ce,u as Me,v as Ne,B as Ae,F as B,w as K,d as a,x as Fe,y as Te,G as R,z as we,H as Be,n as L,a as C,J as ke,C as ae,D as je,E as Ee,K as de}from"./index-3c6817a0.js";import{P as qe,c as Ie,N as Pe}from"./Portal-0ebf484e.js";import{C as Se,B as De}from"./BackToProjects-cdbc550f.js";function me(r){let e,t;return e=new qe({props:{$$slots:{default:[ze]},$$scope:{ctx:r}}}),{c(){I(e.$$.fragment)},m(n,s){P(e,n,s),t=!0},p(n,s){const i={};s&2079&&(i.$$scope={dirty:s,ctx:n}),e.$set(i)},i(n){t||(M(e.$$.fragment,n),t=!0)},o(n){T(e.$$.fragment,n),t=!1},d(n){S(e,n)}}}function Oe(r){let e,t;return e=new Be({props:{width:"32",height:"32"}}),{c(){I(e.$$.fragment)},m(n,s){P(e,n,s),t=!0},p:L,i(n){t||(M(e.$$.fragment,n),t=!0)},o(n){T(e.$$.fragment,n),t=!1},d(n){S(e,n)}}}function ze(r){let e,t,n,s,i,c,o,f,u,$,j,g,b,_,p,v,y,N;function A(w){r[9](w)}let E={maxLength:"35",type:"text",placeholder:"Feature name",error:r[1].name,$$slots:{default:[Oe]},$$scope:{ctx:r}};return r[0].name!==void 0&&(E.value=r[0].name),i=new Ce({props:E}),Me.push(()=>Ne(i,"value",A)),p=new Ae({props:{text:"Create",loading:r[4]}}),{c(){e=d("div"),t=d("form"),n=d("span"),n.textContent="New feature",s=k(),I(i.$$.fragment),o=k(),f=d("p"),u=B("Feature identifier: "),$=d("strong"),j=B(r[2]),g=k(),b=d("p"),b.textContent="This is a unique identifier for this feature across all your projects.",_=k(),I(p.$$.fragment),l(n,"class","svelte-138efei"),l($,"class","svelte-138efei"),l(f,"class","svelte-138efei"),l(b,"class","help svelte-138efei"),l(t,"class","modal-content svelte-138efei"),l(e,"class","hidden svelte-138efei"),K(e,"open",r[3])},m(w,m){D(w,e,m),a(e,t),a(t,n),a(t,s),P(i,t,null),a(t,o),a(t,f),a(f,u),a(f,$),a($,j),a(t,g),a(t,b),a(t,_),P(p,t,null),v=!0,y||(N=[W(t,"submit",r[5]),Fe(Ie.call(null,e)),W(e,"click_outside",r[10])],y=!0)},p(w,m){const F={};m&2&&(F.error=w[1].name),m&2048&&(F.$$scope={dirty:m,ctx:w}),!c&&m&1&&(c=!0,F.value=w[0].name,Te(()=>c=!1)),i.$set(F),(!v||m&4)&&R(j,w[2]);const z={};m&16&&(z.loading=w[4]),p.$set(z),(!v||m&8)&&K(e,"open",w[3])},i(w){v||(M(i.$$.fragment,w),M(p.$$.fragment,w),v=!0)},o(w){T(i.$$.fragment,w),T(p.$$.fragment,w),v=!1},d(w){w&&O(e),S(i),S(p),y=!1,we(N)}}}function He(r){let e,t,n,s,i,c,o=r[3]&&me(r);return{c(){e=d("button"),e.innerHTML="Feature",t=k(),o&&o.c(),n=ye(),l(e,"class","btn-secondary")},m(f,u){D(f,e,u),D(f,t,u),o&&o.m(f,u),D(f,n,u),s=!0,i||(c=W(e,"click",r[8]),i=!0)},p(f,[u]){f[3]?o?(o.p(f,u),u&8&&M(o,1)):(o=me(f),o.c(),M(o,1),o.m(n.parentNode,n)):o&&($e(),T(o,1,1,()=>{o=null}),be())},i(f){s||(M(o),s=!0)},o(f){T(o),s=!1},d(f){f&&(O(e),O(t),O(n)),o&&o.d(f),i=!1,c()}}}function Le(r,e,t){let{projectId:n}=e,{projectName:s}=e,i={name:"",project_id:n},c=pe.make(i),o="",f=!1,u=!1;async function $(_){_.preventDefault(),t(4,u=!0);const p=await fetch("/api/features",{method:"POST",body:JSON.stringify(i),headers:{"Content-Type":"application/json"}});if(!p.ok){t(1,c=pe.apply(c,await p.json())),t(4,u=!1);return}location.reload()}const j=()=>t(3,f=!0);function g(_){r.$$.not_equal(i.name,_)&&(i.name=_,t(0,i))}const b=()=>t(3,f=!1);return r.$$set=_=>{"projectId"in _&&t(6,n=_.projectId),"projectName"in _&&t(7,s=_.projectName)},r.$$.update=()=>{r.$$.dirty&129&&(i.name.length>0?t(2,o=`${s}_${i.name}`.toLowerCase().split(" ").join("_")):t(2,o=""))},[i,c,o,f,u,$,n,s,j,g,b]}class Je extends G{constructor(e){super(),X(this,e,Le,He,Q,{projectId:6,projectName:7})}}function Ke(r){let e,t,n,s,i,c;return{c(){e=C("svg"),t=C("path"),n=C("path"),s=C("path"),i=C("path"),c=C("path"),l(t,"stroke","none"),l(t,"d","M0 0h24v24H0z"),l(t,"fill","none"),l(n,"d","M4 13h5"),l(s,"d","M12 16v-8h3a2 2 0 0 1 2 2v1a2 2 0 0 1 -2 2h-3"),l(i,"d","M20 8v8"),l(c,"d","M9 16v-5.5a2.5 2.5 0 0 0 -5 0v5.5"),l(e,"xmlns","http://www.w3.org/2000/svg"),l(e,"class","icon icon-tabler icon-tabler-api"),l(e,"width","24"),l(e,"height","24"),l(e,"viewBox","0 0 24 24"),l(e,"stroke-width","2"),l(e,"stroke","currentColor"),l(e,"fill","none"),l(e,"stroke-linecap","round"),l(e,"stroke-linejoin","round")},m(o,f){D(o,e,f),a(e,t),a(e,n),a(e,s),a(e,i),a(e,c)},p:L,i:L,o:L,d(o){o&&O(e)}}}class Re extends G{constructor(e){super(),X(this,e,null,Ke,Q,{})}}function Ge(r){let e,t,n,s,i,c;return n=new Re({}),{c(){e=d("button"),t=d("span"),I(n.$$.fragment),l(t,"class","svelte-16ad7zl"),l(e,"class","btn-secondary svelte-16ad7zl"),K(e,"selected",r[0])},m(o,f){D(o,e,f),a(e,t),P(n,t,null),s=!0,i||(c=W(e,"click",r[1]),i=!0)},p(o,[f]){(!s||f&1)&&K(e,"selected",o[0])},i(o){s||(M(n.$$.fragment,o),s=!0)},o(o){T(n.$$.fragment,o),s=!1},d(o){o&&O(e),S(n),i=!1,c()}}}function Xe(r,e,t){let{selected:n=!1}=e;function s(i){ke.call(this,r,i)}return r.$$set=i=>{"selected"in i&&t(0,n=i.selected)},[n,s]}class Qe extends G{constructor(e){super(),X(this,e,Xe,Ge,Q,{selected:0})}}function Ue(r){let e,t,n,s,i,c,o,f,u,$,j,g,b,_,p,v,y,N,A;return{c(){e=d("div"),t=d("div"),n=d("span"),n.textContent='import { EnableClient } from "@enable/ts-sdk";',s=k(),i=d("span"),i.textContent=`export const features = new EnableClient(${`{ url: "${location.origin}", token: env.ENABLE_TOKEN }`});`,c=k(),o=d("span"),f=k(),u=d("span"),u.textContent="...",$=k(),j=d("span"),g=k(),b=d("span"),b.textContent='import { features } from "config";',_=k(),p=d("span"),v=B('const isActive = features.isActive("'),y=B(r[0]),N=B('"); // '),A=B(r[1]),l(t,"class","code svelte-1f8w8fv"),l(e,"class","api-type-container svelte-1f8w8fv")},m(E,w){D(E,e,w),a(e,t),a(t,n),a(t,s),a(t,i),a(t,c),a(t,o),a(t,f),a(t,u),a(t,$),a(t,j),a(t,g),a(t,b),a(t,_),a(t,p),a(p,v),a(p,y),a(p,N),a(p,A)},p(E,w){w&1&&R(y,E[0]),w&2&&R(A,E[1])},d(E){E&&O(e)}}}function Ve(r){let e,t,n,s,i=location.origin+"",c,o,f,u,$,j,g,b=JSON.stringify({active:r[1]},null,2)+"",_;return{c(){e=d("div"),t=d("div"),n=d("code"),s=B('curl -i -H "Authorization: Bearer ENABLE_TOKEN" -X GET '),c=B(i),o=B("/api/feature/"),f=B(r[0]),u=k(),$=d("span"),$.textContent="Response",j=k(),g=d("code"),_=B(b),l(n,"class","svelte-1f8w8fv"),l(t,"class","container svelte-1f8w8fv"),l($,"class","label svelte-1f8w8fv"),l(g,"class","svelte-1f8w8fv"),l(e,"class","api-type-container svelte-1f8w8fv")},m(p,v){D(p,e,v),a(e,t),a(t,n),a(n,s),a(n,c),a(n,o),a(n,f),a(e,u),a(e,$),a(e,j),a(e,g),a(g,_)},p(p,v){v&1&&R(f,p[0]),v&2&&b!==(b=JSON.stringify({active:p[1]},null,2)+"")&&R(_,b)},d(p){p&&O(e)}}}function We(r){let e,t,n,s,i,c,o,f,u,$,j,g;function b(v,y){if(v[2]==="rest")return Ve;if(v[2]==="ts-sdk")return Ue}let _=b(r),p=_&&_(r);return{c(){e=d("div"),t=d("div"),n=d("span"),s=B("REST API"),c=k(),o=d("span"),f=B("Typescript SDK"),$=k(),p&&p.c(),l(n,"role","tab"),l(n,"tabindex","0"),l(n,"aria-selected",i=r[2]==="rest"),l(n,"class","svelte-1f8w8fv"),l(o,"role","tab"),l(o,"tabindex","0"),l(o,"aria-selected",u=r[2]==="ts-sdk"),l(o,"class","svelte-1f8w8fv"),l(t,"class","tab-controls svelte-1f8w8fv"),l(e,"class","defs svelte-1f8w8fv")},m(v,y){D(v,e,y),a(e,t),a(t,n),a(n,s),a(t,c),a(t,o),a(o,f),a(e,$),p&&p.m(e,null),j||(g=[W(n,"click",r[3]),W(o,"click",r[4])],j=!0)},p(v,[y]){y&4&&i!==(i=v[2]==="rest")&&l(n,"aria-selected",i),y&4&&u!==(u=v[2]==="ts-sdk")&&l(o,"aria-selected",u),_===(_=b(v))&&p?p.p(v,y):(p&&p.d(1),p=_&&_(v),p&&(p.c(),p.m(e,null)))},i:L,o:L,d(v){v&&O(e),p&&p.d(),j=!1,we(g)}}}function Ye(r,e,t){let{name:n=""}=e,{active:s=!1}=e,i="rest";const c=()=>t(2,i="rest"),o=()=>t(2,i="ts-sdk");return r.$$set=f=>{"name"in f&&t(0,n=f.name),"active"in f&&t(1,s=f.active)},[n,s,i,c,o]}class Ze extends G{constructor(e){super(),X(this,e,Ye,We,Q,{name:0,active:1})}}function xe(r){let e,t,n,s,i,c=r[0].feature_id+"",o,f,u,$,j,g=r[0].active?"Active":"Disabled",b,_,p,v,y,N,A,E,w;return n=new Se({props:{text:r[0].feature_id}}),u=new Qe({props:{selected:r[1]}}),u.$on("click",r[3]),N=new Ze({props:{name:r[0].feature_id,active:r[0].active}}),{c(){e=d("div"),t=d("div"),I(n.$$.fragment),s=k(),i=d("span"),o=B(c),f=k(),I(u.$$.fragment),$=k(),j=d("span"),b=B(g),_=k(),p=d("button"),p.innerHTML='
',v=k(),y=d("div"),I(N.$$.fragment),l(i,"class","name svelte-piq3xe"),l(j,"class","tag svelte-piq3xe"),K(j,"tag-active",r[0].active),l(p,"class","toggle svelte-piq3xe"),K(p,"active",r[0].active),l(t,"class","feature svelte-piq3xe"),l(y,"class","no-h svelte-piq3xe"),K(y,"show",r[1]),l(e,"class","feature-container svelte-piq3xe")},m(m,F){D(m,e,F),a(e,t),P(n,t,null),a(t,s),a(t,i),a(i,o),a(t,f),P(u,t,null),a(t,$),a(t,j),a(j,b),a(t,_),a(t,p),a(e,v),a(e,y),P(N,y,null),A=!0,E||(w=W(p,"click",r[2]),E=!0)},p(m,[F]){const z={};F&1&&(z.text=m[0].feature_id),n.$set(z),(!A||F&1)&&c!==(c=m[0].feature_id+"")&&R(o,c);const Y={};F&2&&(Y.selected=m[1]),u.$set(Y),(!A||F&1)&&g!==(g=m[0].active?"Active":"Disabled")&&R(b,g),(!A||F&1)&&K(j,"tag-active",m[0].active),(!A||F&1)&&K(p,"active",m[0].active);const J={};F&1&&(J.name=m[0].feature_id),F&1&&(J.active=m[0].active),N.$set(J),(!A||F&2)&&K(y,"show",m[1])},i(m){A||(M(n.$$.fragment,m),M(u.$$.fragment,m),M(N.$$.fragment,m),A=!0)},o(m){T(n.$$.fragment,m),T(u.$$.fragment,m),T(N.$$.fragment,m),A=!1},d(m){m&&O(e),S(n),S(u),S(N),E=!1,w()}}}function et(r,e,t){let{feature:n}=e,s=!1;function i(o){ke.call(this,r,o)}const c=()=>t(1,s=!s);return r.$$set=o=>{"feature"in o&&t(0,n=o.feature)},[n,s,i,c]}class tt extends G{constructor(e){super(),X(this,e,et,xe,Q,{feature:0})}}function ve(r,e,t){const n=r.slice();return n[3]=e[t],n}function _e(r){let e,t;function n(){return r[2](r[3])}return e=new tt({props:{feature:r[3]}}),e.$on("click",n),{c(){I(e.$$.fragment)},m(s,i){P(e,s,i),t=!0},p(s,i){r=s;const c={};i&1&&(c.feature=r[3]),e.$set(c)},i(s){t||(M(e.$$.fragment,s),t=!0)},o(s){T(e.$$.fragment,s),t=!1},d(s){S(e,s)}}}function nt(r){let e,t,n=ae(r[0]),s=[];for(let c=0;cT(s[c],1,1,()=>{s[c]=null});return{c(){e=d("div");for(let c=0;c(f.id==c&&(f.active=!f.active),f)))}const i=c=>s(c.id);return r.$$set=c=>{"features"in c&&t(0,n=c.features)},[n,s,i]}class at extends G{constructor(e){super(),X(this,e,st,nt,Q,{features:0})}}function lt(r){let e,t,n,s,i,c,o,f,u,$,j;return{c(){e=C("svg"),t=C("path"),n=C("path"),s=C("path"),i=C("path"),c=C("path"),o=C("path"),f=C("path"),u=C("path"),$=C("path"),j=C("path"),l(t,"stroke","none"),l(t,"d","M0 0h24v24H0z"),l(t,"fill","none"),l(n,"d","M14 6m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0"),l(s,"d","M4 6l8 0"),l(i,"d","M16 6l4 0"),l(c,"d","M8 12m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0"),l(o,"d","M4 12l2 0"),l(f,"d","M10 12l10 0"),l(u,"d","M17 18m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0"),l($,"d","M4 18l11 0"),l(j,"d","M19 18l1 0"),l(e,"xmlns","http://www.w3.org/2000/svg"),l(e,"class","icon icon-tabler icon-tabler-adjustments-horizontal"),l(e,"width","24"),l(e,"height","24"),l(e,"viewBox","0 0 24 24"),l(e,"stroke-width","2"),l(e,"stroke","currentColor"),l(e,"fill","none"),l(e,"stroke-linecap","round"),l(e,"stroke-linejoin","round")},m(g,b){D(g,e,b),a(e,t),a(e,n),a(e,s),a(e,i),a(e,c),a(e,o),a(e,f),a(e,u),a(e,$),a(e,j)},p:L,i:L,o:L,d(g){g&&O(e)}}}class rt extends G{constructor(e){super(),X(this,e,null,lt,Q,{})}}function it(r){let e,t,n,s;return{c(){e=C("svg"),t=C("path"),n=C("path"),s=C("path"),l(t,"stroke","none"),l(t,"d","M0 0h24v24H0z"),l(t,"fill","none"),l(n,"d","M12 5l0 14"),l(s,"d","M5 12l14 0"),l(e,"xmlns","http://www.w3.org/2000/svg"),l(e,"class","icon icon-tabler icon-tabler-plus"),l(e,"width","24"),l(e,"height","24"),l(e,"viewBox","0 0 24 24"),l(e,"stroke-width","2"),l(e,"stroke","currentColor"),l(e,"fill","none"),l(e,"stroke-linecap","round"),l(e,"stroke-linejoin","round")},m(i,c){D(i,e,c),a(e,t),a(e,n),a(e,s)},p:L,i:L,o:L,d(i){i&&O(e)}}}class ot extends G{constructor(e){super(),X(this,e,null,it,Q,{})}}function he(r,e,t){const n=r.slice();return n[5]=e[t],n}function ge(r){let e,t=r[5].name+"",n,s;return{c(){e=d("option"),n=B(t),e.__value=s=r[5].id,de(e,e.__value)},m(i,c){D(i,e,c),a(e,n)},p(i,c){c&2&&t!==(t=i[5].name+"")&&R(n,t),c&2&&s!==(s=i[5].id)&&(e.__value=s,de(e,e.__value))},d(i){i&&O(e)}}}function ct(r){let e,t,n,s,i,c,o,f,u=r[1].project.name+"",$,j,g,b,_,p,v,y,N,A,E,w,m,F,z,Y,J,re,ee,Z,ie,se,oe,x,ne,le,ce;t=new Pe({}),i=new De({});let te=ae(r[1].envs),q=[];for(let h=0;hEnvironment",oe=k(),I(x.$$.fragment),l(_,"class","svelte-1yb8r5u"),l(b,"class","tooltip svelte-1yb8r5u"),l(A,"class","svelte-1yb8r5u"),l(w,"class","btn-secondary"),l(N,"class","tooltip svelte-1yb8r5u"),l(Y,"class","btn-secondary"),l(se,"class","btn-secondary"),l(ee,"class","new-options svelte-1yb8r5u"),l(z,"class","new-container svelte-1yb8r5u"),l(g,"class","project-actions svelte-1yb8r5u"),l(o,"class","page-header"),l(s,"class","page")},m(h,U){D(h,e,U),P(t,e,null),a(e,n),a(e,s),P(i,s,null),a(s,c),a(s,o),a(o,f),a(f,$),a(o,j),a(o,g),a(g,b),a(b,_),a(b,p),a(b,v);for(let V=0;V{const f=await fetch(`/api/projects/meta/${n.id}`);t(1,s=await f.json()),c=s.envs[0];const u=c==null?void 0:c.id,$=await fetch(`/api/features/${u}`);t(2,i=(await $.json()).features)});async function o(f){if(c=s.envs.find($=>$.id===f.target.value),!c)return;const u=await fetch(`/api/features/${c.id}`);t(2,i=(await u.json()).features)}return r.$$set=f=>{"params"in f&&t(0,n=f.params)},[n,s,i,o]}class mt extends G{constructor(e){super(),X(this,e,ft,ct,Q,{params:0})}}export{mt as default}; diff --git a/static/assets/Project-c7f12ff0.js b/static/assets/Project-c7f12ff0.js deleted file mode 100644 index e75a670..0000000 --- a/static/assets/Project-c7f12ff0.js +++ /dev/null @@ -1 +0,0 @@ -import{S as P,i as H,s as J,f as m,g as k,h as ne,b as u,c as S,l as M,t as N,j as Z,k as A,m as x,e as D,o as Q,p as B,q,r as z,I as ae,u as se,v as le,B as re,F as T,w as I,d as o,x as ie,y as oe,G as O,z as ee,H as ce,n as K,a as L,J as te,C as U,D as fe,E as ue}from"./index-c384d19f.js";import{P as pe,c as de,N as me}from"./Portal-bbb113f2.js";import{C as _e,B as ve}from"./BackToProjects-3334f8ec.js";function V(l){let e,t;return e=new pe({props:{$$slots:{default:[he]},$$scope:{ctx:l}}}),{c(){B(e.$$.fragment)},m(n,a){q(e,n,a),t=!0},p(n,a){const r={};a&2063&&(r.$$scope={dirty:a,ctx:n}),e.$set(r)},i(n){t||(N(e.$$.fragment,n),t=!0)},o(n){A(e.$$.fragment,n),t=!1},d(n){z(e,n)}}}function ge(l){let e,t;return e=new ce({props:{width:"32",height:"32"}}),{c(){B(e.$$.fragment)},m(n,a){q(e,n,a),t=!0},p:K,i(n){t||(N(e.$$.fragment,n),t=!0)},o(n){A(e.$$.fragment,n),t=!1},d(n){z(e,n)}}}function he(l){let e,t,n,a,r,c,s,i,d,j,$,g,b,_,f,p,h,C;function y(w){l[8](w)}let F={type:"text",placeholder:"Feature name",error:"",$$slots:{default:[ge]},$$scope:{ctx:l}};return l[0].name!==void 0&&(F.value=l[0].name),r=new ae({props:F}),se.push(()=>le(r,"value",y)),f=new re({props:{text:"Create",loading:l[3]}}),{c(){e=m("div"),t=m("form"),n=m("span"),n.textContent="New feature",a=k(),B(r.$$.fragment),s=k(),i=m("p"),d=T("Feature identifier: "),j=m("strong"),$=T(l[1]),g=k(),b=m("p"),b.textContent="This is a unique identifier for this feature across all your projects.",_=k(),B(f.$$.fragment),u(n,"class","svelte-tzlhwt"),u(i,"class","svelte-tzlhwt"),u(b,"class","help svelte-tzlhwt"),u(t,"class","modal-content svelte-tzlhwt"),u(e,"class","hidden svelte-tzlhwt"),I(e,"open",l[2])},m(w,v){S(w,e,v),o(e,t),o(t,n),o(t,a),q(r,t,null),o(t,s),o(t,i),o(i,d),o(i,j),o(j,$),o(t,g),o(t,b),o(t,_),q(f,t,null),p=!0,h||(C=[M(t,"submit",l[4]),ie(de.call(null,e)),M(e,"click_outside",l[9])],h=!0)},p(w,v){const E={};v&2048&&(E.$$scope={dirty:v,ctx:w}),!c&&v&1&&(c=!0,E.value=w[0].name,oe(()=>c=!1)),r.$set(E),(!p||v&2)&&O($,w[1]);const G={};v&8&&(G.loading=w[3]),f.$set(G),(!p||v&4)&&I(e,"open",w[2])},i(w){p||(N(r.$$.fragment,w),N(f.$$.fragment,w),p=!0)},o(w){A(r.$$.fragment,w),A(f.$$.fragment,w),p=!1},d(w){w&&D(e),z(r),z(f),h=!1,ee(C)}}}function $e(l){let e,t,n,a,r,c,s=l[2]&&V(l);return{c(){e=m("button"),e.innerHTML="Create feature +",t=k(),s&&s.c(),n=ne(),u(e,"class","btn-secondary")},m(i,d){S(i,e,d),S(i,t,d),s&&s.m(i,d),S(i,n,d),a=!0,r||(c=M(e,"click",l[7]),r=!0)},p(i,[d]){i[2]?s?(s.p(i,d),d&4&&N(s,1)):(s=V(i),s.c(),N(s,1),s.m(n.parentNode,n)):s&&(Z(),A(s,1,1,()=>{s=null}),x())},i(i){a||(N(s),a=!0)},o(i){A(s),a=!1},d(i){i&&(D(e),D(t),D(n)),s&&s.d(i),r=!1,c()}}}function be(l,e,t){let{projectId:n}=e,{projectName:a}=e,r={name:"",project_id:n},c=Q.make(r),s="",i=!1,d=!1;async function j(_){_.preventDefault(),t(3,d=!0);const f=await fetch("/api/features",{method:"POST",body:JSON.stringify(r),headers:{"Content-Type":"application/json"}});if(!f.ok){c=Q.apply(c,await f.json()),t(3,d=!1);return}location.reload()}const $=()=>t(2,i=!0);function g(_){l.$$.not_equal(r.name,_)&&(r.name=_,t(0,r))}const b=()=>t(2,i=!1);return l.$$set=_=>{"projectId"in _&&t(5,n=_.projectId),"projectName"in _&&t(6,a=_.projectName)},l.$$.update=()=>{l.$$.dirty&65&&(r.name.length>0?t(1,s=`${a}_${r.name}`.toLowerCase().split(" ").join("_")):t(1,s=""))},[r,s,i,d,j,n,a,$,g,b]}class we extends P{constructor(e){super(),H(this,e,be,$e,J,{projectId:5,projectName:6})}}function ke(l){let e,t,n,a,r,c;return{c(){e=L("svg"),t=L("path"),n=L("path"),a=L("path"),r=L("path"),c=L("path"),u(t,"stroke","none"),u(t,"d","M0 0h24v24H0z"),u(t,"fill","none"),u(n,"d","M4 13h5"),u(a,"d","M12 16v-8h3a2 2 0 0 1 2 2v1a2 2 0 0 1 -2 2h-3"),u(r,"d","M20 8v8"),u(c,"d","M9 16v-5.5a2.5 2.5 0 0 0 -5 0v5.5"),u(e,"xmlns","http://www.w3.org/2000/svg"),u(e,"class","icon icon-tabler icon-tabler-api"),u(e,"width","24"),u(e,"height","24"),u(e,"viewBox","0 0 24 24"),u(e,"stroke-width","2"),u(e,"stroke","currentColor"),u(e,"fill","none"),u(e,"stroke-linecap","round"),u(e,"stroke-linejoin","round")},m(s,i){S(s,e,i),o(e,t),o(e,n),o(e,a),o(e,r),o(e,c)},p:K,i:K,o:K,d(s){s&&D(e)}}}class je extends P{constructor(e){super(),H(this,e,null,ke,J,{})}}function Ne(l){let e,t,n,a,r,c;return n=new je({}),{c(){e=m("button"),t=m("span"),B(n.$$.fragment),u(t,"class","svelte-16ad7zl"),u(e,"class","btn-secondary svelte-16ad7zl"),I(e,"selected",l[0])},m(s,i){S(s,e,i),o(e,t),q(n,t,null),a=!0,r||(c=M(e,"click",l[1]),r=!0)},p(s,[i]){(!a||i&1)&&I(e,"selected",s[0])},i(s){a||(N(n.$$.fragment,s),a=!0)},o(s){A(n.$$.fragment,s),a=!1},d(s){s&&D(e),z(n),r=!1,c()}}}function ye(l,e,t){let{selected:n=!1}=e;function a(r){te.call(this,l,r)}return l.$$set=r=>{"selected"in r&&t(0,n=r.selected)},[n,a]}class Ce extends P{constructor(e){super(),H(this,e,ye,Ne,J,{selected:0})}}function Ae(l){let e,t,n,a,r,c,s,i,d,j,$,g,b,_,f,p,h,C,y;return{c(){e=m("div"),t=m("div"),n=m("span"),n.textContent='import { EnableClient } from "@enable/ts-sdk";',a=k(),r=m("span"),r.textContent=`export const features = new EnableClient(${`{ url: "${location.origin}", token: env.ENABLE_TOKEN }`});`,c=k(),s=m("span"),i=k(),d=m("span"),d.textContent="...",j=k(),$=m("span"),g=k(),b=m("span"),b.textContent='import { features } from "config";',_=k(),f=m("span"),p=T('const isActive = features.isActive("'),h=T(l[0]),C=T('"); // '),y=T(l[1]),u(t,"class","code svelte-1f8w8fv"),u(e,"class","api-type-container svelte-1f8w8fv")},m(F,w){S(F,e,w),o(e,t),o(t,n),o(t,a),o(t,r),o(t,c),o(t,s),o(t,i),o(t,d),o(t,j),o(t,$),o(t,g),o(t,b),o(t,_),o(t,f),o(f,p),o(f,h),o(f,C),o(f,y)},p(F,w){w&1&&O(h,F[0]),w&2&&O(y,F[1])},d(F){F&&D(e)}}}function Te(l){let e,t,n,a,r=location.origin+"",c,s,i,d,j,$,g,b=JSON.stringify({active:l[1]},null,2)+"",_;return{c(){e=m("div"),t=m("div"),n=m("code"),a=T('curl -i -H "Authorization: Bearer ENABLE_TOKEN" -X GET '),c=T(r),s=T("/api/feature/"),i=T(l[0]),d=k(),j=m("span"),j.textContent="Response",$=k(),g=m("code"),_=T(b),u(n,"class","svelte-1f8w8fv"),u(t,"class","container svelte-1f8w8fv"),u(j,"class","label svelte-1f8w8fv"),u(g,"class","svelte-1f8w8fv"),u(e,"class","api-type-container svelte-1f8w8fv")},m(f,p){S(f,e,p),o(e,t),o(t,n),o(n,a),o(n,c),o(n,s),o(n,i),o(e,d),o(e,j),o(e,$),o(e,g),o(g,_)},p(f,p){p&1&&O(i,f[0]),p&2&&b!==(b=JSON.stringify({active:f[1]},null,2)+"")&&O(_,b)},d(f){f&&D(e)}}}function Ee(l){let e,t,n,a,r,c,s,i,d,j,$,g;function b(p,h){if(p[2]==="rest")return Te;if(p[2]==="ts-sdk")return Ae}let _=b(l),f=_&&_(l);return{c(){e=m("div"),t=m("div"),n=m("span"),a=T("REST API"),c=k(),s=m("span"),i=T("Typescript SDK"),j=k(),f&&f.c(),u(n,"role","tab"),u(n,"tabindex","0"),u(n,"aria-selected",r=l[2]==="rest"),u(n,"class","svelte-1f8w8fv"),u(s,"role","tab"),u(s,"tabindex","0"),u(s,"aria-selected",d=l[2]==="ts-sdk"),u(s,"class","svelte-1f8w8fv"),u(t,"class","tab-controls svelte-1f8w8fv"),u(e,"class","defs svelte-1f8w8fv")},m(p,h){S(p,e,h),o(e,t),o(t,n),o(n,a),o(t,c),o(t,s),o(s,i),o(e,j),f&&f.m(e,null),$||(g=[M(n,"click",l[3]),M(s,"click",l[4])],$=!0)},p(p,[h]){h&4&&r!==(r=p[2]==="rest")&&u(n,"aria-selected",r),h&4&&d!==(d=p[2]==="ts-sdk")&&u(s,"aria-selected",d),_===(_=b(p))&&f?f.p(p,h):(f&&f.d(1),f=_&&_(p),f&&(f.c(),f.m(e,null)))},i:K,o:K,d(p){p&&D(e),f&&f.d(),$=!1,ee(g)}}}function Fe(l,e,t){let{name:n=""}=e,{active:a=!1}=e,r="rest";const c=()=>t(2,r="rest"),s=()=>t(2,r="ts-sdk");return l.$$set=i=>{"name"in i&&t(0,n=i.name),"active"in i&&t(1,a=i.active)},[n,a,r,c,s]}class Be extends P{constructor(e){super(),H(this,e,Fe,Ee,J,{name:0,active:1})}}function qe(l){let e,t,n,a,r,c=l[0].id+"",s,i,d,j,$,g=l[0].active?"Active":"Disabled",b,_,f,p,h,C,y,F,w;return n=new _e({props:{text:l[0].id}}),d=new Ce({props:{selected:l[1]}}),d.$on("click",l[3]),C=new Be({props:{name:l[0].id,active:l[0].active}}),{c(){e=m("div"),t=m("div"),B(n.$$.fragment),a=k(),r=m("span"),s=T(c),i=k(),B(d.$$.fragment),j=k(),$=m("span"),b=T(g),_=k(),f=m("button"),f.innerHTML='
',p=k(),h=m("div"),B(C.$$.fragment),u(r,"class","name svelte-piq3xe"),u($,"class","tag svelte-piq3xe"),I($,"tag-active",l[0].active),u(f,"class","toggle svelte-piq3xe"),I(f,"active",l[0].active),u(t,"class","feature svelte-piq3xe"),u(h,"class","no-h svelte-piq3xe"),I(h,"show",l[1]),u(e,"class","feature-container svelte-piq3xe")},m(v,E){S(v,e,E),o(e,t),q(n,t,null),o(t,a),o(t,r),o(r,s),o(t,i),q(d,t,null),o(t,j),o(t,$),o($,b),o(t,_),o(t,f),o(e,p),o(e,h),q(C,h,null),y=!0,F||(w=M(f,"click",l[2]),F=!0)},p(v,[E]){const G={};E&1&&(G.text=v[0].id),n.$set(G),(!y||E&1)&&c!==(c=v[0].id+"")&&O(s,c);const X={};E&2&&(X.selected=v[1]),d.$set(X),(!y||E&1)&&g!==(g=v[0].active?"Active":"Disabled")&&O(b,g),(!y||E&1)&&I($,"tag-active",v[0].active),(!y||E&1)&&I(f,"active",v[0].active);const R={};E&1&&(R.name=v[0].id),E&1&&(R.active=v[0].active),C.$set(R),(!y||E&2)&&I(h,"show",v[1])},i(v){y||(N(n.$$.fragment,v),N(d.$$.fragment,v),N(C.$$.fragment,v),y=!0)},o(v){A(n.$$.fragment,v),A(d.$$.fragment,v),A(C.$$.fragment,v),y=!1},d(v){v&&D(e),z(n),z(d),z(C),F=!1,w()}}}function ze(l,e,t){let{feature:n}=e,a=!1;function r(s){te.call(this,l,s)}const c=()=>t(1,a=!a);return l.$$set=s=>{"feature"in s&&t(0,n=s.feature)},[n,a,r,c]}class Se extends P{constructor(e){super(),H(this,e,ze,qe,J,{feature:0})}}function W(l,e,t){const n=l.slice();return n[3]=e[t],n}function Y(l){let e,t;function n(){return l[2](l[3])}return e=new Se({props:{feature:l[3]}}),e.$on("click",n),{c(){B(e.$$.fragment)},m(a,r){q(e,a,r),t=!0},p(a,r){l=a;const c={};r&1&&(c.feature=l[3]),e.$set(c)},i(a){t||(N(e.$$.fragment,a),t=!0)},o(a){A(e.$$.fragment,a),t=!1},d(a){z(e,a)}}}function De(l){let e,t,n=U(l[0]),a=[];for(let c=0;cA(a[c],1,1,()=>{a[c]=null});return{c(){e=m("div");for(let c=0;c(i.id==c&&(i.active=!i.active),i)))}const r=c=>a(c.id);return l.$$set=c=>{"features"in c&&t(0,n=c.features)},[n,a,r]}class Oe extends P{constructor(e){super(),H(this,e,Ie,De,J,{features:0})}}function Me(l){let e,t,n,a,r,c,s,i,d=l[1].project.name+"",j,$,g,b,_,f;return t=new me({}),r=new ve({}),g=new we({props:{projectId:l[0].id,projectName:l[1].project.name}}),_=new Oe({props:{features:l[1].features}}),{c(){e=m("div"),B(t.$$.fragment),n=k(),a=m("div"),B(r.$$.fragment),c=k(),s=m("header"),i=m("h1"),j=T(d),$=k(),B(g.$$.fragment),b=k(),B(_.$$.fragment),u(s,"class","page-header"),u(a,"class","page")},m(p,h){S(p,e,h),q(t,e,null),o(e,n),o(e,a),q(r,a,null),o(a,c),o(a,s),o(s,i),o(i,j),o(s,$),q(g,s,null),o(a,b),q(_,a,null),f=!0},p(p,[h]){(!f||h&2)&&d!==(d=p[1].project.name+"")&&O(j,d);const C={};h&1&&(C.projectId=p[0].id),h&2&&(C.projectName=p[1].project.name),g.$set(C);const y={};h&2&&(y.features=p[1].features),_.$set(y)},i(p){f||(N(t.$$.fragment,p),N(r.$$.fragment,p),N(g.$$.fragment,p),N(_.$$.fragment,p),f=!0)},o(p){A(t.$$.fragment,p),A(r.$$.fragment,p),A(g.$$.fragment,p),A(_.$$.fragment,p),f=!1},d(p){p&&D(e),z(t),z(r),z(g),z(_)}}}function Pe(l,e,t){let{params:n={id:""}}=e,a={project:{name:""},features:[]};return ue(async()=>{const r=await fetch(`/api/features/${n.id}`);t(1,a=await r.json())}),l.$$set=r=>{"params"in r&&t(0,n=r.params)},[n,a]}class Ke extends P{constructor(e){super(),H(this,e,Pe,Me,J,{params:0})}}export{Ke as default}; diff --git a/static/assets/Settings-2b8dc5e8.js b/static/assets/Settings-2b8dc5e8.js new file mode 100644 index 0000000..9f44fa9 --- /dev/null +++ b/static/assets/Settings-2b8dc5e8.js @@ -0,0 +1,2 @@ +import{S as P,i as S,s as q,I as V,u as W,v as X,B as F,f as $,p as k,g as w,b as d,c as N,q as C,d as p,l as E,y as Y,t as g,k as _,e as x,r as y,L as J,M as K,n as T,a as M,h as Z,j as Q,m as R,F as D,w as I,x as ee,G as U,z as te,C as O,D as ne,E as se,P as le}from"./index-3c6817a0.js";import{C as re,B as ae}from"./BackToProjects-cdbc550f.js";import{P as oe,c as ie,N as ce}from"./Portal-0ebf484e.js";import{T as fe}from"./Tag-ea8a169e.js";function ue(c){let e,t;return e=new fe({}),{c(){k(e.$$.fragment)},m(n,f){C(e,n,f),t=!0},i(n){t||(g(e.$$.fragment,n),t=!0)},o(n){_(e.$$.fragment,n),t=!1},d(n){y(e,n)}}}function pe(c){let e;return{c(){e=$("span"),e.textContent="+"},m(t,n){N(t,e,n)},p:T,d(t){t&&x(e)}}}function de(c){let e,t,n,f,s,o,u,l;function a(i){c[4](i)}let r={maxLength:"35",error:c[1],placeholder:"Credential name",$$slots:{default:[ue]},$$scope:{ctx:c}};return c[0]!==void 0&&(r.value=c[0]),t=new V({props:r}),W.push(()=>X(t,"value",a)),s=new F({props:{text:"Create",loading:c[2],$$slots:{default:[pe]},$$scope:{ctx:c}}}),{c(){e=$("form"),k(t.$$.fragment),f=w(),k(s.$$.fragment),d(e,"class","svelte-3stvjt")},m(i,m){N(i,e,m),C(t,e,null),p(e,f),C(s,e,null),o=!0,u||(l=E(e,"submit",c[3]),u=!0)},p(i,[m]){const j={};m&2&&(j.error=i[1]),m&128&&(j.$$scope={dirty:m,ctx:i}),!n&&m&1&&(n=!0,j.value=i[0],Y(()=>n=!1)),t.$set(j);const h={};m&4&&(h.loading=i[2]),m&128&&(h.$$scope={dirty:m,ctx:i}),s.$set(h)},i(i){o||(g(t.$$.fragment,i),g(s.$$.fragment,i),o=!0)},o(i){_(t.$$.fragment,i),_(s.$$.fragment,i),o=!1},d(i){i&&x(e),y(t),y(s),u=!1,l()}}}function me(c,e,t){const{addNotification:n}=J(),f=K();let s="",o="",u=!1;async function l(r){if(r.preventDefault(),t(1,o=""),t(2,u=!0),s.length<3){t(1,o="Please pick a name with at least 3 characters"),t(2,u=!1);return}(await fetch("/api/credentials",{method:"POST",body:JSON.stringify({name:s}),headers:{"Content-Type":"application/json"}})).ok?(n({type:"success",position:"top-right",removeAfter:3e3,text:"Credential created with success.",id:"credential-created"}),f("created"),t(0,s="")):n({type:"error",position:"top-right",removeAfter:3e3,text:"Could not create credential.",id:"credential-created-error"}),t(2,u=!1)}function a(r){s=r,t(0,s)}return[s,o,u,l,a]}class $e extends P{constructor(e){super(),S(this,e,me,de,q,{})}}function ge(c){let e,t,n,f,s,o,u;return{c(){e=M("svg"),t=M("path"),n=M("path"),f=M("path"),s=M("path"),o=M("path"),u=M("path"),d(t,"stroke","none"),d(t,"d","M0 0h24v24H0z"),d(t,"fill","none"),d(n,"d","M4 7l16 0"),d(f,"d","M10 11l0 6"),d(s,"d","M14 11l0 6"),d(o,"d","M5 7l1 12a2 2 0 0 0 2 2h8a2 2 0 0 0 2 -2l1 -12"),d(u,"d","M9 7v-3a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v3"),d(e,"xmlns","http://www.w3.org/2000/svg"),d(e,"class","icon icon-tabler icon-tabler-trash"),d(e,"width","24"),d(e,"height","24"),d(e,"viewBox","0 0 24 24"),d(e,"stroke-width","2"),d(e,"stroke","currentColor"),d(e,"fill","none"),d(e,"stroke-linecap","round"),d(e,"stroke-linejoin","round")},m(l,a){N(l,e,a),p(e,t),p(e,n),p(e,f),p(e,s),p(e,o),p(e,u)},p:T,i:T,o:T,d(l){l&&x(e)}}}class _e extends P{constructor(e){super(),S(this,e,null,ge,q,{})}}function z(c){let e,t;return e=new oe({props:{$$slots:{default:[he]},$$scope:{ctx:c}}}),{c(){k(e.$$.fragment)},m(n,f){C(e,n,f),t=!0},p(n,f){const s={};f&131&&(s.$$scope={dirty:f,ctx:n}),e.$set(s)},i(n){t||(g(e.$$.fragment,n),t=!0)},o(n){_(e.$$.fragment,n),t=!1},d(n){y(e,n)}}}function he(c){let e,t,n,f,s,o,u,l,a,r,i,m,j,h,A,v;return i=new F({props:{text:"Confirm"}}),i.$on("click",c[4]),{c(){e=$("div"),t=$("p"),n=$("span"),f=D("Are you sure you want to delete "),s=D(c[0]),o=D("?"),u=w(),l=$("span"),l.textContent="This operation cannot be undone",a=D("."),r=w(),k(i.$$.fragment),m=w(),j=$("button"),j.textContent="Cancel",d(n,"class",""),d(l,"class","red label svelte-dq3y7g"),d(j,"class","cancel svelte-dq3y7g"),d(e,"class","hidden svelte-dq3y7g"),I(e,"open",c[1])},m(b,B){N(b,e,B),p(e,t),p(t,n),p(n,f),p(n,s),p(n,o),p(t,u),p(t,l),p(t,a),p(e,r),C(i,e,null),p(e,m),p(e,j),h=!0,A||(v=[E(j,"click",c[5]),ee(ie.call(null,e)),E(e,"click_outside",c[6])],A=!0)},p(b,B){(!h||B&1)&&U(s,b[0]),(!h||B&2)&&I(e,"open",b[1])},i(b){h||(g(i.$$.fragment,b),h=!0)},o(b){_(i.$$.fragment,b),h=!1},d(b){b&&x(e),y(i),A=!1,te(v)}}}function ve(c){let e,t,n,f,s,o,u,l;n=new _e({});let a=c[1]&&z(c);return{c(){e=$("button"),t=$("span"),k(n.$$.fragment),f=w(),a&&a.c(),s=Z(),d(t,"class","svelte-dq3y7g"),d(e,"class","trash svelte-dq3y7g")},m(r,i){N(r,e,i),p(e,t),C(n,t,null),N(r,f,i),a&&a.m(r,i),N(r,s,i),o=!0,u||(l=E(e,"click",c[3]),u=!0)},p(r,[i]){r[1]?a?(a.p(r,i),i&2&&g(a,1)):(a=z(r),a.c(),g(a,1),a.m(s.parentNode,s)):a&&(Q(),_(a,1,1,()=>{a=null}),R())},i(r){o||(g(n.$$.fragment,r),g(a),o=!0)},o(r){_(n.$$.fragment,r),_(a),o=!1},d(r){r&&(x(e),x(f),x(s)),y(n),a&&a.d(r),u=!1,l()}}}function be(c,e,t){const n=K();let{label:f=""}=e,s=!1;const o=()=>t(1,s=!0),u=()=>{t(1,s=!1),n("confirm")},l=()=>t(1,s=!1),a=()=>t(1,s=!1);return c.$$set=r=>{"label"in r&&t(0,f=r.label)},[f,s,n,o,u,l,a]}class we extends P{constructor(e){super(),S(this,e,be,ve,q,{label:0})}}function G(c,e,t){const n=c.slice();return n[5]=e[t],n}function H(c){let e,t,n,f,s=c[5].name+"",o,u,l,a,r,i,m,j,h;t=new le({}),r=new re({props:{text:c[5].token}});function A(){return c[3](c[5])}return m=new we({props:{label:`the credential ${c[5].name}`}}),m.$on("confirm",A),{c(){e=$("li"),k(t.$$.fragment),n=w(),f=$("span"),o=D(s),u=w(),l=$("span"),l.textContent="••••••••••••••••••••••••••••••••••••••••••",a=w(),k(r.$$.fragment),i=w(),k(m.$$.fragment),j=w(),d(f,"class","name svelte-j2gxj4"),d(l,"class","pass svelte-j2gxj4"),d(e,"class","svelte-j2gxj4")},m(v,b){N(v,e,b),C(t,e,null),p(e,n),p(e,f),p(f,o),p(e,u),p(e,l),p(e,a),C(r,e,null),p(e,i),C(m,e,null),p(e,j),h=!0},p(v,b){c=v,(!h||b&1)&&s!==(s=c[5].name+"")&&U(o,s);const B={};b&1&&(B.text=c[5].token),r.$set(B);const L={};b&1&&(L.label=`the credential ${c[5].name}`),m.$set(L)},i(v){h||(g(t.$$.fragment,v),g(r.$$.fragment,v),g(m.$$.fragment,v),h=!0)},o(v){_(t.$$.fragment,v),_(r.$$.fragment,v),_(m.$$.fragment,v),h=!1},d(v){v&&x(e),y(t),y(r),y(m)}}}function ke(c){let e,t,n,f,s=O(c[0]),o=[];for(let l=0;l_(o[l],1,1,()=>{o[l]=null});return n=new $e({}),n.$on("created",c[1]),{c(){e=$("ul");for(let l=0;l{const l=await fetch("/api/credentials");t(0,f=await l.json())},o=async l=>{(await fetch(`/api/credentials/${l}`,{method:"DELETE"})).ok?(n({type:"success",position:"top-right",removeAfter:3e3,text:"Credential removed with success.",id:"credential-removed"}),s()):n({type:"error",position:"top-right",removeAfter:3e3,text:"Could not remove credential.",id:"credential-removed"})};return se(s),[f,s,o,l=>o(l.id)]}class ye extends P{constructor(e){super(),S(this,e,Ce,ke,q,{})}}function je(c){let e,t,n,f,s,o,u,l;return u=new ye({}),{c(){e=$("div"),t=$("section"),n=$("h2"),n.textContent="Credentials",f=w(),s=$("p"),s.textContent=`Generate and delete credentials for external access, such as integrating + the enable API with your applications`,o=w(),k(u.$$.fragment),d(s,"class","svelte-ciyjsr"),d(t,"class","svelte-ciyjsr")},m(a,r){N(a,e,r),p(e,t),p(t,n),p(t,f),p(t,s),p(t,o),C(u,t,null),l=!0},p:T,i(a){l||(g(u.$$.fragment,a),l=!0)},o(a){_(u.$$.fragment,a),l=!1},d(a){a&&x(e),y(u)}}}class Ne extends P{constructor(e){super(),S(this,e,null,je,q,{})}}function xe(c){let e,t,n,f,s,o,u,l,a,r;return t=new ce({}),s=new ae({}),a=new Ne({}),{c(){e=$("div"),k(t.$$.fragment),n=w(),f=$("div"),k(s.$$.fragment),o=w(),u=$("header"),u.innerHTML="

Settings

",l=w(),k(a.$$.fragment),d(u,"class","page-header"),d(f,"class","page")},m(i,m){N(i,e,m),C(t,e,null),p(e,n),p(e,f),C(s,f,null),p(f,o),p(f,u),p(f,l),C(a,f,null),r=!0},p:T,i(i){r||(g(t.$$.fragment,i),g(s.$$.fragment,i),g(a.$$.fragment,i),r=!0)},o(i){_(t.$$.fragment,i),_(s.$$.fragment,i),_(a.$$.fragment,i),r=!1},d(i){i&&x(e),y(t),y(s),y(a)}}}class Se extends P{constructor(e){super(),S(this,e,null,xe,q,{})}}export{Se as default}; diff --git a/static/assets/Settings-3ca12224.css b/static/assets/Settings-3ca12224.css new file mode 100644 index 0000000..501711c --- /dev/null +++ b/static/assets/Settings-3ca12224.css @@ -0,0 +1 @@ +form.svelte-3stvjt{display:flex;gap:8px}form.svelte-3stvjt:last-child{flex-grow:0}.open.svelte-dq3y7g.svelte-dq3y7g{display:flex;flex-direction:column;pointer-events:all;gap:8px;text-align:center;position:absolute;z-index:10;width:20vw;height:fit-content;border-radius:8px;top:45vh;left:40vw;border:1px solid #aaa;background-color:#fff;box-shadow:var(--shadow);padding:8px}.trash.svelte-dq3y7g.svelte-dq3y7g{border-radius:8px;display:flex;justify-content:center;align-items:center;background-color:#fff;border:none;cursor:pointer;height:2.5rem;width:2.5rem}.trash.svelte-dq3y7g.svelte-dq3y7g:hover{background-color:#ebebeb}.trash.svelte-dq3y7g>span.svelte-dq3y7g{color:var(--main-content);background-color:none}.cancel.svelte-dq3y7g.svelte-dq3y7g{border-radius:.5rem;cursor:pointer;padding:1rem 2rem;display:flex;align-items:center;justify-content:center;gap:1rem;color:var(--main-content);background-color:#f5f5f5;border:none;font-size:16px;font-weight:700}.cancel.svelte-dq3y7g.svelte-dq3y7g:hover{background-color:#e6e6e6}.label.svelte-dq3y7g.svelte-dq3y7g{font-weight:700}.red.svelte-dq3y7g.svelte-dq3y7g{color:red}ul.svelte-j2gxj4{display:flex;flex-direction:column;gap:12px;margin-bottom:16px;color:var(--main-content);padding:0}li.svelte-j2gxj4{display:flex;gap:8px;align-items:center;padding:8px;border-radius:8px;width:60%;font-size:14px}.name.svelte-j2gxj4{font-weight:700;padding:8px;border-radius:8px;color:var(--main-content)}.pass.svelte-j2gxj4{background-color:#f5f5f5;border-radius:8px;padding:8px;margin-left:auto}section.svelte-ciyjsr{display:flex;flex-direction:column;gap:8px}p.svelte-ciyjsr{color:var(--sec-content);padding:0;margin:0} diff --git a/static/assets/Settings-a4364d5e.js b/static/assets/Settings-a4364d5e.js deleted file mode 100644 index f4e8820..0000000 --- a/static/assets/Settings-a4364d5e.js +++ /dev/null @@ -1,2 +0,0 @@ -import{S as P,i as S,s as q,I as V,u as W,v as X,B as F,f as $,p as k,g as w,b as d,c as N,q as C,d as p,l as E,y as Y,t as g,k as _,e as B,r as y,K as J,L as K,n as M,a as x,h as Z,j as Q,m as R,F as D,w as I,x as ee,G as U,z as te,C as L,D as ne,E as se,P as le}from"./index-c384d19f.js";import{C as re,B as ae}from"./BackToProjects-3334f8ec.js";import{P as oe,c as ie,N as ce}from"./Portal-bbb113f2.js";import{T as ue}from"./Tag-1cb3a800.js";function fe(c){let e,t;return e=new ue({}),{c(){k(e.$$.fragment)},m(n,u){C(e,n,u),t=!0},i(n){t||(g(e.$$.fragment,n),t=!0)},o(n){_(e.$$.fragment,n),t=!1},d(n){y(e,n)}}}function pe(c){let e;return{c(){e=$("span"),e.textContent="+"},m(t,n){N(t,e,n)},p:M,d(t){t&&B(e)}}}function de(c){let e,t,n,u,s,o,f,l;function a(i){c[4](i)}let r={error:c[1],placeholder:"Credential name",$$slots:{default:[fe]},$$scope:{ctx:c}};return c[0]!==void 0&&(r.value=c[0]),t=new V({props:r}),W.push(()=>X(t,"value",a)),s=new F({props:{text:"Create",loading:c[2],$$slots:{default:[pe]},$$scope:{ctx:c}}}),{c(){e=$("form"),k(t.$$.fragment),u=w(),k(s.$$.fragment),d(e,"class","svelte-1kujczk")},m(i,m){N(i,e,m),C(t,e,null),p(e,u),C(s,e,null),o=!0,f||(l=E(e,"submit",c[3]),f=!0)},p(i,[m]){const j={};m&2&&(j.error=i[1]),m&128&&(j.$$scope={dirty:m,ctx:i}),!n&&m&1&&(n=!0,j.value=i[0],Y(()=>n=!1)),t.$set(j);const h={};m&4&&(h.loading=i[2]),m&128&&(h.$$scope={dirty:m,ctx:i}),s.$set(h)},i(i){o||(g(t.$$.fragment,i),g(s.$$.fragment,i),o=!0)},o(i){_(t.$$.fragment,i),_(s.$$.fragment,i),o=!1},d(i){i&&B(e),y(t),y(s),f=!1,l()}}}function me(c,e,t){const{addNotification:n}=J(),u=K();let s="",o="",f=!1;async function l(r){if(r.preventDefault(),t(1,o=""),t(2,f=!0),s.length<3){t(1,o="Please pick a name with at least 3 characters"),t(2,f=!1);return}(await fetch("/api/credentials",{method:"POST",body:JSON.stringify({name:s}),headers:{"Content-Type":"application/json"}})).ok?(n({type:"success",position:"top-right",removeAfter:3e3,text:"Credential created with success.",id:"credential-created"}),u("created"),t(0,s="")):n({type:"error",position:"top-right",removeAfter:3e3,text:"Could not create credential.",id:"credential-created-error"}),t(2,f=!1)}function a(r){s=r,t(0,s)}return[s,o,f,l,a]}class $e extends P{constructor(e){super(),S(this,e,me,de,q,{})}}function ge(c){let e,t,n,u,s,o,f;return{c(){e=x("svg"),t=x("path"),n=x("path"),u=x("path"),s=x("path"),o=x("path"),f=x("path"),d(t,"stroke","none"),d(t,"d","M0 0h24v24H0z"),d(t,"fill","none"),d(n,"d","M4 7l16 0"),d(u,"d","M10 11l0 6"),d(s,"d","M14 11l0 6"),d(o,"d","M5 7l1 12a2 2 0 0 0 2 2h8a2 2 0 0 0 2 -2l1 -12"),d(f,"d","M9 7v-3a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v3"),d(e,"xmlns","http://www.w3.org/2000/svg"),d(e,"class","icon icon-tabler icon-tabler-trash"),d(e,"width","24"),d(e,"height","24"),d(e,"viewBox","0 0 24 24"),d(e,"stroke-width","2"),d(e,"stroke","currentColor"),d(e,"fill","none"),d(e,"stroke-linecap","round"),d(e,"stroke-linejoin","round")},m(l,a){N(l,e,a),p(e,t),p(e,n),p(e,u),p(e,s),p(e,o),p(e,f)},p:M,i:M,o:M,d(l){l&&B(e)}}}class _e extends P{constructor(e){super(),S(this,e,null,ge,q,{})}}function O(c){let e,t;return e=new oe({props:{$$slots:{default:[he]},$$scope:{ctx:c}}}),{c(){k(e.$$.fragment)},m(n,u){C(e,n,u),t=!0},p(n,u){const s={};u&131&&(s.$$scope={dirty:u,ctx:n}),e.$set(s)},i(n){t||(g(e.$$.fragment,n),t=!0)},o(n){_(e.$$.fragment,n),t=!1},d(n){y(e,n)}}}function he(c){let e,t,n,u,s,o,f,l,a,r,i,m,j,h,A,v;return i=new F({props:{text:"Confirm"}}),i.$on("click",c[4]),{c(){e=$("div"),t=$("p"),n=$("span"),u=D("Are you sure you want to delete "),s=D(c[0]),o=D("?"),f=w(),l=$("span"),l.textContent="This operation cannot be undone",a=D("."),r=w(),k(i.$$.fragment),m=w(),j=$("button"),j.textContent="Cancel",d(n,"class",""),d(l,"class","red label svelte-dq3y7g"),d(j,"class","cancel svelte-dq3y7g"),d(e,"class","hidden svelte-dq3y7g"),I(e,"open",c[1])},m(b,T){N(b,e,T),p(e,t),p(t,n),p(n,u),p(n,s),p(n,o),p(t,f),p(t,l),p(t,a),p(e,r),C(i,e,null),p(e,m),p(e,j),h=!0,A||(v=[E(j,"click",c[5]),ee(ie.call(null,e)),E(e,"click_outside",c[6])],A=!0)},p(b,T){(!h||T&1)&&U(s,b[0]),(!h||T&2)&&I(e,"open",b[1])},i(b){h||(g(i.$$.fragment,b),h=!0)},o(b){_(i.$$.fragment,b),h=!1},d(b){b&&B(e),y(i),A=!1,te(v)}}}function ve(c){let e,t,n,u,s,o,f,l;n=new _e({});let a=c[1]&&O(c);return{c(){e=$("button"),t=$("span"),k(n.$$.fragment),u=w(),a&&a.c(),s=Z(),d(t,"class","svelte-dq3y7g"),d(e,"class","trash svelte-dq3y7g")},m(r,i){N(r,e,i),p(e,t),C(n,t,null),N(r,u,i),a&&a.m(r,i),N(r,s,i),o=!0,f||(l=E(e,"click",c[3]),f=!0)},p(r,[i]){r[1]?a?(a.p(r,i),i&2&&g(a,1)):(a=O(r),a.c(),g(a,1),a.m(s.parentNode,s)):a&&(Q(),_(a,1,1,()=>{a=null}),R())},i(r){o||(g(n.$$.fragment,r),g(a),o=!0)},o(r){_(n.$$.fragment,r),_(a),o=!1},d(r){r&&(B(e),B(u),B(s)),y(n),a&&a.d(r),f=!1,l()}}}function be(c,e,t){const n=K();let{label:u=""}=e,s=!1;const o=()=>t(1,s=!0),f=()=>{t(1,s=!1),n("confirm")},l=()=>t(1,s=!1),a=()=>t(1,s=!1);return c.$$set=r=>{"label"in r&&t(0,u=r.label)},[u,s,n,o,f,l,a]}class we extends P{constructor(e){super(),S(this,e,be,ve,q,{label:0})}}function G(c,e,t){const n=c.slice();return n[5]=e[t],n}function H(c){let e,t,n,u,s=c[5].name+"",o,f,l,a,r,i,m,j,h;t=new le({}),r=new re({props:{text:c[5].token}});function A(){return c[3](c[5])}return m=new we({props:{label:`the credential ${c[5].name}`}}),m.$on("confirm",A),{c(){e=$("li"),k(t.$$.fragment),n=w(),u=$("span"),o=D(s),f=w(),l=$("span"),l.textContent="••••••••••••••••••••••••••••••••••••••••••",a=w(),k(r.$$.fragment),i=w(),k(m.$$.fragment),j=w(),d(u,"class","name svelte-j2gxj4"),d(l,"class","pass svelte-j2gxj4"),d(e,"class","svelte-j2gxj4")},m(v,b){N(v,e,b),C(t,e,null),p(e,n),p(e,u),p(u,o),p(e,f),p(e,l),p(e,a),C(r,e,null),p(e,i),C(m,e,null),p(e,j),h=!0},p(v,b){c=v,(!h||b&1)&&s!==(s=c[5].name+"")&&U(o,s);const T={};b&1&&(T.text=c[5].token),r.$set(T);const z={};b&1&&(z.label=`the credential ${c[5].name}`),m.$set(z)},i(v){h||(g(t.$$.fragment,v),g(r.$$.fragment,v),g(m.$$.fragment,v),h=!0)},o(v){_(t.$$.fragment,v),_(r.$$.fragment,v),_(m.$$.fragment,v),h=!1},d(v){v&&B(e),y(t),y(r),y(m)}}}function ke(c){let e,t,n,u,s=L(c[0]),o=[];for(let l=0;l_(o[l],1,1,()=>{o[l]=null});return n=new $e({}),n.$on("created",c[1]),{c(){e=$("ul");for(let l=0;l{const l=await fetch("/api/credentials");t(0,u=await l.json())},o=async l=>{(await fetch(`/api/credentials/${l}`,{method:"DELETE"})).ok?(n({type:"success",position:"top-right",removeAfter:3e3,text:"Credential removed with success.",id:"credential-removed"}),s()):n({type:"error",position:"top-right",removeAfter:3e3,text:"Could not remove credential.",id:"credential-removed"})};return se(s),[u,s,o,l=>o(l.id)]}class ye extends P{constructor(e){super(),S(this,e,Ce,ke,q,{})}}function je(c){let e,t,n,u,s,o,f,l;return f=new ye({}),{c(){e=$("div"),t=$("section"),n=$("h2"),n.textContent="Credentials",u=w(),s=$("p"),s.textContent=`Generate and delete credentials for external access, such as integrating - the enable API with your applications`,o=w(),k(f.$$.fragment),d(s,"class","svelte-ciyjsr"),d(t,"class","svelte-ciyjsr")},m(a,r){N(a,e,r),p(e,t),p(t,n),p(t,u),p(t,s),p(t,o),C(f,t,null),l=!0},p:M,i(a){l||(g(f.$$.fragment,a),l=!0)},o(a){_(f.$$.fragment,a),l=!1},d(a){a&&B(e),y(f)}}}class Ne extends P{constructor(e){super(),S(this,e,null,je,q,{})}}function Be(c){let e,t,n,u,s,o,f,l,a,r;return t=new ce({}),s=new ae({}),a=new Ne({}),{c(){e=$("div"),k(t.$$.fragment),n=w(),u=$("div"),k(s.$$.fragment),o=w(),f=$("header"),f.innerHTML="

Settings

",l=w(),k(a.$$.fragment),d(f,"class","page-header"),d(u,"class","page")},m(i,m){N(i,e,m),C(t,e,null),p(e,n),p(e,u),C(s,u,null),p(u,o),p(u,f),p(u,l),C(a,u,null),r=!0},p:M,i(i){r||(g(t.$$.fragment,i),g(s.$$.fragment,i),g(a.$$.fragment,i),r=!0)},o(i){_(t.$$.fragment,i),_(s.$$.fragment,i),_(a.$$.fragment,i),r=!1},d(i){i&&B(e),y(t),y(s),y(a)}}}class Se extends P{constructor(e){super(),S(this,e,null,Be,q,{})}}export{Se as default}; diff --git a/static/assets/Settings-ac0e5205.css b/static/assets/Settings-ac0e5205.css deleted file mode 100644 index 379bc55..0000000 --- a/static/assets/Settings-ac0e5205.css +++ /dev/null @@ -1 +0,0 @@ -form.svelte-1kujczk{display:flex;gap:8px}.open.svelte-dq3y7g.svelte-dq3y7g{display:flex;flex-direction:column;pointer-events:all;gap:8px;text-align:center;position:absolute;z-index:10;width:20vw;height:fit-content;border-radius:8px;top:45vh;left:40vw;border:1px solid #aaa;background-color:#fff;box-shadow:var(--shadow);padding:8px}.trash.svelte-dq3y7g.svelte-dq3y7g{border-radius:8px;display:flex;justify-content:center;align-items:center;background-color:#fff;border:none;cursor:pointer;height:2.5rem;width:2.5rem}.trash.svelte-dq3y7g.svelte-dq3y7g:hover{background-color:#ebebeb}.trash.svelte-dq3y7g>span.svelte-dq3y7g{color:var(--main-content);background-color:none}.cancel.svelte-dq3y7g.svelte-dq3y7g{border-radius:.5rem;cursor:pointer;padding:1rem 2rem;display:flex;align-items:center;justify-content:center;gap:1rem;color:var(--main-content);background-color:#f5f5f5;border:none;font-size:16px;font-weight:700}.cancel.svelte-dq3y7g.svelte-dq3y7g:hover{background-color:#e6e6e6}.label.svelte-dq3y7g.svelte-dq3y7g{font-weight:700}.red.svelte-dq3y7g.svelte-dq3y7g{color:red}ul.svelte-j2gxj4{display:flex;flex-direction:column;gap:12px;margin-bottom:16px;color:var(--main-content);padding:0}li.svelte-j2gxj4{display:flex;gap:8px;align-items:center;padding:8px;border-radius:8px;width:60%;font-size:14px}.name.svelte-j2gxj4{font-weight:700;padding:8px;border-radius:8px;color:var(--main-content)}.pass.svelte-j2gxj4{background-color:#f5f5f5;border-radius:8px;padding:8px;margin-left:auto}section.svelte-ciyjsr{display:flex;flex-direction:column;gap:8px}p.svelte-ciyjsr{color:var(--sec-content);padding:0;margin:0} diff --git a/static/assets/Tag-1cb3a800.js b/static/assets/Tag-ea8a169e.js similarity index 93% rename from static/assets/Tag-1cb3a800.js rename to static/assets/Tag-ea8a169e.js index b4c1274..ce01c66 100644 --- a/static/assets/Tag-1cb3a800.js +++ b/static/assets/Tag-ea8a169e.js @@ -1 +1 @@ -import{S as h,i as d,s as u,a as o,b as e,c as g,d as l,n as i,e as f}from"./index-c384d19f.js";function v(c){let t,n,a,r;return{c(){t=o("svg"),n=o("path"),a=o("circle"),r=o("path"),e(n,"stroke","none"),e(n,"d","M0 0h24v24H0z"),e(n,"fill","none"),e(a,"cx","8.5"),e(a,"cy","8.5"),e(a,"r","1"),e(a,"fill","currentColor"),e(r,"d","M4 7v3.859c0 .537 .213 1.052 .593 1.432l8.116 8.116a2.025 2.025 0 0 0 2.864 0l4.834 -4.834a2.025 2.025 0 0 0 0 -2.864l-8.117 -8.116a2.025 2.025 0 0 0 -1.431 -.593h-3.859a3 3 0 0 0 -3 3z"),e(t,"xmlns","http://www.w3.org/2000/svg"),e(t,"class","icon icon-tabler icon-tabler-tag"),e(t,"width","24"),e(t,"height","24"),e(t,"viewBox","0 0 24 24"),e(t,"stroke-width","2"),e(t,"stroke","currentColor"),e(t,"fill","none"),e(t,"stroke-linecap","round"),e(t,"stroke-linejoin","round")},m(s,p){g(s,t,p),l(t,n),l(t,a),l(t,r)},p:i,i,o:i,d(s){s&&f(t)}}}class w extends h{constructor(t){super(),d(this,t,null,v,u,{})}}export{w as T}; +import{S as h,i as d,s as u,a as o,b as e,c as g,d as l,n as i,e as f}from"./index-3c6817a0.js";function v(c){let t,n,a,r;return{c(){t=o("svg"),n=o("path"),a=o("circle"),r=o("path"),e(n,"stroke","none"),e(n,"d","M0 0h24v24H0z"),e(n,"fill","none"),e(a,"cx","8.5"),e(a,"cy","8.5"),e(a,"r","1"),e(a,"fill","currentColor"),e(r,"d","M4 7v3.859c0 .537 .213 1.052 .593 1.432l8.116 8.116a2.025 2.025 0 0 0 2.864 0l4.834 -4.834a2.025 2.025 0 0 0 0 -2.864l-8.117 -8.116a2.025 2.025 0 0 0 -1.431 -.593h-3.859a3 3 0 0 0 -3 3z"),e(t,"xmlns","http://www.w3.org/2000/svg"),e(t,"class","icon icon-tabler icon-tabler-tag"),e(t,"width","24"),e(t,"height","24"),e(t,"viewBox","0 0 24 24"),e(t,"stroke-width","2"),e(t,"stroke","currentColor"),e(t,"fill","none"),e(t,"stroke-linecap","round"),e(t,"stroke-linejoin","round")},m(s,p){g(s,t,p),l(t,n),l(t,a),l(t,r)},p:i,i,o:i,d(s){s&&f(t)}}}class w extends h{constructor(t){super(),d(this,t,null,v,u,{})}}export{w as T}; diff --git a/static/assets/index-3c6817a0.js b/static/assets/index-3c6817a0.js new file mode 100644 index 0000000..7f0c6c6 --- /dev/null +++ b/static/assets/index-3c6817a0.js @@ -0,0 +1,7 @@ +var Dt=Object.defineProperty;var It=(t,e,n)=>e in t?Dt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var Pe=(t,e,n)=>(It(t,typeof e!="symbol"?e+"":e,n),n);(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))r(i);new MutationObserver(i=>{for(const o of i)if(o.type==="childList")for(const a of o.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&r(a)}).observe(document,{childList:!0,subtree:!0});function n(i){const o={};return i.integrity&&(o.integrity=i.integrity),i.referrerPolicy&&(o.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?o.credentials="include":i.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function r(i){if(i.ep)return;i.ep=!0;const o=n(i);fetch(i.href,o)}})();function O(){}const Ie=t=>t;function Te(t,e){for(const n in e)t[n]=e[n];return t}function dt(t){return t()}function Ye(){return Object.create(null)}function X(t){t.forEach(dt)}function Z(t){return typeof t=="function"}function T(t,e){return t!=t?e==e:t!==e||t&&typeof t=="object"||typeof t=="function"}let _e;function Tt(t,e){return t===e?!0:(_e||(_e=document.createElement("a")),_e.href=e,t===_e.href)}function Bt(t){return Object.keys(t).length===0}function ht(t,...e){if(t==null){for(const r of e)r(void 0);return O}const n=t.subscribe(...e);return n.unsubscribe?()=>n.unsubscribe():n}function Ft(t,e,n){t.$$.on_destroy.push(ht(e,n))}function ke(t,e,n,r){if(t){const i=pt(t,e,n,r);return t[0](i)}}function pt(t,e,n,r){return t[1]&&r?Te(n.ctx.slice(),t[1](r(e))):n.ctx}function Ee(t,e,n,r){if(t[2]&&r){const i=t[2](r(n));if(e.dirty===void 0)return i;if(typeof i=="object"){const o=[],a=Math.max(e.dirty.length,i.length);for(let s=0;s32){const e=[],n=t.ctx.length/32;for(let r=0;rwindow.performance.now():()=>Date.now(),Be=mt?t=>requestAnimationFrame(t):O;const te=new Set;function gt(t){te.forEach(e=>{e.c(t)||(te.delete(e),e.f())}),te.size!==0&&Be(gt)}function wt(t){let e;return te.size===0&&Be(gt),{promise:new Promise(n=>{te.add(e={c:t,f:n})}),abort(){te.delete(e)}}}function w(t,e){t.appendChild(e)}function $t(t){if(!t)return document;const e=t.getRootNode?t.getRootNode():t.ownerDocument;return e&&e.host?e:t.ownerDocument}function Ut(t){const e=q("style");return e.textContent="/* empty */",Vt($t(t),e),e.sheet}function Vt(t,e){return w(t.head||t,e),e.sheet}function z(t,e,n){t.insertBefore(e,n||null)}function A(t){t.parentNode&&t.parentNode.removeChild(t)}function Xt(t,e){for(let n=0;nt.removeEventListener(e,n,r)}function c(t,e,n){n==null?t.removeAttribute(e):t.getAttribute(e)!==n&&t.setAttribute(e,n)}function Yt(t){return Array.from(t.childNodes)}function Ne(t,e){e=""+e,t.data!==e&&(t.data=e)}function Je(t,e){t.value=e??""}function Ge(t,e,n,r){n==null?t.style.removeProperty(e):t.style.setProperty(e,n,r?"important":"")}function Ke(t,e,n){t.classList.toggle(e,!!n)}function vt(t,e,{bubbles:n=!1,cancelable:r=!1}={}){return new CustomEvent(t,{detail:e,bubbles:n,cancelable:r})}function re(t,e){return new t(e)}const $e=new Map;let ve=0;function Wt(t){let e=5381,n=t.length;for(;n--;)e=(e<<5)-e^t.charCodeAt(n);return e>>>0}function Jt(t,e){const n={stylesheet:Ut(e),rules:{}};return $e.set(t,n),n}function yt(t,e,n,r,i,o,a,s=0){const l=16.666/r;let u=`{ +`;for(let E=0;E<=1;E+=l){const R=e+(n-e)*o(E);u+=E*100+`%{${a(R,1-R)}} +`}const d=u+`100% {${a(n,1-n)}} +}`,f=`__svelte_${Wt(d)}_${s}`,m=$t(t),{stylesheet:h,rules:p}=$e.get(m)||Jt(m,t);p[f]||(p[f]=!0,h.insertRule(`@keyframes ${f} ${d}`,h.cssRules.length));const _=t.style.animation||"";return t.style.animation=`${_?`${_}, `:""}${f} ${r}ms linear ${i}ms 1 both`,ve+=1,f}function Re(t,e){const n=(t.style.animation||"").split(", "),r=n.filter(e?o=>o.indexOf(e)<0:o=>o.indexOf("__svelte")===-1),i=n.length-r.length;i&&(t.style.animation=r.join(", "),ve-=i,ve||Gt())}function Gt(){Be(()=>{ve||($e.forEach(t=>{const{ownerNode:e}=t.stylesheet;e&&A(e)}),$e.clear())})}let fe;function le(t){fe=t}function oe(){if(!fe)throw new Error("Function called outside component initialization");return fe}function Kt(t){oe().$$.on_mount.push(t)}function Zt(t){oe().$$.after_update.push(t)}function bt(t){oe().$$.on_destroy.push(t)}function Qt(){const t=oe();return(e,n,{cancelable:r=!1}={})=>{const i=t.$$.callbacks[e];if(i){const o=vt(e,n,{cancelable:r});return i.slice().forEach(a=>{a.call(t,o)}),!o.defaultPrevented}return!0}}function xt(t,e){return oe().$$.context.set(t,e),e}function en(t){return oe().$$.context.get(t)}function Ae(t,e){const n=t.$$.callbacks[e.type];n&&n.slice().forEach(r=>r.call(this,e))}const ee=[],J=[];let ne=[];const qe=[],kt=Promise.resolve();let ze=!1;function Et(){ze||(ze=!0,kt.then(Ct))}function Fe(){return Et(),kt}function ie(t){ne.push(t)}function ae(t){qe.push(t)}const Me=new Set;let Q=0;function Ct(){if(Q!==0)return;const t=fe;do{try{for(;Qt.indexOf(r)===-1?e.push(r):n.push(r)),n.forEach(r=>r()),ne=e}let se;function St(){return se||(se=Promise.resolve(),se.then(()=>{se=null})),se}function ye(t,e,n){t.dispatchEvent(vt(`${e?"intro":"outro"}${n}`))}const we=new Set;let Y;function U(){Y={r:0,c:[],p:Y}}function V(){Y.r||X(Y.c),Y=Y.p}function $(t,e){t&&t.i&&(we.delete(t),t.i(e))}function b(t,e,n,r){if(t&&t.o){if(we.has(t))return;we.add(t),Y.c.push(()=>{we.delete(t),r&&(n&&t.d(1),r())}),t.o(e)}else r&&r()}const Nt={duration:0};function rn(t,e,n){const r={direction:"in"};let i=e(t,n,r),o=!1,a,s,l=0;function u(){a&&Re(t,a)}function d(){const{delay:m=0,duration:h=300,easing:p=Ie,tick:_=O,css:E}=i||Nt;E&&(a=yt(t,0,1,h,m,p,E,l++)),_(0,1);const R=_t()+m,H=R+h;s&&s.abort(),o=!0,ie(()=>ye(t,!0,"start")),s=wt(C=>{if(o){if(C>=H)return _(1,0),ye(t,!0,"end"),u(),o=!1;if(C>=R){const g=p((C-R)/h);_(g,1-g)}}return o})}let f=!1;return{start(){f||(f=!0,Re(t),Z(i)?(i=i(r),St().then(d)):d())},invalidate(){f=!1},end(){o&&(u(),o=!1)}}}function on(t,e,n){const r={direction:"out"};let i=e(t,n,r),o=!0,a;const s=Y;s.r+=1;let l;function u(){const{delay:d=0,duration:f=300,easing:m=Ie,tick:h=O,css:p}=i||Nt;p&&(a=yt(t,1,0,f,d,m,p));const _=_t()+d,E=_+f;ie(()=>ye(t,!1,"start")),"inert"in t&&(l=t.inert,t.inert=!0),wt(R=>{if(o){if(R>=E)return h(0,1),ye(t,!1,"end"),--s.r||X(s.c),!1;if(R>=_){const H=m((R-_)/f);h(1-H,H)}}return o})}return Z(i)?St().then(()=>{i=i(r),u()}):u(),{end(d){d&&"inert"in t&&(t.inert=l),d&&i.tick&&i.tick(1,0),o&&(a&&Re(t,a),o=!1)}}}function be(t){return(t==null?void 0:t.length)!==void 0?t:Array.from(t)}function sn(t,e){b(t,1,1,()=>{e.delete(t.key)})}function ln(t,e,n,r,i,o,a,s,l,u,d,f){let m=t.length,h=o.length,p=m;const _={};for(;p--;)_[t[p].key]=p;const E=[],R=new Map,H=new Map,C=[];for(p=h;p--;){const N=f(i,o,p),k=n(N);let y=a.get(k);y?r&&C.push(()=>y.p(N,e)):(y=u(k,N),y.c()),R.set(k,E[p]=y),k in _&&H.set(k,Math.abs(p-_[k]))}const g=new Set,v=new Set;function S(N){$(N,1),N.m(s,d),a.set(N.key,N),d=N.first,h--}for(;m&&h;){const N=E[h-1],k=t[m-1],y=N.key,D=k.key;N===k?(d=N.first,m--,h--):R.has(D)?!a.has(y)||g.has(y)?S(N):v.has(D)?m--:H.get(y)>H.get(D)?(v.add(y),S(N)):(g.add(D),m--):(l(k,a),m--)}for(;m--;){const N=t[m];R.has(N.key)||l(N,a)}for(;h;)S(E[h-1]);return X(C),E}function Ot(t,e){const n={},r={},i={$$scope:1};let o=t.length;for(;o--;){const a=t[o],s=e[o];if(s){for(const l in a)l in s||(r[l]=1);for(const l in s)i[l]||(n[l]=s[l],i[l]=1);t[o]=s}else for(const l in a)i[l]=1}for(const a in r)a in n||(n[a]=void 0);return n}function Pt(t){return typeof t=="object"&&t!==null?t:{}}function ue(t,e,n){const r=t.$$.props[e];r!==void 0&&(t.$$.bound[r]=n,n(t.$$.ctx[r]))}function L(t){t&&t.c()}function M(t,e,n){const{fragment:r,after_update:i}=t.$$;r&&r.m(e,n),ie(()=>{const o=t.$$.on_mount.map(dt).filter(Z);t.$$.on_destroy?t.$$.on_destroy.push(...o):X(o),t.$$.on_mount=[]}),i.forEach(ie)}function j(t,e){const n=t.$$;n.fragment!==null&&(nn(n.after_update),X(n.on_destroy),n.fragment&&n.fragment.d(e),n.on_destroy=n.fragment=null,n.ctx=[])}function an(t,e){t.$$.dirty[0]===-1&&(ee.push(t),Et(),t.$$.dirty.fill(0)),t.$$.dirty[e/31|0]|=1<{const p=h.length?h[0]:m;return u.ctx&&i(u.ctx[f],u.ctx[f]=p)&&(!u.skip_bound&&u.bound[f]&&u.bound[f](p),d&&an(t,f)),m}):[],u.update(),d=!0,X(u.before_update),u.fragment=r?r(u.ctx):!1,e.target){if(e.hydrate){const f=Yt(e.target);u.fragment&&u.fragment.l(f),f.forEach(A)}else u.fragment&&u.fragment.c();e.intro&&$(t.$$.fragment),M(t,e.target,e.anchor),Ct()}le(l)}class F{constructor(){Pe(this,"$$");Pe(this,"$$set")}$destroy(){j(this,1),this.$destroy=O}$on(e,n){if(!Z(n))return O;const r=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return r.push(n),()=>{const i=r.indexOf(n);i!==-1&&r.splice(i,1)}}$set(e){this.$$set&&!Bt(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}}const un="4";typeof window<"u"&&(window.__svelte||(window.__svelte={v:new Set})).v.add(un);const Mt={subscribe:null,addNotification:null,removeNotification:null,clearNotifications:null},He=()=>en(Mt);function cn(t){let e,n,r;var i=t[0];function o(a){return{props:{notification:a[1],withoutStyles:a[2],onRemove:a[3]}}}return i&&(e=re(i,o(t))),{c(){e&&L(e.$$.fragment),n=K()},m(a,s){e&&M(e,a,s),z(a,n,s),r=!0},p(a,[s]){const l={};if(s&2&&(l.notification=a[1]),s&4&&(l.withoutStyles=a[2]),s&1&&i!==(i=a[0])){if(e){U();const u=e;b(u.$$.fragment,1,0,()=>{j(u,1)}),V()}i?(e=re(i,o(a)),L(e.$$.fragment),$(e.$$.fragment,1),M(e,n.parentNode,n)):e=null}else i&&e.$set(l)},i(a){r||(e&&$(e.$$.fragment,a),r=!0)},o(a){e&&b(e.$$.fragment,a),r=!1},d(a){a&&A(n),e&&j(e,a)}}}function fn(t,e,n){let{item:r}=e,{notification:i={}}=e,{withoutStyles:o=!1}=e;const{removeNotification:a}=He(),{id:s,removeAfter:l}=i,u=()=>a(s);let d=null;return l&&(d=setTimeout(u,l)),bt(()=>{l&&d&&clearTimeout(d)}),t.$$set=f=>{"item"in f&&n(0,r=f.item),"notification"in f&&n(1,i=f.notification),"withoutStyles"in f&&n(2,o=f.withoutStyles)},[r,i,o,u]}class dn extends F{constructor(e){super(),B(this,e,fn,cn,T,{item:0,notification:1,withoutStyles:2})}}function hn(t){const e=t-1;return e*e*e+1}function Ze(t,{delay:e=0,duration:n=400,easing:r=Ie}={}){const i=+getComputedStyle(t).opacity;return{delay:e,duration:n,easing:r,css:o=>`opacity: ${o*i}`}}function Or(t,{delay:e=0,duration:n=400,easing:r=hn,x:i=0,y:o=0,opacity:a=0}={}){const s=getComputedStyle(t),l=+s.opacity,u=s.transform==="none"?"":s.transform,d=l*(1-a),[f,m]=We(i),[h,p]=We(o);return{delay:e,duration:n,easing:r,css:(_,E)=>` + transform: ${u} translate(${(1-_)*f}${m}, ${(1-_)*h}${p}); + opacity: ${l-d*E}`}}function pn(t){let e,n,r,i,o,a,s,l,u,d;const f=t[6].default,m=ke(f,t,t[5],null),h=m||mn(t);return{c(){e=q("div"),n=q("div"),h&&h.c(),r=I(),i=q("button"),o=W("×"),c(n,"class",ge(t[2]("content"))+" svelte-1x27qg3"),c(i,"class",ge(t[2]("button"))+" svelte-1x27qg3"),c(i,"aria-label","delete notification"),c(e,"class",ge(t[2]())+" svelte-1x27qg3"),c(e,"role","status"),c(e,"aria-live","polite")},m(p,_){z(p,e,_),w(e,n),h&&h.m(n,null),w(e,r),w(e,i),w(i,o),l=!0,u||(d=de(i,"click",function(){Z(t[0])&&t[0].apply(this,arguments)}),u=!0)},p(p,_){t=p,m&&m.p&&(!l||_&32)&&Ce(m,f,t,t[5],l?Ee(f,t[5],_,null):Se(t[5]),null)},i(p){l||($(h,p),p&&ie(()=>{l&&(s&&s.end(1),a=rn(e,Ze,{}),a.start())}),l=!0)},o(p){b(h,p),a&&a.invalidate(),p&&(s=on(e,Ze,{})),l=!1},d(p){p&&A(e),h&&h.d(p),p&&s&&s.end(),u=!1,d()}}}function mn(t){let e;return{c(){e=W(t[1])},m(n,r){z(n,e,r)},p:O,d(n){n&&A(e)}}}function _n(t){let e,n,r=t[1]&&pn(t);return{c(){r&&r.c(),e=K()},m(i,o){r&&r.m(i,o),z(i,e,o),n=!0},p(i,[o]){i[1]&&r.p(i,o)},i(i){n||($(r),n=!0)},o(i){b(r),n=!1},d(i){i&&A(e),r&&r.d(i)}}}function gn(t,e,n){let{$$slots:r={},$$scope:i}=e,{notification:o={}}=e,{withoutStyles:a=!1}=e,{onRemove:s=null}=e;const{text:l,type:u}=o,d=f=>{const m=f?`-${f}`:"",h=` default-notification-style${m}`,p=u&&!f?` default-notification-${u}`:"";return`notification${m}${a?"":h}${p}`};return t.$$set=f=>{"notification"in f&&n(3,o=f.notification),"withoutStyles"in f&&n(4,a=f.withoutStyles),"onRemove"in f&&n(0,s=f.onRemove),"$$scope"in f&&n(5,i=f.$$scope)},[s,l,d,o,a,i,r]}class Qe extends F{constructor(e){super(),B(this,e,gn,_n,T,{notification:3,withoutStyles:4,onRemove:0})}}const x=[];function jt(t,e){return{subscribe:Ue(t,e).subscribe}}function Ue(t,e=O){let n;const r=new Set;function i(s){if(T(t,s)&&(t=s,n)){const l=!x.length;for(const u of r)u[1](),x.push(u,t);if(l){for(let u=0;u{r.delete(u),r.size===0&&n&&(n(),n=null)}}return{set:i,update:o,subscribe:a}}function Lt(t,e,n){const r=!Array.isArray(t),i=r?[t]:t;if(!i.every(Boolean))throw new Error("derived() expects stores as input, got a falsy value");const o=e.length<2;return jt(n,(a,s)=>{let l=!1;const u=[];let d=0,f=O;const m=()=>{if(d)return;f();const p=e(r?u[0]:u,a,s);o?a(p):f=Z(p)?p:O},h=i.map((p,_)=>ht(p,E=>{u[_]=E,d&=~(1<<_),l&&m()},()=>{d|=1<<_}));return l=!0,m(),function(){X(h),f(),l=!1}})}const De=["top-left","top-center","top-right","bottom-left","bottom-center","bottom-right"],wn=(t,e)=>{if(!t)return;const{update:n}=e,r={id:`${new Date().getTime()}-${Math.floor(Math.random()*9999)}`,position:"bottom-center",text:"",...t};De.includes(t.position)&&n(i=>r.position.includes("top-")?[r,...i]:[...i,r])},$n=(t,{update:e})=>{t&&e(n=>n.filter(({id:r})=>r!==t))},vn=t=>t.set([]),yn=()=>{const t=Ue([]);return{subscribe:t.subscribe,addNotification:e=>wn(e,t),removeNotification:e=>$n(e,t),clearNotifications:()=>vn(t)}},xe=yn();function et(t,e,n){const r=t.slice();return r[7]=e[n],r}function tt(t,e,n){const r=t.slice();return r[10]=e[n],r}function nt(t){let e,n;return e=new dn({props:{notification:t[10],withoutStyles:t[1],item:t[0]||Qe}}),{c(){L(e.$$.fragment)},m(r,i){M(e,r,i),n=!0},p(r,i){const o={};i&8&&(o.notification=r[10]),i&2&&(o.withoutStyles=r[1]),i&1&&(o.item=r[0]||Qe),e.$set(o)},i(r){n||($(e.$$.fragment,r),n=!0)},o(r){b(e.$$.fragment,r),n=!1},d(r){j(e,r)}}}function rt(t,e){let n,r,i,o=e[10].position===e[7]&&nt(e);return{key:t,first:null,c(){n=K(),o&&o.c(),r=K(),this.first=n},m(a,s){z(a,n,s),o&&o.m(a,s),z(a,r,s),i=!0},p(a,s){e=a,e[10].position===e[7]?o?(o.p(e,s),s&8&&$(o,1)):(o=nt(e),o.c(),$(o,1),o.m(r.parentNode,r)):o&&(U(),b(o,1,1,()=>{o=null}),V())},i(a){i||($(o),i=!0)},o(a){b(o),i=!1},d(a){a&&(A(n),A(r)),o&&o.d(a)}}}function it(t){let e,n=[],r=new Map,i,o,a=be(t[3]);const s=l=>l[10].id;for(let l=0;lb(s[u],1,1,()=>{s[u]=null});return{c(){o&&o.c(),e=I(),n=q("div");for(let u=0;un(3,r=d));let{$$slots:i={},$$scope:o}=e,{item:a=null}=e,{withoutStyles:s=!1}=e,{zIndex:l=null}=e;const u=(d="")=>{const f=` default-position-style-${d}`;return`position-${d}${s?"":f}`};return xt(Mt,xe),t.$$set=d=>{"item"in d&&n(0,a=d.item),"withoutStyles"in d&&n(1,s=d.withoutStyles),"zIndex"in d&&n(2,l=d.zIndex),"$$scope"in d&&n(5,o=d.$$scope)},[a,s,l,r,u,o,i]}class En extends F{constructor(e){super(),B(this,e,kn,bn,T,{item:0,withoutStyles:1,zIndex:2})}}const Cn="modulepreload",Sn=function(t){return"/"+t},ot={},je=function(e,n,r){if(!n||n.length===0)return e();const i=document.getElementsByTagName("link");return Promise.all(n.map(o=>{if(o=Sn(o),o in ot)return;ot[o]=!0;const a=o.endsWith(".css"),s=a?'[rel="stylesheet"]':"";if(!!r)for(let d=i.length-1;d>=0;d--){const f=i[d];if(f.href===o&&(!a||f.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${o}"]${s}`))return;const u=document.createElement("link");if(u.rel=a?"stylesheet":Cn,a||(u.as="script",u.crossOrigin=""),u.href=o,document.head.appendChild(u),a)return new Promise((d,f)=>{u.addEventListener("load",d),u.addEventListener("error",()=>f(new Error(`Unable to preload CSS for ${o}`)))})})).then(()=>e()).catch(o=>{const a=new Event("vite:preloadError",{cancelable:!0});if(a.payload=o,window.dispatchEvent(a),!a.defaultPrevented)throw o})};function Le(t){if(!t)throw Error("Parameter args is required");if(!t.component==!t.asyncComponent)throw Error("One and only one of component and asyncComponent is required");if(t.component&&(t.asyncComponent=()=>Promise.resolve(t.component)),typeof t.asyncComponent!="function")throw Error("Parameter asyncComponent must be a function");if(t.conditions){Array.isArray(t.conditions)||(t.conditions=[t.conditions]);for(let n=0;n{j(d,1)}),V()}o?(e=re(o,a()),e.$on("routeEvent",s[7]),L(e.$$.fragment),$(e.$$.fragment,1),M(e,n.parentNode,n)):e=null}else o&&e.$set(u)},i(s){r||(e&&$(e.$$.fragment,s),r=!0)},o(s){e&&b(e.$$.fragment,s),r=!1},d(s){s&&A(n),e&&j(e,s)}}}function Pn(t){let e,n,r;const i=[{params:t[1]},t[2]];var o=t[0];function a(s){let l={};for(let u=0;u{j(d,1)}),V()}o?(e=re(o,a()),e.$on("routeEvent",s[6]),L(e.$$.fragment),$(e.$$.fragment,1),M(e,n.parentNode,n)):e=null}else o&&e.$set(u)},i(s){r||(e&&$(e.$$.fragment,s),r=!0)},o(s){e&&b(e.$$.fragment,s),r=!1},d(s){s&&A(n),e&&j(e,s)}}}function Mn(t){let e,n,r,i;const o=[Pn,On],a=[];function s(l,u){return l[1]?0:1}return e=s(t),n=a[e]=o[e](t),{c(){n.c(),r=K()},m(l,u){a[e].m(l,u),z(l,r,u),i=!0},p(l,[u]){let d=e;e=s(l),e===d?a[e].p(l,u):(U(),b(a[d],1,1,()=>{a[d]=null}),V(),n=a[e],n?n.p(l,u):(n=a[e]=o[e](l),n.c()),$(n,1),n.m(r.parentNode,r))},i(l){i||($(n),i=!0)},o(l){b(n),i=!1},d(l){l&&A(r),a[e].d(l)}}}function st(){const t=window.location.href.indexOf("#/");let e=t>-1?window.location.href.substr(t+1):"/";const n=e.indexOf("?");let r="";return n>-1&&(r=e.substr(n+1),e=e.substr(0,n)),{location:e,querystring:r}}const Ve=jt(null,function(e){e(st());const n=()=>{e(st())};return window.addEventListener("hashchange",n,!1),function(){window.removeEventListener("hashchange",n,!1)}});Lt(Ve,t=>t.location);Lt(Ve,t=>t.querystring);const lt=Ue(void 0);async function Rt(t){if(!t||t.length<1||t.charAt(0)!="/"&&t.indexOf("#/")!==0)throw Error("Invalid parameter location");await Fe(),history.replaceState({...history.state,__svelte_spa_router_scrollX:window.scrollX,__svelte_spa_router_scrollY:window.scrollY},void 0),window.location.hash=(t.charAt(0)=="#"?"":"#")+t}async function jn(t){if(!t||t.length<1||t.charAt(0)!="/"&&t.indexOf("#/")!==0)throw Error("Invalid parameter location");await Fe();const e=(t.charAt(0)=="#"?"":"#")+t;try{const n={...history.state};delete n.__svelte_spa_router_scrollX,delete n.__svelte_spa_router_scrollY,window.history.replaceState(n,void 0,e)}catch{console.warn("Caught exception while replacing the current page. If you're running this in the Svelte REPL, please note that the `replace` method might not work in this environment.")}window.dispatchEvent(new Event("hashchange"))}function Ln(t){t?window.scrollTo(t.__svelte_spa_router_scrollX,t.__svelte_spa_router_scrollY):window.scrollTo(0,0)}function Rn(t,e,n){let{routes:r={}}=e,{prefix:i=""}=e,{restoreScrollState:o=!1}=e;class a{constructor(v,S){if(!S||typeof S!="function"&&(typeof S!="object"||S._sveltesparouter!==!0))throw Error("Invalid component object");if(!v||typeof v=="string"&&(v.length<1||v.charAt(0)!="/"&&v.charAt(0)!="*")||typeof v=="object"&&!(v instanceof RegExp))throw Error('Invalid value for "path" argument - strings must start with / or *');const{pattern:N,keys:k}=Nn(v);this.path=v,typeof S=="object"&&S._sveltesparouter===!0?(this.component=S.component,this.conditions=S.conditions||[],this.userData=S.userData,this.props=S.props||{}):(this.component=()=>Promise.resolve(S),this.conditions=[],this.props={}),this._pattern=N,this._keys=k}match(v){if(i){if(typeof i=="string")if(v.startsWith(i))v=v.substr(i.length)||"/";else return null;else if(i instanceof RegExp){const y=v.match(i);if(y&&y[0])v=v.substr(y[0].length)||"/";else return null}}const S=this._pattern.exec(v);if(S===null)return null;if(this._keys===!1)return S;const N={};let k=0;for(;k{s.push(new a(v,g))}):Object.keys(r).forEach(g=>{s.push(new a(g,r[g]))});let l=null,u=null,d={};const f=Qt();async function m(g,v){await Fe(),f(g,v)}let h=null,p=null;o&&(p=g=>{g.state&&(g.state.__svelte_spa_router_scrollY||g.state.__svelte_spa_router_scrollX)?h=g.state:h=null},window.addEventListener("popstate",p),Zt(()=>{Ln(h)}));let _=null,E=null;const R=Ve.subscribe(async g=>{_=g;let v=0;for(;v{lt.set(u)});return}n(0,l=null),E=null,lt.set(void 0)});bt(()=>{R(),p&&window.removeEventListener("popstate",p)});function H(g){Ae.call(this,t,g)}function C(g){Ae.call(this,t,g)}return t.$$set=g=>{"routes"in g&&n(3,r=g.routes),"prefix"in g&&n(4,i=g.prefix),"restoreScrollState"in g&&n(5,o=g.restoreScrollState)},t.$$.update=()=>{t.$$.dirty&32&&(history.scrollRestoration=o?"manual":"auto")},[l,u,d,r,i,o,H,C]}class An extends F{constructor(e){super(),B(this,e,Rn,Mn,T,{routes:3,prefix:4,restoreScrollState:5})}}const qn="/assets/github-1703635a.svg";function zn(t){let e,n,r,i,o,a,s;return{c(){e=P("svg"),n=P("g"),r=P("path"),i=P("path"),o=P("defs"),a=P("clipPath"),s=P("rect"),c(r,"d","M91 88C91 93.5695 93.2125 98.911 97.1508 102.849C101.089 106.788 106.43 109 112 109C117.57 109 122.911 106.788 126.849 102.849C130.788 98.911 133 93.5695 133 88C133 82.4305 130.788 77.089 126.849 73.1508C122.911 69.2125 117.57 67 112 67C106.43 67 101.089 69.2125 97.1508 73.1508C93.2125 77.089 91 82.4305 91 88Z"),c(r,"stroke","#213547"),c(r,"stroke-width","12"),c(r,"stroke-linecap","round"),c(r,"stroke-linejoin","round"),c(i,"d","M15 87.75C15 76.1468 19.6094 65.0188 27.8141 56.8141C36.0188 48.6094 47.1468 44 58.75 44H117.083C128.687 44 139.815 48.6094 148.019 56.8141C156.224 65.0188 160.833 76.1468 160.833 87.75C160.833 99.3532 156.224 110.481 148.019 118.686C139.815 126.891 128.687 131.5 117.083 131.5H58.75C47.1468 131.5 36.0188 126.891 27.8141 118.686C19.6094 110.481 15 99.3532 15 87.75Z"),c(i,"stroke","#213547"),c(i,"stroke-width","12"),c(i,"stroke-linecap","round"),c(i,"stroke-linejoin","round"),c(n,"clip-path","url(#clip0_27_64)"),c(s,"width","175"),c(s,"height","175"),c(s,"fill","white"),c(a,"id","clip0_27_64"),c(e,"width",t[0]),c(e,"height",t[1]),c(e,"viewBox","0 0 175 175"),c(e,"fill","none"),c(e,"xmlns","http://www.w3.org/2000/svg")},m(l,u){z(l,e,u),w(e,n),w(n,r),w(n,i),w(e,o),w(o,a),w(a,s)},p(l,[u]){u&1&&c(e,"width",l[0]),u&2&&c(e,"height",l[1])},i:O,o:O,d(l){l&&A(e)}}}function Dn(t,e,n){let{width:r="64"}=e,{height:i="64"}=e;return t.$$set=o=>{"width"in o&&n(0,r=o.width),"height"in o&&n(1,i=o.height)},[r,i]}class In extends F{constructor(e){super(),B(this,e,Dn,zn,T,{width:0,height:1})}}var G;(t=>{function e(i){return{...i,general:""}}t.make=e;function n(i){for(const o in i)i[o]="";return i}t.reset=n;function r(i,o){if(o){if(!o.fields.length){i.general=o.error;return}for(const a of o.fields)i[a]=o.error}return i}t.apply=r})(G||(G={}));function Tn(t){let e,n,r,i,o;return{c(){e=P("svg"),n=P("path"),r=P("path"),i=P("path"),o=P("path"),c(n,"stroke","none"),c(n,"d","M0 0h24v24H0z"),c(n,"fill","none"),c(r,"d","M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0"),c(i,"d","M12 9v4"),c(o,"d","M12 16v.01"),c(e,"xmlns","http://www.w3.org/2000/svg"),c(e,"class","icon icon-tabler icon-tabler-exclamation-circle"),c(e,"width","18"),c(e,"height","18"),c(e,"viewBox","0 0 24 24"),c(e,"stroke-width","2"),c(e,"stroke","currentColor"),c(e,"fill","none"),c(e,"stroke-linecap","round"),c(e,"stroke-linejoin","round")},m(a,s){z(a,e,s),w(e,n),w(e,r),w(e,i),w(e,o)},p:O,i:O,o:O,d(a){a&&A(e)}}}let Bn=class extends F{constructor(e){super(),B(this,e,null,Tn,T,{})}};function at(t){let e,n,r,i,o,a;return n=new Bn({}),{c(){e=q("div"),L(n.$$.fragment),r=I(),i=q("span"),o=W(t[3]),c(e,"class","error-p svelte-165e9o6")},m(s,l){z(s,e,l),M(n,e,null),w(e,r),w(e,i),w(i,o),a=!0},p(s,l){(!a||l&8)&&Ne(o,s[3])},i(s){a||($(n.$$.fragment,s),a=!0)},o(s){b(n.$$.fragment,s),a=!1},d(s){s&&A(e),j(n)}}}function ut(t){let e,n;return{c(){e=q("p"),n=W(t[2]),c(e,"class","help svelte-165e9o6")},m(r,i){z(r,e,i),w(e,n)},p(r,i){i&4&&Ne(n,r[2])},d(r){r&&A(e)}}}function Fn(t){let e,n,r,i,o,a,s,l,u,d;const f=t[8].default,m=ke(f,t,t[7],null);let h=t[3].length&&at(t),p=t[2]&&ut(t);return{c(){e=q("div"),n=q("div"),r=q("label"),m&&m.c(),i=I(),o=q("input"),a=I(),h&&h.c(),s=I(),p&&p.c(),c(o,"placeholder",t[1]),c(o,"maxlength",t[4]),c(o,"class","svelte-165e9o6"),c(r,"class","control svelte-165e9o6"),c(n,"class","container svelte-165e9o6"),Ke(n,"error",t[3].length)},m(_,E){z(_,e,E),w(e,n),w(n,r),m&&m.m(r,null),w(r,i),w(r,o),Je(o,t[0]),w(n,a),h&&h.m(n,null),w(e,s),p&&p.m(e,null),l=!0,u||(d=[Ht(t[5].call(null,o)),de(o,"input",t[9])],u=!0)},p(_,[E]){m&&m.p&&(!l||E&128)&&Ce(m,f,_,_[7],l?Ee(f,_[7],E,null):Se(_[7]),null),(!l||E&2)&&c(o,"placeholder",_[1]),(!l||E&16)&&c(o,"maxlength",_[4]),E&1&&o.value!==_[0]&&Je(o,_[0]),_[3].length?h?(h.p(_,E),E&8&&$(h,1)):(h=at(_),h.c(),$(h,1),h.m(n,null)):h&&(U(),b(h,1,1,()=>{h=null}),V()),(!l||E&8)&&Ke(n,"error",_[3].length),_[2]?p?p.p(_,E):(p=ut(_),p.c(),p.m(e,null)):p&&(p.d(1),p=null)},i(_){l||($(m,_),$(h),l=!0)},o(_){b(m,_),b(h),l=!1},d(_){_&&A(e),m&&m.d(_),h&&h.d(),p&&p.d(),u=!1,X(d)}}}function Hn(t,e,n){let{$$slots:r={},$$scope:i}=e,{type:o="text"}=e,{placeholder:a=""}=e,{value:s=""}=e,{help:l=""}=e,{error:u=""}=e,{maxLength:d=""}=e;function f(h){h.type=o}function m(){s=this.value,n(0,s)}return t.$$set=h=>{"type"in h&&n(6,o=h.type),"placeholder"in h&&n(1,a=h.placeholder),"value"in h&&n(0,s=h.value),"help"in h&&n(2,l=h.help),"error"in h&&n(3,u=h.error),"maxLength"in h&&n(4,d=h.maxLength),"$$scope"in h&&n(7,i=h.$$scope)},[s,a,l,u,d,f,o,i,r,m]}class ce extends F{constructor(e){super(),B(this,e,Hn,Fn,T,{type:6,placeholder:1,value:0,help:2,error:3,maxLength:4})}}function Un(t){let e,n,r,i;return{c(){e=P("svg"),n=P("path"),r=P("path"),i=P("path"),c(n,"stroke","none"),c(n,"d","M0 0h24v24H0z"),c(n,"fill","none"),c(r,"d","M3 7a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v10a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2v-10z"),c(i,"d","M3 7l9 6l9 -6"),c(e,"xmlns","http://www.w3.org/2000/svg"),c(e,"class","icon icon-tabler icon-tabler-mail"),c(e,"width","24"),c(e,"height","24"),c(e,"viewBox","0 0 24 24"),c(e,"stroke-width","2"),c(e,"stroke","currentColor"),c(e,"fill","none"),c(e,"stroke-linecap","round"),c(e,"stroke-linejoin","round")},m(o,a){z(o,e,a),w(e,n),w(e,r),w(e,i)},p:O,i:O,o:O,d(o){o&&A(e)}}}class At extends F{constructor(e){super(),B(this,e,null,Un,T,{})}}function Vn(t){let e,n,r,i;return{c(){e=P("svg"),n=P("path"),r=P("path"),i=P("path"),c(n,"stroke","none"),c(n,"d","M0 0h24v24H0z"),c(n,"fill","none"),c(r,"d","M14 8v-2a2 2 0 0 0 -2 -2h-7a2 2 0 0 0 -2 2v12a2 2 0 0 0 2 2h7a2 2 0 0 0 2 -2v-2"),c(i,"d","M20 12h-13l3 -3m0 6l-3 -3"),c(e,"xmlns","http://www.w3.org/2000/svg"),c(e,"class","icon icon-tabler icon-tabler-login"),c(e,"width","24"),c(e,"height","24"),c(e,"viewBox","0 0 24 24"),c(e,"stroke-width","2"),c(e,"stroke","currentColor"),c(e,"fill","none"),c(e,"stroke-linecap","round"),c(e,"stroke-linejoin","round")},m(o,a){z(o,e,a),w(e,n),w(e,r),w(e,i)},p:O,i:O,o:O,d(o){o&&A(e)}}}let Xn=class extends F{constructor(e){super(),B(this,e,null,Vn,T,{})}};function Yn(t){let e,n;return{c(){e=q("p"),n=W(t[0]),c(e,"class","svelte-ubhefc")},m(r,i){z(r,e,i),w(e,n)},p(r,[i]){i&1&&Ne(n,r[0])},i:O,o:O,d(r){r&&A(e)}}}function Wn(t,e,n){let{message:r=""}=e;return t.$$set=i=>{"message"in i&&n(0,r=i.message)},[r]}class qt extends F{constructor(e){super(),B(this,e,Wn,Yn,T,{message:0})}}function Jn(t){let e,n,r,i;return{c(){e=P("svg"),n=P("path"),r=P("path"),i=P("path"),c(n,"stroke","none"),c(n,"d","M0 0h24v24H0z"),c(n,"fill","none"),c(r,"d","M3 12a9 9 0 0 0 9 9a9 9 0 0 0 9 -9a9 9 0 0 0 -9 -9"),c(i,"d","M17 12a5 5 0 1 0 -5 5"),c(e,"xmlns","http://www.w3.org/2000/svg"),c(e,"class","spin svelte-qx5rzs"),c(e,"width","24"),c(e,"height","24"),c(e,"viewBox","0 0 24 24"),c(e,"stroke-width","2"),c(e,"stroke","currentColor"),c(e,"fill","none"),c(e,"stroke-linecap","round"),c(e,"stroke-linejoin","round")},m(o,a){z(o,e,a),w(e,n),w(e,r),w(e,i)},p:O,i:O,o:O,d(o){o&&A(e)}}}class Gn extends F{constructor(e){super(),B(this,e,null,Jn,T,{})}}function Kn(t){let e;const n=t[3].default,r=ke(n,t,t[2],null);return{c(){r&&r.c()},m(i,o){r&&r.m(i,o),e=!0},p(i,o){r&&r.p&&(!e||o&4)&&Ce(r,n,i,i[2],e?Ee(n,i[2],o,null):Se(i[2]),null)},i(i){e||($(r,i),e=!0)},o(i){b(r,i),e=!1},d(i){r&&r.d(i)}}}function Zn(t){let e,n;return e=new Gn({}),{c(){L(e.$$.fragment)},m(r,i){M(e,r,i),n=!0},p:O,i(r){n||($(e.$$.fragment,r),n=!0)},o(r){b(e.$$.fragment,r),n=!1},d(r){j(e,r)}}}function Qn(t){let e,n,r,i,o,a,s,l,u;const d=[Zn,Kn],f=[];function m(h,p){return h[1]?0:1}return n=m(t),r=f[n]=d[n](t),{c(){e=q("button"),r.c(),i=I(),o=q("span"),a=W(t[0]),c(e,"class","svelte-1x4xxxn")},m(h,p){z(h,e,p),f[n].m(e,null),w(e,i),w(e,o),w(o,a),s=!0,l||(u=de(e,"click",t[4]),l=!0)},p(h,[p]){let _=n;n=m(h),n===_?f[n].p(h,p):(U(),b(f[_],1,1,()=>{f[_]=null}),V(),r=f[n],r?r.p(h,p):(r=f[n]=d[n](h),r.c()),$(r,1),r.m(e,i)),(!s||p&1)&&Ne(a,h[0])},i(h){s||($(r),s=!0)},o(h){b(r),s=!1},d(h){h&&A(e),f[n].d(),l=!1,u()}}}function xn(t,e,n){let{$$slots:r={},$$scope:i}=e,{text:o}=e,{loading:a=!1}=e;function s(l){Ae.call(this,t,l)}return t.$$set=l=>{"text"in l&&n(0,o=l.text),"loading"in l&&n(1,a=l.loading),"$$scope"in l&&n(2,i=l.$$scope)},[o,a,i,r,s]}class zt extends F{constructor(e){super(),B(this,e,xn,Qn,T,{text:0,loading:1})}}function er(t){let e,n,r,i;return{c(){e=P("svg"),n=P("path"),r=P("path"),i=P("path"),c(n,"stroke","none"),c(n,"d","M0 0h24v24H0z"),c(n,"fill","none"),c(r,"d","M16.555 3.843l3.602 3.602a2.877 2.877 0 0 1 0 4.069l-2.643 2.643a2.877 2.877 0 0 1 -4.069 0l-.301 -.301l-6.558 6.558a2 2 0 0 1 -1.239 .578l-.175 .008h-1.172a1 1 0 0 1 -.993 -.883l-.007 -.117v-1.172a2 2 0 0 1 .467 -1.284l.119 -.13l.414 -.414h2v-2h2v-2l2.144 -2.144l-.301 -.301a2.877 2.877 0 0 1 0 -4.069l2.643 -2.643a2.877 2.877 0 0 1 4.069 0z"),c(i,"d","M15 9h.01"),c(e,"xmlns","http://www.w3.org/2000/svg"),c(e,"class","icon icon-tabler icon-tabler-key"),c(e,"width","24"),c(e,"height","24"),c(e,"viewBox","0 0 24 24"),c(e,"stroke-width","2"),c(e,"stroke","currentColor"),c(e,"fill","none"),c(e,"stroke-linecap","round"),c(e,"stroke-linejoin","round")},m(o,a){z(o,e,a),w(e,n),w(e,r),w(e,i)},p:O,i:O,o:O,d(o){o&&A(e)}}}class Xe extends F{constructor(e){super(),B(this,e,null,er,T,{})}}function tr(t){let e,n;return e=new At({}),{c(){L(e.$$.fragment)},m(r,i){M(e,r,i),n=!0},i(r){n||($(e.$$.fragment,r),n=!0)},o(r){b(e.$$.fragment,r),n=!1},d(r){j(e,r)}}}function nr(t){let e,n;return e=new Xe({}),{c(){L(e.$$.fragment)},m(r,i){M(e,r,i),n=!0},i(r){n||($(e.$$.fragment,r),n=!0)},o(r){b(e.$$.fragment,r),n=!1},d(r){j(e,r)}}}function ct(t){let e,n;return e=new qt({props:{message:t[2].general}}),{c(){L(e.$$.fragment)},m(r,i){M(e,r,i),n=!0},p(r,i){const o={};i&4&&(o.message=r[2].general),e.$set(o)},i(r){n||($(e.$$.fragment,r),n=!0)},o(r){b(e.$$.fragment,r),n=!1},d(r){j(e,r)}}}function rr(t){let e,n;return e=new Xn({}),{c(){L(e.$$.fragment)},m(r,i){M(e,r,i),n=!0},i(r){n||($(e.$$.fragment,r),n=!0)},o(r){b(e.$$.fragment,r),n=!1},d(r){j(e,r)}}}function ir(t){let e,n,r,i,o,a,s,l,u,d,f,m,h,p;function _(g){t[4](g)}let E={placeholder:"Email",type:"email",error:t[2].email,$$slots:{default:[tr]},$$scope:{ctx:t}};t[1].email!==void 0&&(E.value=t[1].email),i=new ce({props:E}),J.push(()=>ue(i,"value",_));function R(g){t[5](g)}let H={placeholder:"Password",type:"password",error:t[2].password,$$slots:{default:[nr]},$$scope:{ctx:t}};t[1].password!==void 0&&(H.value=t[1].password),s=new ce({props:H}),J.push(()=>ue(s,"value",R));let C=t[2].general&&ct(t);return f=new zt({props:{loading:t[0],text:"Login",$$slots:{default:[rr]},$$scope:{ctx:t}}}),f.$on("click",t[3]),{c(){e=q("form"),n=q("p"),n.textContent="Welcome back to the enable admin dashboard.",r=I(),L(i.$$.fragment),a=I(),L(s.$$.fragment),u=I(),C&&C.c(),d=I(),L(f.$$.fragment),c(n,"class","svelte-1vupvrm"),c(e,"class","form svelte-1vupvrm")},m(g,v){z(g,e,v),w(e,n),w(e,r),M(i,e,null),w(e,a),M(s,e,null),w(e,u),C&&C.m(e,null),w(e,d),M(f,e,null),m=!0,h||(p=de(e,"submit",t[3]),h=!0)},p(g,[v]){const S={};v&4&&(S.error=g[2].email),v&64&&(S.$$scope={dirty:v,ctx:g}),!o&&v&2&&(o=!0,S.value=g[1].email,ae(()=>o=!1)),i.$set(S);const N={};v&4&&(N.error=g[2].password),v&64&&(N.$$scope={dirty:v,ctx:g}),!l&&v&2&&(l=!0,N.value=g[1].password,ae(()=>l=!1)),s.$set(N),g[2].general?C?(C.p(g,v),v&4&&$(C,1)):(C=ct(g),C.c(),$(C,1),C.m(e,d)):C&&(U(),b(C,1,1,()=>{C=null}),V());const k={};v&1&&(k.loading=g[0]),v&64&&(k.$$scope={dirty:v,ctx:g}),f.$set(k)},i(g){m||($(i.$$.fragment,g),$(s.$$.fragment,g),$(C),$(f.$$.fragment,g),m=!0)},o(g){b(i.$$.fragment,g),b(s.$$.fragment,g),b(C),b(f.$$.fragment,g),m=!1},d(g){g&&A(e),j(i),j(s),C&&C.d(),j(f),h=!1,p()}}}function or(t,e,n){let r=!1;const i={email:"",password:""};let o=G.make(i);const a=async u=>{u.preventDefault(),n(0,r=!0),n(2,o=G.reset(o)),(await fetch("/api/auth/login",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(i)})).status===200?Rt("/admin"):(n(2,o.email="Email ou senha incorretos",o),n(2,o.password="Email ou senha incorretos",o)),n(0,r=!1)};function s(u){t.$$.not_equal(i.email,u)&&(i.email=u,n(1,i))}function l(u){t.$$.not_equal(i.password,u)&&(i.password=u,n(1,i))}return[r,i,o,a,s,l]}class sr extends F{constructor(e){super(),B(this,e,or,ir,T,{})}}function lr(t){let e,n,r,i,o;return{c(){e=P("svg"),n=P("path"),r=P("path"),i=P("path"),o=P("path"),c(n,"stroke","none"),c(n,"d","M0 0h24v24H0z"),c(n,"fill","none"),c(r,"d","M6 21v-2a4 4 0 0 1 4 -4h2"),c(i,"d","M22 16c0 4 -2.5 6 -3.5 6s-3.5 -2 -3.5 -6c1 0 2.5 -.5 3.5 -1.5c1 1 2.5 1.5 3.5 1.5z"),c(o,"d","M8 7a4 4 0 1 0 8 0a4 4 0 0 0 -8 0"),c(e,"xmlns","http://www.w3.org/2000/svg"),c(e,"class","icon icon-tabler icon-tabler-user-shield"),c(e,"width","24"),c(e,"height","24"),c(e,"viewBox","0 0 24 24"),c(e,"stroke-width","2"),c(e,"stroke","currentColor"),c(e,"fill","none"),c(e,"stroke-linecap","round"),c(e,"stroke-linejoin","round")},m(a,s){z(a,e,s),w(e,n),w(e,r),w(e,i),w(e,o)},p:O,i:O,o:O,d(a){a&&A(e)}}}class ar extends F{constructor(e){super(),B(this,e,null,lr,T,{})}}function ur(t){let e,n;return e=new At({}),{c(){L(e.$$.fragment)},m(r,i){M(e,r,i),n=!0},i(r){n||($(e.$$.fragment,r),n=!0)},o(r){b(e.$$.fragment,r),n=!1},d(r){j(e,r)}}}function cr(t){let e,n;return e=new Xe({}),{c(){L(e.$$.fragment)},m(r,i){M(e,r,i),n=!0},i(r){n||($(e.$$.fragment,r),n=!0)},o(r){b(e.$$.fragment,r),n=!1},d(r){j(e,r)}}}function fr(t){let e,n;return e=new Xe({}),{c(){L(e.$$.fragment)},m(r,i){M(e,r,i),n=!0},i(r){n||($(e.$$.fragment,r),n=!0)},o(r){b(e.$$.fragment,r),n=!1},d(r){j(e,r)}}}function ft(t){let e,n;return e=new qt({props:{message:t[2].general}}),{c(){L(e.$$.fragment)},m(r,i){M(e,r,i),n=!0},p(r,i){const o={};i&4&&(o.message=r[2].general),e.$set(o)},i(r){n||($(e.$$.fragment,r),n=!0)},o(r){b(e.$$.fragment,r),n=!1},d(r){j(e,r)}}}function dr(t){let e,n;return e=new ar({}),{c(){L(e.$$.fragment)},m(r,i){M(e,r,i),n=!0},i(r){n||($(e.$$.fragment,r),n=!0)},o(r){b(e.$$.fragment,r),n=!1},d(r){j(e,r)}}}function hr(t){let e,n,r,i,o,a,s,l,u,d,f,m,h,p,_,E,R;function H(y){t[4](y)}let C={placeholder:"Email",type:"email",error:t[2].email,$$slots:{default:[ur]},$$scope:{ctx:t}};t[1].email!==void 0&&(C.value=t[1].email),i=new ce({props:C}),J.push(()=>ue(i,"value",H));function g(y){t[5](y)}let v={placeholder:"Password",type:"password",error:t[2].password,$$slots:{default:[cr]},$$scope:{ctx:t}};t[1].password!==void 0&&(v.value=t[1].password),s=new ce({props:v}),J.push(()=>ue(s,"value",g));function S(y){t[6](y)}let N={placeholder:"Confirm password",type:"password",help:"Use at least 8 characters",error:t[2].passwordConfirm,$$slots:{default:[fr]},$$scope:{ctx:t}};t[1].passwordConfirm!==void 0&&(N.value=t[1].passwordConfirm),d=new ce({props:N}),J.push(()=>ue(d,"value",S));let k=t[2].general&&ft(t);return p=new zt({props:{loading:t[0],text:"Register",$$slots:{default:[dr]},$$scope:{ctx:t}}}),p.$on("click",t[3]),{c(){e=q("form"),n=q("p"),n.textContent=`Hello! Since this is your first time here, you need to create an admin + account.`,r=I(),L(i.$$.fragment),a=I(),L(s.$$.fragment),u=I(),L(d.$$.fragment),m=I(),k&&k.c(),h=I(),L(p.$$.fragment),c(n,"class","svelte-1vupvrm"),c(e,"class","form svelte-1vupvrm")},m(y,D){z(y,e,D),w(e,n),w(e,r),M(i,e,null),w(e,a),M(s,e,null),w(e,u),M(d,e,null),w(e,m),k&&k.m(e,null),w(e,h),M(p,e,null),_=!0,E||(R=de(e,"submit",t[3]),E=!0)},p(y,[D]){const he={};D&4&&(he.error=y[2].email),D&256&&(he.$$scope={dirty:D,ctx:y}),!o&&D&2&&(o=!0,he.value=y[1].email,ae(()=>o=!1)),i.$set(he);const pe={};D&4&&(pe.error=y[2].password),D&256&&(pe.$$scope={dirty:D,ctx:y}),!l&&D&2&&(l=!0,pe.value=y[1].password,ae(()=>l=!1)),s.$set(pe);const me={};D&4&&(me.error=y[2].passwordConfirm),D&256&&(me.$$scope={dirty:D,ctx:y}),!f&&D&2&&(f=!0,me.value=y[1].passwordConfirm,ae(()=>f=!1)),d.$set(me),y[2].general?k?(k.p(y,D),D&4&&$(k,1)):(k=ft(y),k.c(),$(k,1),k.m(e,h)):k&&(U(),b(k,1,1,()=>{k=null}),V());const Oe={};D&1&&(Oe.loading=y[0]),D&256&&(Oe.$$scope={dirty:D,ctx:y}),p.$set(Oe)},i(y){_||($(i.$$.fragment,y),$(s.$$.fragment,y),$(d.$$.fragment,y),$(k),$(p.$$.fragment,y),_=!0)},o(y){b(i.$$.fragment,y),b(s.$$.fragment,y),b(d.$$.fragment,y),b(k),b(p.$$.fragment,y),_=!1},d(y){y&&A(e),j(i),j(s),j(d),k&&k.d(),j(p),E=!1,R()}}}function pr(t,e,n){const{addNotification:r}=He();let i=!1;const o={email:"",password:"",passwordConfirm:""};let a=G.make(o);const s=async f=>{f.preventDefault(),n(0,i=!0),n(2,a=G.reset(a));const m=await fetch("/api/auth/register",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(o)});m.ok?(Rt("/admin"),r({type:"success",position:"top-right",removeAfter:3e3,text:"Account registered with success.",id:"account-created"})):n(2,a=G.apply(a,await m.json())),n(0,i=!1)};function l(f){t.$$.not_equal(o.email,f)&&(o.email=f,n(1,o))}function u(f){t.$$.not_equal(o.password,f)&&(o.password=f,n(1,o))}function d(f){t.$$.not_equal(o.passwordConfirm,f)&&(o.passwordConfirm=f,n(1,o))}return[i,o,a,s,l,u,d]}class mr extends F{constructor(e){super(),B(this,e,pr,hr,T,{})}}function _r(t){let e,n;return e=new mr({}),{c(){L(e.$$.fragment)},m(r,i){M(e,r,i),n=!0},i(r){n||($(e.$$.fragment,r),n=!0)},o(r){b(e.$$.fragment,r),n=!1},d(r){j(e,r)}}}function gr(t){let e,n;return e=new sr({}),{c(){L(e.$$.fragment)},m(r,i){M(e,r,i),n=!0},i(r){n||($(e.$$.fragment,r),n=!0)},o(r){b(e.$$.fragment,r),n=!1},d(r){j(e,r)}}}function wr(t){let e,n,r,i,o,a,s,l,u,d,f,m,h,p,_;i=new In({});const E=[gr,_r],R=[];function H(C,g){return C[0]?1:0}return l=H(t),u=R[l]=E[l](t),{c(){e=q("div"),n=q("main"),r=q("div"),L(i.$$.fragment),o=I(),a=q("h1"),a.textContent="Enable",s=I(),u.c(),d=I(),f=q("p"),m=q("a"),h=q("img"),c(r,"class","title svelte-135s6ni"),Tt(h.src,p=qn)||c(h,"src",p),c(h,"alt","Github logo"),c(m,"href","https://github.com/viktormarinho/enable"),c(m,"target","_blank"),c(m,"rel","noreferrer"),c(m,"class","hover svelte-135s6ni"),c(f,"class","links svelte-135s6ni"),c(n,"class","svelte-135s6ni"),c(e,"class","page svelte-135s6ni")},m(C,g){z(C,e,g),w(e,n),w(n,r),M(i,r,null),w(r,o),w(r,a),w(n,s),R[l].m(n,null),w(n,d),w(n,f),w(f,m),w(m,h),_=!0},p(C,[g]){let v=l;l=H(C),l!==v&&(U(),b(R[v],1,1,()=>{R[v]=null}),V(),u=R[l],u||(u=R[l]=E[l](C),u.c()),$(u,1),u.m(n,d))},i(C){_||($(i.$$.fragment,C),$(u),_=!0)},o(C){b(i.$$.fragment,C),b(u),_=!1},d(C){C&&A(e),j(i),R[l].d()}}}function $r(t,e,n){let r=!0;return Kt(async()=>{const i=await fetch("/api/auth/first-time"),{isFirstTime:o}=await i.json();n(0,r=o)}),[r]}class vr extends F{constructor(e){super(),B(this,e,$r,wr,T,{})}}function yr(t){let e,n;return e=new An({props:{routes:t[0]}}),e.$on("conditionsFailed",t[1]),{c(){L(e.$$.fragment)},m(r,i){M(e,r,i),n=!0},p:O,i(r){n||($(e.$$.fragment,r),n=!0)},o(r){b(e.$$.fragment,r),n=!1},d(r){j(e,r)}}}function br(t){const e=[async()=>(await fetch("/api/auth/me")).ok],n={"/":vr,"/admin":Le({asyncComponent:()=>je(()=>import("./Admin-102dbea5.js"),["assets/Admin-102dbea5.js","assets/Portal-0ebf484e.js","assets/Portal-b058bbb1.css","assets/Tag-ea8a169e.js","assets/Admin-312e145a.css"]),conditions:e}),"/admin/project/:id":Le({asyncComponent:()=>je(()=>import("./Project-c76b8a8c.js"),["assets/Project-c76b8a8c.js","assets/Portal-0ebf484e.js","assets/Portal-b058bbb1.css","assets/BackToProjects-cdbc550f.js","assets/BackToProjects-d15f176f.css","assets/Project-4f60cc32.css"]),conditions:e}),"/admin/settings":Le({asyncComponent:()=>je(()=>import("./Settings-2b8dc5e8.js"),["assets/Settings-2b8dc5e8.js","assets/BackToProjects-cdbc550f.js","assets/BackToProjects-d15f176f.css","assets/Portal-0ebf484e.js","assets/Portal-b058bbb1.css","assets/Tag-ea8a169e.js","assets/Settings-3ca12224.css"]),conditions:e})},{addNotification:r}=He();function i(o){jn("/"),r({type:"error",position:"top-right",removeAfter:3e3,text:"You must be logged in to access this page. Redirecting to login...",id:"login-required"})}return[n,i]}class kr extends F{constructor(e){super(),B(this,e,br,yr,T,{})}}function Er(t){let e,n;return e=new kr({}),{c(){L(e.$$.fragment)},m(r,i){M(e,r,i),n=!0},i(r){n||($(e.$$.fragment,r),n=!0)},o(r){b(e.$$.fragment,r),n=!1},d(r){j(e,r)}}}function Cr(t){let e,n;return e=new En({props:{$$slots:{default:[Er]},$$scope:{ctx:t}}}),{c(){L(e.$$.fragment)},m(r,i){M(e,r,i),n=!0},p(r,[i]){const o={};i&1&&(o.$$scope={dirty:i,ctx:r}),e.$set(o)},i(r){n||($(e.$$.fragment,r),n=!0)},o(r){b(e.$$.fragment,r),n=!1},d(r){j(e,r)}}}class Sr extends F{constructor(e){super(),B(this,e,null,Cr,T,{})}}new Sr({target:document.getElementById("app")});export{Rt as A,zt as B,be as C,Xt as D,Kt as E,W as F,Ne as G,In as H,ce as I,Ae as J,Je as K,He as L,Qt as M,Ge as N,ie as O,Xe as P,rn as Q,Or as R,F as S,ke as T,Ce as U,Se as V,Ee as W,bt as X,P as a,c as b,z as c,w as d,A as e,q as f,I as g,K as h,B as i,U as j,b as k,de as l,V as m,O as n,G as o,L as p,M as q,j as r,T as s,$ as t,J as u,ue as v,Ke as w,Ht as x,ae as y,X as z}; diff --git a/static/assets/index-486ffc8b.css b/static/assets/index-486ffc8b.css new file mode 100644 index 0000000..f74ad98 --- /dev/null +++ b/static/assets/index-486ffc8b.css @@ -0,0 +1 @@ +:root{--main-content: #213547;--sec-content: #5c6a6f;--hover-bg: rgb(235, 235, 235);--hover-bg-darker: rgb(100, 225, 225);--error: rgb(255, 104, 104);--shadow: 0 4px 6px -1px rgba(0, 0, 0, .1);font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:var(--main-content);background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}.hover:hover{background-color:var(--hover-bg)}body{margin:0;min-width:320px;max-width:100vw;overflow-x:hidden}h1{font-size:3.2em;line-height:1.1}.card{padding:2em}.hidden{display:none}.portal{position:absolute;animation:fadein .2s linear;z-index:5;top:0;right:0;width:100vw;height:100vh;pointer-events:none;background-color:#0003}@keyframes fadein{0%{background-color:#0000}to{background-color:#0003}}.portal-inner{position:relative;width:100%;height:100%}.page{margin:auto;width:1024px}.page-header{display:flex;width:100%;justify-content:space-between;align-items:center}.page-header>h1{font-size:2.2em}.btn-secondary{background-color:#fff;border:none;border-radius:8px;padding:8px;cursor:pointer}.btn-secondary:hover{background-color:var(--hover-bg)}.btn-secondary>span{color:var(--sec-content);font-size:16px;font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:500}select{padding:8px;border-radius:8px;cursor:pointer;font-weight:600;font-size:16px;border:none;color:var(--sec-content)}select:hover{background-color:var(--hover-bg)}.default-notification-style.svelte-1x27qg3.svelte-1x27qg3{position:relative;display:flex;align-items:stretch;justify-content:space-between;margin:12px;background:#fff;color:#000;border-radius:6px;box-shadow:0 4px 10px #00000014;min-height:0;min-width:200px;overflow:hidden}.default-notification-style-content.svelte-1x27qg3.svelte-1x27qg3{width:210px;padding:12px 6px 12px 12px;box-sizing:border-box;word-wrap:break-word}.default-notification-style-button.svelte-1x27qg3.svelte-1x27qg3{display:block;width:40px;padding:0;margin:0;border:none;border-left:1px solid #eee;outline:none;background:none;cursor:pointer;font-size:20px;color:#000;box-sizing:border-box}.default-notification-style-button.svelte-1x27qg3.svelte-1x27qg3:hover{background:rgba(0,0,0,.01)}.default-notification-error.svelte-1x27qg3.svelte-1x27qg3{background:#f3555a;color:#fff}.default-notification-error.svelte-1x27qg3 .default-notification-style-button.svelte-1x27qg3{border-left:1px solid rgba(255,255,255,.4);color:#fff}.default-notification-warning.svelte-1x27qg3.svelte-1x27qg3{background:#ffb900;color:#000}.default-notification-warning.svelte-1x27qg3 .default-notification-style-button.svelte-1x27qg3{border-left:1px solid rgba(0,0,0,.2);color:#000}.default-notification-success.svelte-1x27qg3.svelte-1x27qg3{background:#22ce6c;color:#fff}.default-notification-success.svelte-1x27qg3 .default-notification-style-button.svelte-1x27qg3{border-left:1px solid rgba(255,255,255,.4);color:#fff}.default-position-style-top-left.svelte-t0tmtn,.default-position-style-top-center.svelte-t0tmtn,.default-position-style-top-right.svelte-t0tmtn,.default-position-style-bottom-left.svelte-t0tmtn,.default-position-style-bottom-center.svelte-t0tmtn,.default-position-style-bottom-right.svelte-t0tmtn{position:fixed;max-width:400px}.default-position-style-top-left.svelte-t0tmtn{top:0;left:0}.default-position-style-top-center.svelte-t0tmtn{top:0;left:50%;transform:translate(-50%)}.default-position-style-top-right.svelte-t0tmtn{top:0;right:0}.default-position-style-bottom-left.svelte-t0tmtn{bottom:0;left:0}.default-position-style-bottom-center.svelte-t0tmtn{bottom:0;left:50%;transform:translate(-50%)}.default-position-style-bottom-right.svelte-t0tmtn{bottom:0;right:0}.control.svelte-165e9o6.svelte-165e9o6{display:flex;gap:1rem;box-sizing:border-box;width:100%;border-radius:.5rem;padding:1rem 2rem;background-color:#f5f5f5;cursor:text;align-items:center}input.svelte-165e9o6.svelte-165e9o6{display:block;width:100%;border:none;background-color:transparent;color:var(--main-content)}input.svelte-165e9o6.svelte-165e9o6:focus{outline:none}.help.svelte-165e9o6.svelte-165e9o6{font-size:12px;color:var(--sec-content);text-align:start;margin:0;padding:8px 8px 0}.error.svelte-165e9o6 label.svelte-165e9o6{border:2px solid var(--error)}.error-p.svelte-165e9o6.svelte-165e9o6{display:flex;align-items:center;gap:4px;color:var(--error);font-size:12px;text-align:start;margin:0;padding:4px}p.svelte-ubhefc{color:var(--error);font-size:12px}.spin.svelte-qx5rzs{animation:svelte-qx5rzs-spin 1s linear infinite}@keyframes svelte-qx5rzs-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}button.svelte-1x4xxxn{border-radius:.5rem;cursor:pointer;padding:1rem 2rem;display:flex;align-items:center;justify-content:center;gap:1rem;color:#fff;background-color:var(--main-content);border:none;font-size:16px;font-weight:700}button.svelte-1x4xxxn:hover{opacity:.9}.form.svelte-1vupvrm.svelte-1vupvrm{display:flex;flex-direction:column;padding-bottom:1rem;gap:1rem;width:100%;width:420px}.form.svelte-1vupvrm>p.svelte-1vupvrm{font-size:14px;color:var(--main-content)}main.svelte-135s6ni.svelte-135s6ni{margin-top:9rem}.page.svelte-135s6ni.svelte-135s6ni{width:1280px;margin:auto;display:flex;flex-direction:column;align-items:center;padding:2rem;text-align:center}.title.svelte-135s6ni.svelte-135s6ni{display:flex;justify-content:center;align-items:center;gap:1rem}.links.svelte-135s6ni.svelte-135s6ni{display:flex;justify-content:center;align-items:center;margin-top:2em}.links.svelte-135s6ni>a.svelte-135s6ni{padding:1em;width:.5rem;height:.5rem;border-radius:8px;display:flex;justify-content:center;align-items:center} diff --git a/static/assets/index-a3a4c2aa.css b/static/assets/index-a3a4c2aa.css deleted file mode 100644 index 53e77f9..0000000 --- a/static/assets/index-a3a4c2aa.css +++ /dev/null @@ -1 +0,0 @@ -:root{--main-content: #213547;--sec-content: #5c6a6f;--hover-bg: rgb(235, 235, 235);--hover-bg-darker: rgb(100, 225, 225);--error: rgb(255, 104, 104);--shadow: 0 4px 6px -1px rgba(0, 0, 0, .1);font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:var(--main-content);background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}.hover:hover{background-color:var(--hover-bg)}body{margin:0;min-width:320px;max-width:100vw;overflow-x:hidden}h1{font-size:3.2em;line-height:1.1}.card{padding:2em}.hidden{display:none}.portal{position:absolute;animation:fadein .2s linear;z-index:5;top:0;right:0;width:100vw;height:100vh;pointer-events:none;background-color:#0003}@keyframes fadein{0%{background-color:#0000}to{background-color:#0003}}.portal-inner{position:relative;width:100%;height:100%}.page{margin:auto;width:1024px}.page-header{display:flex;width:100%;justify-content:space-between;align-items:center}.page-header>h1{font-size:2.2em}.btn-secondary{background-color:#fff;border:none;border-radius:8px;padding:8px;cursor:pointer}.btn-secondary:hover{background-color:var(--hover-bg)}.btn-secondary>span{color:var(--sec-content);font-size:16px;font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:500}.default-notification-style.svelte-1x27qg3.svelte-1x27qg3{position:relative;display:flex;align-items:stretch;justify-content:space-between;margin:12px;background:#fff;color:#000;border-radius:6px;box-shadow:0 4px 10px #00000014;min-height:0;min-width:200px;overflow:hidden}.default-notification-style-content.svelte-1x27qg3.svelte-1x27qg3{width:210px;padding:12px 6px 12px 12px;box-sizing:border-box;word-wrap:break-word}.default-notification-style-button.svelte-1x27qg3.svelte-1x27qg3{display:block;width:40px;padding:0;margin:0;border:none;border-left:1px solid #eee;outline:none;background:none;cursor:pointer;font-size:20px;color:#000;box-sizing:border-box}.default-notification-style-button.svelte-1x27qg3.svelte-1x27qg3:hover{background:rgba(0,0,0,.01)}.default-notification-error.svelte-1x27qg3.svelte-1x27qg3{background:#f3555a;color:#fff}.default-notification-error.svelte-1x27qg3 .default-notification-style-button.svelte-1x27qg3{border-left:1px solid rgba(255,255,255,.4);color:#fff}.default-notification-warning.svelte-1x27qg3.svelte-1x27qg3{background:#ffb900;color:#000}.default-notification-warning.svelte-1x27qg3 .default-notification-style-button.svelte-1x27qg3{border-left:1px solid rgba(0,0,0,.2);color:#000}.default-notification-success.svelte-1x27qg3.svelte-1x27qg3{background:#22ce6c;color:#fff}.default-notification-success.svelte-1x27qg3 .default-notification-style-button.svelte-1x27qg3{border-left:1px solid rgba(255,255,255,.4);color:#fff}.default-position-style-top-left.svelte-t0tmtn,.default-position-style-top-center.svelte-t0tmtn,.default-position-style-top-right.svelte-t0tmtn,.default-position-style-bottom-left.svelte-t0tmtn,.default-position-style-bottom-center.svelte-t0tmtn,.default-position-style-bottom-right.svelte-t0tmtn{position:fixed;max-width:400px}.default-position-style-top-left.svelte-t0tmtn{top:0;left:0}.default-position-style-top-center.svelte-t0tmtn{top:0;left:50%;transform:translate(-50%)}.default-position-style-top-right.svelte-t0tmtn{top:0;right:0}.default-position-style-bottom-left.svelte-t0tmtn{bottom:0;left:0}.default-position-style-bottom-center.svelte-t0tmtn{bottom:0;left:50%;transform:translate(-50%)}.default-position-style-bottom-right.svelte-t0tmtn{bottom:0;right:0}.control.svelte-165e9o6.svelte-165e9o6{display:flex;gap:1rem;box-sizing:border-box;width:100%;border-radius:.5rem;padding:1rem 2rem;background-color:#f5f5f5;cursor:text;align-items:center}input.svelte-165e9o6.svelte-165e9o6{display:block;width:100%;border:none;background-color:transparent;color:var(--main-content)}input.svelte-165e9o6.svelte-165e9o6:focus{outline:none}.help.svelte-165e9o6.svelte-165e9o6{font-size:12px;color:var(--sec-content);text-align:start;margin:0;padding:8px 8px 0}.error.svelte-165e9o6 label.svelte-165e9o6{border:2px solid var(--error)}.error-p.svelte-165e9o6.svelte-165e9o6{display:flex;align-items:center;gap:4px;color:var(--error);font-size:12px;text-align:start;margin:0;padding:4px}p.svelte-ubhefc{color:var(--error);font-size:12px}.spin.svelte-qx5rzs{animation:svelte-qx5rzs-spin 1s linear infinite}@keyframes svelte-qx5rzs-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}button.svelte-1x4xxxn{border-radius:.5rem;cursor:pointer;padding:1rem 2rem;display:flex;align-items:center;justify-content:center;gap:1rem;color:#fff;background-color:var(--main-content);border:none;font-size:16px;font-weight:700}button.svelte-1x4xxxn:hover{opacity:.9}.form.svelte-1vupvrm.svelte-1vupvrm{display:flex;flex-direction:column;padding-bottom:1rem;gap:1rem;width:100%;width:420px}.form.svelte-1vupvrm>p.svelte-1vupvrm{font-size:14px;color:var(--main-content)}main.svelte-135s6ni.svelte-135s6ni{margin-top:9rem}.page.svelte-135s6ni.svelte-135s6ni{width:1280px;margin:auto;display:flex;flex-direction:column;align-items:center;padding:2rem;text-align:center}.title.svelte-135s6ni.svelte-135s6ni{display:flex;justify-content:center;align-items:center;gap:1rem}.links.svelte-135s6ni.svelte-135s6ni{display:flex;justify-content:center;align-items:center;margin-top:2em}.links.svelte-135s6ni>a.svelte-135s6ni{padding:1em;width:.5rem;height:.5rem;border-radius:8px;display:flex;justify-content:center;align-items:center} diff --git a/static/assets/index-c384d19f.js b/static/assets/index-c384d19f.js deleted file mode 100644 index 6ea53ae..0000000 --- a/static/assets/index-c384d19f.js +++ /dev/null @@ -1,7 +0,0 @@ -var Dt=Object.defineProperty;var It=(t,e,n)=>e in t?Dt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var Pe=(t,e,n)=>(It(t,typeof e!="symbol"?e+"":e,n),n);(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))r(i);new MutationObserver(i=>{for(const o of i)if(o.type==="childList")for(const l of o.addedNodes)l.tagName==="LINK"&&l.rel==="modulepreload"&&r(l)}).observe(document,{childList:!0,subtree:!0});function n(i){const o={};return i.integrity&&(o.integrity=i.integrity),i.referrerPolicy&&(o.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?o.credentials="include":i.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function r(i){if(i.ep)return;i.ep=!0;const o=n(i);fetch(i.href,o)}})();function O(){}const Ie=t=>t;function Te(t,e){for(const n in e)t[n]=e[n];return t}function dt(t){return t()}function Xe(){return Object.create(null)}function Y(t){t.forEach(dt)}function Z(t){return typeof t=="function"}function T(t,e){return t!=t?e==e:t!==e||t&&typeof t=="object"||typeof t=="function"}let _e;function Tt(t,e){return t===e?!0:(_e||(_e=document.createElement("a")),_e.href=e,t===_e.href)}function Bt(t){return Object.keys(t).length===0}function pt(t,...e){if(t==null){for(const r of e)r(void 0);return O}const n=t.subscribe(...e);return n.unsubscribe?()=>n.unsubscribe():n}function Ft(t,e,n){t.$$.on_destroy.push(pt(e,n))}function ke(t,e,n,r){if(t){const i=ht(t,e,n,r);return t[0](i)}}function ht(t,e,n,r){return t[1]&&r?Te(n.ctx.slice(),t[1](r(e))):n.ctx}function Ee(t,e,n,r){if(t[2]&&r){const i=t[2](r(n));if(e.dirty===void 0)return i;if(typeof i=="object"){const o=[],l=Math.max(e.dirty.length,i.length);for(let s=0;s32){const e=[],n=t.ctx.length/32;for(let r=0;rwindow.performance.now():()=>Date.now(),Be=mt?t=>requestAnimationFrame(t):O;const te=new Set;function gt(t){te.forEach(e=>{e.c(t)||(te.delete(e),e.f())}),te.size!==0&&Be(gt)}function wt(t){let e;return te.size===0&&Be(gt),{promise:new Promise(n=>{te.add(e={c:t,f:n})}),abort(){te.delete(e)}}}function w(t,e){t.appendChild(e)}function $t(t){if(!t)return document;const e=t.getRootNode?t.getRootNode():t.ownerDocument;return e&&e.host?e:t.ownerDocument}function Ut(t){const e=q("style");return e.textContent="/* empty */",Vt($t(t),e),e.sheet}function Vt(t,e){return w(t.head||t,e),e.sheet}function z(t,e,n){t.insertBefore(e,n||null)}function A(t){t.parentNode&&t.parentNode.removeChild(t)}function Yt(t,e){for(let n=0;nt.removeEventListener(e,n,r)}function c(t,e,n){n==null?t.removeAttribute(e):t.getAttribute(e)!==n&&t.setAttribute(e,n)}function Xt(t){return Array.from(t.childNodes)}function Ne(t,e){e=""+e,t.data!==e&&(t.data=e)}function Je(t,e){t.value=e??""}function Ge(t,e,n,r){n==null?t.style.removeProperty(e):t.style.setProperty(e,n,r?"important":"")}function Ke(t,e,n){t.classList.toggle(e,!!n)}function vt(t,e,{bubbles:n=!1,cancelable:r=!1}={}){return new CustomEvent(t,{detail:e,bubbles:n,cancelable:r})}function re(t,e){return new t(e)}const $e=new Map;let ve=0;function Wt(t){let e=5381,n=t.length;for(;n--;)e=(e<<5)-e^t.charCodeAt(n);return e>>>0}function Jt(t,e){const n={stylesheet:Ut(e),rules:{}};return $e.set(t,n),n}function yt(t,e,n,r,i,o,l,s=0){const a=16.666/r;let u=`{ -`;for(let E=0;E<=1;E+=a){const L=e+(n-e)*o(E);u+=E*100+`%{${l(L,1-L)}} -`}const d=u+`100% {${l(n,1-n)}} -}`,f=`__svelte_${Wt(d)}_${s}`,p=$t(t),{stylesheet:m,rules:h}=$e.get(p)||Jt(p,t);h[f]||(h[f]=!0,m.insertRule(`@keyframes ${f} ${d}`,m.cssRules.length));const _=t.style.animation||"";return t.style.animation=`${_?`${_}, `:""}${f} ${r}ms linear ${i}ms 1 both`,ve+=1,f}function Le(t,e){const n=(t.style.animation||"").split(", "),r=n.filter(e?o=>o.indexOf(e)<0:o=>o.indexOf("__svelte")===-1),i=n.length-r.length;i&&(t.style.animation=r.join(", "),ve-=i,ve||Gt())}function Gt(){Be(()=>{ve||($e.forEach(t=>{const{ownerNode:e}=t.stylesheet;e&&A(e)}),$e.clear())})}let fe;function le(t){fe=t}function oe(){if(!fe)throw new Error("Function called outside component initialization");return fe}function Kt(t){oe().$$.on_mount.push(t)}function Zt(t){oe().$$.after_update.push(t)}function bt(t){oe().$$.on_destroy.push(t)}function Qt(){const t=oe();return(e,n,{cancelable:r=!1}={})=>{const i=t.$$.callbacks[e];if(i){const o=vt(e,n,{cancelable:r});return i.slice().forEach(l=>{l.call(t,o)}),!o.defaultPrevented}return!0}}function xt(t,e){return oe().$$.context.set(t,e),e}function en(t){return oe().$$.context.get(t)}function Ae(t,e){const n=t.$$.callbacks[e.type];n&&n.slice().forEach(r=>r.call(this,e))}const ee=[],J=[];let ne=[];const qe=[],kt=Promise.resolve();let ze=!1;function Et(){ze||(ze=!0,kt.then(Ct))}function Fe(){return Et(),kt}function ie(t){ne.push(t)}function ae(t){qe.push(t)}const Me=new Set;let Q=0;function Ct(){if(Q!==0)return;const t=fe;do{try{for(;Qt.indexOf(r)===-1?e.push(r):n.push(r)),n.forEach(r=>r()),ne=e}let se;function St(){return se||(se=Promise.resolve(),se.then(()=>{se=null})),se}function ye(t,e,n){t.dispatchEvent(vt(`${e?"intro":"outro"}${n}`))}const we=new Set;let X;function U(){X={r:0,c:[],p:X}}function V(){X.r||Y(X.c),X=X.p}function $(t,e){t&&t.i&&(we.delete(t),t.i(e))}function b(t,e,n,r){if(t&&t.o){if(we.has(t))return;we.add(t),X.c.push(()=>{we.delete(t),r&&(n&&t.d(1),r())}),t.o(e)}else r&&r()}const Nt={duration:0};function rn(t,e,n){const r={direction:"in"};let i=e(t,n,r),o=!1,l,s,a=0;function u(){l&&Le(t,l)}function d(){const{delay:p=0,duration:m=300,easing:h=Ie,tick:_=O,css:E}=i||Nt;E&&(l=yt(t,0,1,m,p,h,E,a++)),_(0,1);const L=_t()+p,H=L+m;s&&s.abort(),o=!0,ie(()=>ye(t,!0,"start")),s=wt(C=>{if(o){if(C>=H)return _(1,0),ye(t,!0,"end"),u(),o=!1;if(C>=L){const g=h((C-L)/m);_(g,1-g)}}return o})}let f=!1;return{start(){f||(f=!0,Le(t),Z(i)?(i=i(r),St().then(d)):d())},invalidate(){f=!1},end(){o&&(u(),o=!1)}}}function on(t,e,n){const r={direction:"out"};let i=e(t,n,r),o=!0,l;const s=X;s.r+=1;let a;function u(){const{delay:d=0,duration:f=300,easing:p=Ie,tick:m=O,css:h}=i||Nt;h&&(l=yt(t,1,0,f,d,p,h));const _=_t()+d,E=_+f;ie(()=>ye(t,!1,"start")),"inert"in t&&(a=t.inert,t.inert=!0),wt(L=>{if(o){if(L>=E)return m(0,1),ye(t,!1,"end"),--s.r||Y(s.c),!1;if(L>=_){const H=p((L-_)/f);m(1-H,H)}}return o})}return Z(i)?St().then(()=>{i=i(r),u()}):u(),{end(d){d&&"inert"in t&&(t.inert=a),d&&i.tick&&i.tick(1,0),o&&(l&&Le(t,l),o=!1)}}}function be(t){return(t==null?void 0:t.length)!==void 0?t:Array.from(t)}function sn(t,e){b(t,1,1,()=>{e.delete(t.key)})}function ln(t,e,n,r,i,o,l,s,a,u,d,f){let p=t.length,m=o.length,h=p;const _={};for(;h--;)_[t[h].key]=h;const E=[],L=new Map,H=new Map,C=[];for(h=m;h--;){const N=f(i,o,h),k=n(N);let y=l.get(k);y?r&&C.push(()=>y.p(N,e)):(y=u(k,N),y.c()),L.set(k,E[h]=y),k in _&&H.set(k,Math.abs(h-_[k]))}const g=new Set,v=new Set;function S(N){$(N,1),N.m(s,d),l.set(N.key,N),d=N.first,m--}for(;p&&m;){const N=E[m-1],k=t[p-1],y=N.key,D=k.key;N===k?(d=N.first,p--,m--):L.has(D)?!l.has(y)||g.has(y)?S(N):v.has(D)?p--:H.get(y)>H.get(D)?(v.add(y),S(N)):(g.add(D),p--):(a(k,l),p--)}for(;p--;){const N=t[p];L.has(N.key)||a(N,l)}for(;m;)S(E[m-1]);return Y(C),E}function Ot(t,e){const n={},r={},i={$$scope:1};let o=t.length;for(;o--;){const l=t[o],s=e[o];if(s){for(const a in l)a in s||(r[a]=1);for(const a in s)i[a]||(n[a]=s[a],i[a]=1);t[o]=s}else for(const a in l)i[a]=1}for(const l in r)l in n||(n[l]=void 0);return n}function Pt(t){return typeof t=="object"&&t!==null?t:{}}function ue(t,e,n){const r=t.$$.props[e];r!==void 0&&(t.$$.bound[r]=n,n(t.$$.ctx[r]))}function R(t){t&&t.c()}function M(t,e,n){const{fragment:r,after_update:i}=t.$$;r&&r.m(e,n),ie(()=>{const o=t.$$.on_mount.map(dt).filter(Z);t.$$.on_destroy?t.$$.on_destroy.push(...o):Y(o),t.$$.on_mount=[]}),i.forEach(ie)}function j(t,e){const n=t.$$;n.fragment!==null&&(nn(n.after_update),Y(n.on_destroy),n.fragment&&n.fragment.d(e),n.on_destroy=n.fragment=null,n.ctx=[])}function an(t,e){t.$$.dirty[0]===-1&&(ee.push(t),Et(),t.$$.dirty.fill(0)),t.$$.dirty[e/31|0]|=1<{const h=m.length?m[0]:p;return u.ctx&&i(u.ctx[f],u.ctx[f]=h)&&(!u.skip_bound&&u.bound[f]&&u.bound[f](h),d&&an(t,f)),p}):[],u.update(),d=!0,Y(u.before_update),u.fragment=r?r(u.ctx):!1,e.target){if(e.hydrate){const f=Xt(e.target);u.fragment&&u.fragment.l(f),f.forEach(A)}else u.fragment&&u.fragment.c();e.intro&&$(t.$$.fragment),M(t,e.target,e.anchor),Ct()}le(a)}class F{constructor(){Pe(this,"$$");Pe(this,"$$set")}$destroy(){j(this,1),this.$destroy=O}$on(e,n){if(!Z(n))return O;const r=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return r.push(n),()=>{const i=r.indexOf(n);i!==-1&&r.splice(i,1)}}$set(e){this.$$set&&!Bt(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}}const un="4";typeof window<"u"&&(window.__svelte||(window.__svelte={v:new Set})).v.add(un);const Mt={subscribe:null,addNotification:null,removeNotification:null,clearNotifications:null},He=()=>en(Mt);function cn(t){let e,n,r;var i=t[0];function o(l){return{props:{notification:l[1],withoutStyles:l[2],onRemove:l[3]}}}return i&&(e=re(i,o(t))),{c(){e&&R(e.$$.fragment),n=K()},m(l,s){e&&M(e,l,s),z(l,n,s),r=!0},p(l,[s]){const a={};if(s&2&&(a.notification=l[1]),s&4&&(a.withoutStyles=l[2]),s&1&&i!==(i=l[0])){if(e){U();const u=e;b(u.$$.fragment,1,0,()=>{j(u,1)}),V()}i?(e=re(i,o(l)),R(e.$$.fragment),$(e.$$.fragment,1),M(e,n.parentNode,n)):e=null}else i&&e.$set(a)},i(l){r||(e&&$(e.$$.fragment,l),r=!0)},o(l){e&&b(e.$$.fragment,l),r=!1},d(l){l&&A(n),e&&j(e,l)}}}function fn(t,e,n){let{item:r}=e,{notification:i={}}=e,{withoutStyles:o=!1}=e;const{removeNotification:l}=He(),{id:s,removeAfter:a}=i,u=()=>l(s);let d=null;return a&&(d=setTimeout(u,a)),bt(()=>{a&&d&&clearTimeout(d)}),t.$$set=f=>{"item"in f&&n(0,r=f.item),"notification"in f&&n(1,i=f.notification),"withoutStyles"in f&&n(2,o=f.withoutStyles)},[r,i,o,u]}class dn extends F{constructor(e){super(),B(this,e,fn,cn,T,{item:0,notification:1,withoutStyles:2})}}function pn(t){const e=t-1;return e*e*e+1}function Ze(t,{delay:e=0,duration:n=400,easing:r=Ie}={}){const i=+getComputedStyle(t).opacity;return{delay:e,duration:n,easing:r,css:o=>`opacity: ${o*i}`}}function Or(t,{delay:e=0,duration:n=400,easing:r=pn,x:i=0,y:o=0,opacity:l=0}={}){const s=getComputedStyle(t),a=+s.opacity,u=s.transform==="none"?"":s.transform,d=a*(1-l),[f,p]=We(i),[m,h]=We(o);return{delay:e,duration:n,easing:r,css:(_,E)=>` - transform: ${u} translate(${(1-_)*f}${p}, ${(1-_)*m}${h}); - opacity: ${a-d*E}`}}function hn(t){let e,n,r,i,o,l,s,a,u,d;const f=t[6].default,p=ke(f,t,t[5],null),m=p||mn(t);return{c(){e=q("div"),n=q("div"),m&&m.c(),r=I(),i=q("button"),o=W("×"),c(n,"class",ge(t[2]("content"))+" svelte-1x27qg3"),c(i,"class",ge(t[2]("button"))+" svelte-1x27qg3"),c(i,"aria-label","delete notification"),c(e,"class",ge(t[2]())+" svelte-1x27qg3"),c(e,"role","status"),c(e,"aria-live","polite")},m(h,_){z(h,e,_),w(e,n),m&&m.m(n,null),w(e,r),w(e,i),w(i,o),a=!0,u||(d=de(i,"click",function(){Z(t[0])&&t[0].apply(this,arguments)}),u=!0)},p(h,_){t=h,p&&p.p&&(!a||_&32)&&Ce(p,f,t,t[5],a?Ee(f,t[5],_,null):Se(t[5]),null)},i(h){a||($(m,h),h&&ie(()=>{a&&(s&&s.end(1),l=rn(e,Ze,{}),l.start())}),a=!0)},o(h){b(m,h),l&&l.invalidate(),h&&(s=on(e,Ze,{})),a=!1},d(h){h&&A(e),m&&m.d(h),h&&s&&s.end(),u=!1,d()}}}function mn(t){let e;return{c(){e=W(t[1])},m(n,r){z(n,e,r)},p:O,d(n){n&&A(e)}}}function _n(t){let e,n,r=t[1]&&hn(t);return{c(){r&&r.c(),e=K()},m(i,o){r&&r.m(i,o),z(i,e,o),n=!0},p(i,[o]){i[1]&&r.p(i,o)},i(i){n||($(r),n=!0)},o(i){b(r),n=!1},d(i){i&&A(e),r&&r.d(i)}}}function gn(t,e,n){let{$$slots:r={},$$scope:i}=e,{notification:o={}}=e,{withoutStyles:l=!1}=e,{onRemove:s=null}=e;const{text:a,type:u}=o,d=f=>{const p=f?`-${f}`:"",m=` default-notification-style${p}`,h=u&&!f?` default-notification-${u}`:"";return`notification${p}${l?"":m}${h}`};return t.$$set=f=>{"notification"in f&&n(3,o=f.notification),"withoutStyles"in f&&n(4,l=f.withoutStyles),"onRemove"in f&&n(0,s=f.onRemove),"$$scope"in f&&n(5,i=f.$$scope)},[s,a,d,o,l,i,r]}class Qe extends F{constructor(e){super(),B(this,e,gn,_n,T,{notification:3,withoutStyles:4,onRemove:0})}}const x=[];function jt(t,e){return{subscribe:Ue(t,e).subscribe}}function Ue(t,e=O){let n;const r=new Set;function i(s){if(T(t,s)&&(t=s,n)){const a=!x.length;for(const u of r)u[1](),x.push(u,t);if(a){for(let u=0;u{r.delete(u),r.size===0&&n&&(n(),n=null)}}return{set:i,update:o,subscribe:l}}function Rt(t,e,n){const r=!Array.isArray(t),i=r?[t]:t;if(!i.every(Boolean))throw new Error("derived() expects stores as input, got a falsy value");const o=e.length<2;return jt(n,(l,s)=>{let a=!1;const u=[];let d=0,f=O;const p=()=>{if(d)return;f();const h=e(r?u[0]:u,l,s);o?l(h):f=Z(h)?h:O},m=i.map((h,_)=>pt(h,E=>{u[_]=E,d&=~(1<<_),a&&p()},()=>{d|=1<<_}));return a=!0,p(),function(){Y(m),f(),a=!1}})}const De=["top-left","top-center","top-right","bottom-left","bottom-center","bottom-right"],wn=(t,e)=>{if(!t)return;const{update:n}=e,r={id:`${new Date().getTime()}-${Math.floor(Math.random()*9999)}`,position:"bottom-center",text:"",...t};De.includes(t.position)&&n(i=>r.position.includes("top-")?[r,...i]:[...i,r])},$n=(t,{update:e})=>{t&&e(n=>n.filter(({id:r})=>r!==t))},vn=t=>t.set([]),yn=()=>{const t=Ue([]);return{subscribe:t.subscribe,addNotification:e=>wn(e,t),removeNotification:e=>$n(e,t),clearNotifications:()=>vn(t)}},xe=yn();function et(t,e,n){const r=t.slice();return r[7]=e[n],r}function tt(t,e,n){const r=t.slice();return r[10]=e[n],r}function nt(t){let e,n;return e=new dn({props:{notification:t[10],withoutStyles:t[1],item:t[0]||Qe}}),{c(){R(e.$$.fragment)},m(r,i){M(e,r,i),n=!0},p(r,i){const o={};i&8&&(o.notification=r[10]),i&2&&(o.withoutStyles=r[1]),i&1&&(o.item=r[0]||Qe),e.$set(o)},i(r){n||($(e.$$.fragment,r),n=!0)},o(r){b(e.$$.fragment,r),n=!1},d(r){j(e,r)}}}function rt(t,e){let n,r,i,o=e[10].position===e[7]&&nt(e);return{key:t,first:null,c(){n=K(),o&&o.c(),r=K(),this.first=n},m(l,s){z(l,n,s),o&&o.m(l,s),z(l,r,s),i=!0},p(l,s){e=l,e[10].position===e[7]?o?(o.p(e,s),s&8&&$(o,1)):(o=nt(e),o.c(),$(o,1),o.m(r.parentNode,r)):o&&(U(),b(o,1,1,()=>{o=null}),V())},i(l){i||($(o),i=!0)},o(l){b(o),i=!1},d(l){l&&(A(n),A(r)),o&&o.d(l)}}}function it(t){let e,n=[],r=new Map,i,o,l=be(t[3]);const s=a=>a[10].id;for(let a=0;ab(s[u],1,1,()=>{s[u]=null});return{c(){o&&o.c(),e=I(),n=q("div");for(let u=0;un(3,r=d));let{$$slots:i={},$$scope:o}=e,{item:l=null}=e,{withoutStyles:s=!1}=e,{zIndex:a=null}=e;const u=(d="")=>{const f=` default-position-style-${d}`;return`position-${d}${s?"":f}`};return xt(Mt,xe),t.$$set=d=>{"item"in d&&n(0,l=d.item),"withoutStyles"in d&&n(1,s=d.withoutStyles),"zIndex"in d&&n(2,a=d.zIndex),"$$scope"in d&&n(5,o=d.$$scope)},[l,s,a,r,u,o,i]}class En extends F{constructor(e){super(),B(this,e,kn,bn,T,{item:0,withoutStyles:1,zIndex:2})}}const Cn="modulepreload",Sn=function(t){return"/"+t},ot={},je=function(e,n,r){if(!n||n.length===0)return e();const i=document.getElementsByTagName("link");return Promise.all(n.map(o=>{if(o=Sn(o),o in ot)return;ot[o]=!0;const l=o.endsWith(".css"),s=l?'[rel="stylesheet"]':"";if(!!r)for(let d=i.length-1;d>=0;d--){const f=i[d];if(f.href===o&&(!l||f.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${o}"]${s}`))return;const u=document.createElement("link");if(u.rel=l?"stylesheet":Cn,l||(u.as="script",u.crossOrigin=""),u.href=o,document.head.appendChild(u),l)return new Promise((d,f)=>{u.addEventListener("load",d),u.addEventListener("error",()=>f(new Error(`Unable to preload CSS for ${o}`)))})})).then(()=>e()).catch(o=>{const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=o,window.dispatchEvent(l),!l.defaultPrevented)throw o})};function Re(t){if(!t)throw Error("Parameter args is required");if(!t.component==!t.asyncComponent)throw Error("One and only one of component and asyncComponent is required");if(t.component&&(t.asyncComponent=()=>Promise.resolve(t.component)),typeof t.asyncComponent!="function")throw Error("Parameter asyncComponent must be a function");if(t.conditions){Array.isArray(t.conditions)||(t.conditions=[t.conditions]);for(let n=0;n{j(d,1)}),V()}o?(e=re(o,l()),e.$on("routeEvent",s[7]),R(e.$$.fragment),$(e.$$.fragment,1),M(e,n.parentNode,n)):e=null}else o&&e.$set(u)},i(s){r||(e&&$(e.$$.fragment,s),r=!0)},o(s){e&&b(e.$$.fragment,s),r=!1},d(s){s&&A(n),e&&j(e,s)}}}function Pn(t){let e,n,r;const i=[{params:t[1]},t[2]];var o=t[0];function l(s){let a={};for(let u=0;u{j(d,1)}),V()}o?(e=re(o,l()),e.$on("routeEvent",s[6]),R(e.$$.fragment),$(e.$$.fragment,1),M(e,n.parentNode,n)):e=null}else o&&e.$set(u)},i(s){r||(e&&$(e.$$.fragment,s),r=!0)},o(s){e&&b(e.$$.fragment,s),r=!1},d(s){s&&A(n),e&&j(e,s)}}}function Mn(t){let e,n,r,i;const o=[Pn,On],l=[];function s(a,u){return a[1]?0:1}return e=s(t),n=l[e]=o[e](t),{c(){n.c(),r=K()},m(a,u){l[e].m(a,u),z(a,r,u),i=!0},p(a,[u]){let d=e;e=s(a),e===d?l[e].p(a,u):(U(),b(l[d],1,1,()=>{l[d]=null}),V(),n=l[e],n?n.p(a,u):(n=l[e]=o[e](a),n.c()),$(n,1),n.m(r.parentNode,r))},i(a){i||($(n),i=!0)},o(a){b(n),i=!1},d(a){a&&A(r),l[e].d(a)}}}function st(){const t=window.location.href.indexOf("#/");let e=t>-1?window.location.href.substr(t+1):"/";const n=e.indexOf("?");let r="";return n>-1&&(r=e.substr(n+1),e=e.substr(0,n)),{location:e,querystring:r}}const Ve=jt(null,function(e){e(st());const n=()=>{e(st())};return window.addEventListener("hashchange",n,!1),function(){window.removeEventListener("hashchange",n,!1)}});Rt(Ve,t=>t.location);Rt(Ve,t=>t.querystring);const lt=Ue(void 0);async function Lt(t){if(!t||t.length<1||t.charAt(0)!="/"&&t.indexOf("#/")!==0)throw Error("Invalid parameter location");await Fe(),history.replaceState({...history.state,__svelte_spa_router_scrollX:window.scrollX,__svelte_spa_router_scrollY:window.scrollY},void 0),window.location.hash=(t.charAt(0)=="#"?"":"#")+t}async function jn(t){if(!t||t.length<1||t.charAt(0)!="/"&&t.indexOf("#/")!==0)throw Error("Invalid parameter location");await Fe();const e=(t.charAt(0)=="#"?"":"#")+t;try{const n={...history.state};delete n.__svelte_spa_router_scrollX,delete n.__svelte_spa_router_scrollY,window.history.replaceState(n,void 0,e)}catch{console.warn("Caught exception while replacing the current page. If you're running this in the Svelte REPL, please note that the `replace` method might not work in this environment.")}window.dispatchEvent(new Event("hashchange"))}function Rn(t){t?window.scrollTo(t.__svelte_spa_router_scrollX,t.__svelte_spa_router_scrollY):window.scrollTo(0,0)}function Ln(t,e,n){let{routes:r={}}=e,{prefix:i=""}=e,{restoreScrollState:o=!1}=e;class l{constructor(v,S){if(!S||typeof S!="function"&&(typeof S!="object"||S._sveltesparouter!==!0))throw Error("Invalid component object");if(!v||typeof v=="string"&&(v.length<1||v.charAt(0)!="/"&&v.charAt(0)!="*")||typeof v=="object"&&!(v instanceof RegExp))throw Error('Invalid value for "path" argument - strings must start with / or *');const{pattern:N,keys:k}=Nn(v);this.path=v,typeof S=="object"&&S._sveltesparouter===!0?(this.component=S.component,this.conditions=S.conditions||[],this.userData=S.userData,this.props=S.props||{}):(this.component=()=>Promise.resolve(S),this.conditions=[],this.props={}),this._pattern=N,this._keys=k}match(v){if(i){if(typeof i=="string")if(v.startsWith(i))v=v.substr(i.length)||"/";else return null;else if(i instanceof RegExp){const y=v.match(i);if(y&&y[0])v=v.substr(y[0].length)||"/";else return null}}const S=this._pattern.exec(v);if(S===null)return null;if(this._keys===!1)return S;const N={};let k=0;for(;k{s.push(new l(v,g))}):Object.keys(r).forEach(g=>{s.push(new l(g,r[g]))});let a=null,u=null,d={};const f=Qt();async function p(g,v){await Fe(),f(g,v)}let m=null,h=null;o&&(h=g=>{g.state&&(g.state.__svelte_spa_router_scrollY||g.state.__svelte_spa_router_scrollX)?m=g.state:m=null},window.addEventListener("popstate",h),Zt(()=>{Rn(m)}));let _=null,E=null;const L=Ve.subscribe(async g=>{_=g;let v=0;for(;v{lt.set(u)});return}n(0,a=null),E=null,lt.set(void 0)});bt(()=>{L(),h&&window.removeEventListener("popstate",h)});function H(g){Ae.call(this,t,g)}function C(g){Ae.call(this,t,g)}return t.$$set=g=>{"routes"in g&&n(3,r=g.routes),"prefix"in g&&n(4,i=g.prefix),"restoreScrollState"in g&&n(5,o=g.restoreScrollState)},t.$$.update=()=>{t.$$.dirty&32&&(history.scrollRestoration=o?"manual":"auto")},[a,u,d,r,i,o,H,C]}class An extends F{constructor(e){super(),B(this,e,Ln,Mn,T,{routes:3,prefix:4,restoreScrollState:5})}}const qn="/assets/github-1703635a.svg";function zn(t){let e,n,r,i,o,l,s;return{c(){e=P("svg"),n=P("g"),r=P("path"),i=P("path"),o=P("defs"),l=P("clipPath"),s=P("rect"),c(r,"d","M91 88C91 93.5695 93.2125 98.911 97.1508 102.849C101.089 106.788 106.43 109 112 109C117.57 109 122.911 106.788 126.849 102.849C130.788 98.911 133 93.5695 133 88C133 82.4305 130.788 77.089 126.849 73.1508C122.911 69.2125 117.57 67 112 67C106.43 67 101.089 69.2125 97.1508 73.1508C93.2125 77.089 91 82.4305 91 88Z"),c(r,"stroke","#213547"),c(r,"stroke-width","12"),c(r,"stroke-linecap","round"),c(r,"stroke-linejoin","round"),c(i,"d","M15 87.75C15 76.1468 19.6094 65.0188 27.8141 56.8141C36.0188 48.6094 47.1468 44 58.75 44H117.083C128.687 44 139.815 48.6094 148.019 56.8141C156.224 65.0188 160.833 76.1468 160.833 87.75C160.833 99.3532 156.224 110.481 148.019 118.686C139.815 126.891 128.687 131.5 117.083 131.5H58.75C47.1468 131.5 36.0188 126.891 27.8141 118.686C19.6094 110.481 15 99.3532 15 87.75Z"),c(i,"stroke","#213547"),c(i,"stroke-width","12"),c(i,"stroke-linecap","round"),c(i,"stroke-linejoin","round"),c(n,"clip-path","url(#clip0_27_64)"),c(s,"width","175"),c(s,"height","175"),c(s,"fill","white"),c(l,"id","clip0_27_64"),c(e,"width",t[0]),c(e,"height",t[1]),c(e,"viewBox","0 0 175 175"),c(e,"fill","none"),c(e,"xmlns","http://www.w3.org/2000/svg")},m(a,u){z(a,e,u),w(e,n),w(n,r),w(n,i),w(e,o),w(o,l),w(l,s)},p(a,[u]){u&1&&c(e,"width",a[0]),u&2&&c(e,"height",a[1])},i:O,o:O,d(a){a&&A(e)}}}function Dn(t,e,n){let{width:r="64"}=e,{height:i="64"}=e;return t.$$set=o=>{"width"in o&&n(0,r=o.width),"height"in o&&n(1,i=o.height)},[r,i]}class In extends F{constructor(e){super(),B(this,e,Dn,zn,T,{width:0,height:1})}}var G;(t=>{function e(i){return{...i,general:""}}t.make=e;function n(i){for(const o in i)i[o]="";return i}t.reset=n;function r(i,o){if(o){if(!o.fields.length){i.general=o.error;return}for(const l of o.fields)i[l]=o.error}return i}t.apply=r})(G||(G={}));function Tn(t){let e,n,r,i,o;return{c(){e=P("svg"),n=P("path"),r=P("path"),i=P("path"),o=P("path"),c(n,"stroke","none"),c(n,"d","M0 0h24v24H0z"),c(n,"fill","none"),c(r,"d","M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0"),c(i,"d","M12 9v4"),c(o,"d","M12 16v.01"),c(e,"xmlns","http://www.w3.org/2000/svg"),c(e,"class","icon icon-tabler icon-tabler-exclamation-circle"),c(e,"width","18"),c(e,"height","18"),c(e,"viewBox","0 0 24 24"),c(e,"stroke-width","2"),c(e,"stroke","currentColor"),c(e,"fill","none"),c(e,"stroke-linecap","round"),c(e,"stroke-linejoin","round")},m(l,s){z(l,e,s),w(e,n),w(e,r),w(e,i),w(e,o)},p:O,i:O,o:O,d(l){l&&A(e)}}}let Bn=class extends F{constructor(e){super(),B(this,e,null,Tn,T,{})}};function at(t){let e,n,r,i,o,l;return n=new Bn({}),{c(){e=q("div"),R(n.$$.fragment),r=I(),i=q("span"),o=W(t[3]),c(e,"class","error-p svelte-165e9o6")},m(s,a){z(s,e,a),M(n,e,null),w(e,r),w(e,i),w(i,o),l=!0},p(s,a){(!l||a&8)&&Ne(o,s[3])},i(s){l||($(n.$$.fragment,s),l=!0)},o(s){b(n.$$.fragment,s),l=!1},d(s){s&&A(e),j(n)}}}function ut(t){let e,n;return{c(){e=q("p"),n=W(t[2]),c(e,"class","help svelte-165e9o6")},m(r,i){z(r,e,i),w(e,n)},p(r,i){i&4&&Ne(n,r[2])},d(r){r&&A(e)}}}function Fn(t){let e,n,r,i,o,l,s,a,u,d;const f=t[7].default,p=ke(f,t,t[6],null);let m=t[3].length&&at(t),h=t[2]&&ut(t);return{c(){e=q("div"),n=q("div"),r=q("label"),p&&p.c(),i=I(),o=q("input"),l=I(),m&&m.c(),s=I(),h&&h.c(),c(o,"placeholder",t[1]),c(o,"class","svelte-165e9o6"),c(r,"class","control svelte-165e9o6"),c(n,"class","container svelte-165e9o6"),Ke(n,"error",t[3].length)},m(_,E){z(_,e,E),w(e,n),w(n,r),p&&p.m(r,null),w(r,i),w(r,o),Je(o,t[0]),w(n,l),m&&m.m(n,null),w(e,s),h&&h.m(e,null),a=!0,u||(d=[Ht(t[4].call(null,o)),de(o,"input",t[8])],u=!0)},p(_,[E]){p&&p.p&&(!a||E&64)&&Ce(p,f,_,_[6],a?Ee(f,_[6],E,null):Se(_[6]),null),(!a||E&2)&&c(o,"placeholder",_[1]),E&1&&o.value!==_[0]&&Je(o,_[0]),_[3].length?m?(m.p(_,E),E&8&&$(m,1)):(m=at(_),m.c(),$(m,1),m.m(n,null)):m&&(U(),b(m,1,1,()=>{m=null}),V()),(!a||E&8)&&Ke(n,"error",_[3].length),_[2]?h?h.p(_,E):(h=ut(_),h.c(),h.m(e,null)):h&&(h.d(1),h=null)},i(_){a||($(p,_),$(m),a=!0)},o(_){b(p,_),b(m),a=!1},d(_){_&&A(e),p&&p.d(_),m&&m.d(),h&&h.d(),u=!1,Y(d)}}}function Hn(t,e,n){let{$$slots:r={},$$scope:i}=e,{type:o="text"}=e,{placeholder:l=""}=e,{value:s=""}=e,{help:a=""}=e,{error:u=""}=e;function d(p){p.type=o}function f(){s=this.value,n(0,s)}return t.$$set=p=>{"type"in p&&n(5,o=p.type),"placeholder"in p&&n(1,l=p.placeholder),"value"in p&&n(0,s=p.value),"help"in p&&n(2,a=p.help),"error"in p&&n(3,u=p.error),"$$scope"in p&&n(6,i=p.$$scope)},[s,l,a,u,d,o,i,r,f]}class ce extends F{constructor(e){super(),B(this,e,Hn,Fn,T,{type:5,placeholder:1,value:0,help:2,error:3})}}function Un(t){let e,n,r,i;return{c(){e=P("svg"),n=P("path"),r=P("path"),i=P("path"),c(n,"stroke","none"),c(n,"d","M0 0h24v24H0z"),c(n,"fill","none"),c(r,"d","M3 7a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v10a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2v-10z"),c(i,"d","M3 7l9 6l9 -6"),c(e,"xmlns","http://www.w3.org/2000/svg"),c(e,"class","icon icon-tabler icon-tabler-mail"),c(e,"width","24"),c(e,"height","24"),c(e,"viewBox","0 0 24 24"),c(e,"stroke-width","2"),c(e,"stroke","currentColor"),c(e,"fill","none"),c(e,"stroke-linecap","round"),c(e,"stroke-linejoin","round")},m(o,l){z(o,e,l),w(e,n),w(e,r),w(e,i)},p:O,i:O,o:O,d(o){o&&A(e)}}}class At extends F{constructor(e){super(),B(this,e,null,Un,T,{})}}function Vn(t){let e,n,r,i;return{c(){e=P("svg"),n=P("path"),r=P("path"),i=P("path"),c(n,"stroke","none"),c(n,"d","M0 0h24v24H0z"),c(n,"fill","none"),c(r,"d","M14 8v-2a2 2 0 0 0 -2 -2h-7a2 2 0 0 0 -2 2v12a2 2 0 0 0 2 2h7a2 2 0 0 0 2 -2v-2"),c(i,"d","M20 12h-13l3 -3m0 6l-3 -3"),c(e,"xmlns","http://www.w3.org/2000/svg"),c(e,"class","icon icon-tabler icon-tabler-login"),c(e,"width","24"),c(e,"height","24"),c(e,"viewBox","0 0 24 24"),c(e,"stroke-width","2"),c(e,"stroke","currentColor"),c(e,"fill","none"),c(e,"stroke-linecap","round"),c(e,"stroke-linejoin","round")},m(o,l){z(o,e,l),w(e,n),w(e,r),w(e,i)},p:O,i:O,o:O,d(o){o&&A(e)}}}let Yn=class extends F{constructor(e){super(),B(this,e,null,Vn,T,{})}};function Xn(t){let e,n;return{c(){e=q("p"),n=W(t[0]),c(e,"class","svelte-ubhefc")},m(r,i){z(r,e,i),w(e,n)},p(r,[i]){i&1&&Ne(n,r[0])},i:O,o:O,d(r){r&&A(e)}}}function Wn(t,e,n){let{message:r=""}=e;return t.$$set=i=>{"message"in i&&n(0,r=i.message)},[r]}class qt extends F{constructor(e){super(),B(this,e,Wn,Xn,T,{message:0})}}function Jn(t){let e,n,r,i;return{c(){e=P("svg"),n=P("path"),r=P("path"),i=P("path"),c(n,"stroke","none"),c(n,"d","M0 0h24v24H0z"),c(n,"fill","none"),c(r,"d","M3 12a9 9 0 0 0 9 9a9 9 0 0 0 9 -9a9 9 0 0 0 -9 -9"),c(i,"d","M17 12a5 5 0 1 0 -5 5"),c(e,"xmlns","http://www.w3.org/2000/svg"),c(e,"class","spin svelte-qx5rzs"),c(e,"width","24"),c(e,"height","24"),c(e,"viewBox","0 0 24 24"),c(e,"stroke-width","2"),c(e,"stroke","currentColor"),c(e,"fill","none"),c(e,"stroke-linecap","round"),c(e,"stroke-linejoin","round")},m(o,l){z(o,e,l),w(e,n),w(e,r),w(e,i)},p:O,i:O,o:O,d(o){o&&A(e)}}}class Gn extends F{constructor(e){super(),B(this,e,null,Jn,T,{})}}function Kn(t){let e;const n=t[3].default,r=ke(n,t,t[2],null);return{c(){r&&r.c()},m(i,o){r&&r.m(i,o),e=!0},p(i,o){r&&r.p&&(!e||o&4)&&Ce(r,n,i,i[2],e?Ee(n,i[2],o,null):Se(i[2]),null)},i(i){e||($(r,i),e=!0)},o(i){b(r,i),e=!1},d(i){r&&r.d(i)}}}function Zn(t){let e,n;return e=new Gn({}),{c(){R(e.$$.fragment)},m(r,i){M(e,r,i),n=!0},p:O,i(r){n||($(e.$$.fragment,r),n=!0)},o(r){b(e.$$.fragment,r),n=!1},d(r){j(e,r)}}}function Qn(t){let e,n,r,i,o,l,s,a,u;const d=[Zn,Kn],f=[];function p(m,h){return m[1]?0:1}return n=p(t),r=f[n]=d[n](t),{c(){e=q("button"),r.c(),i=I(),o=q("span"),l=W(t[0]),c(e,"class","svelte-1x4xxxn")},m(m,h){z(m,e,h),f[n].m(e,null),w(e,i),w(e,o),w(o,l),s=!0,a||(u=de(e,"click",t[4]),a=!0)},p(m,[h]){let _=n;n=p(m),n===_?f[n].p(m,h):(U(),b(f[_],1,1,()=>{f[_]=null}),V(),r=f[n],r?r.p(m,h):(r=f[n]=d[n](m),r.c()),$(r,1),r.m(e,i)),(!s||h&1)&&Ne(l,m[0])},i(m){s||($(r),s=!0)},o(m){b(r),s=!1},d(m){m&&A(e),f[n].d(),a=!1,u()}}}function xn(t,e,n){let{$$slots:r={},$$scope:i}=e,{text:o}=e,{loading:l=!1}=e;function s(a){Ae.call(this,t,a)}return t.$$set=a=>{"text"in a&&n(0,o=a.text),"loading"in a&&n(1,l=a.loading),"$$scope"in a&&n(2,i=a.$$scope)},[o,l,i,r,s]}class zt extends F{constructor(e){super(),B(this,e,xn,Qn,T,{text:0,loading:1})}}function er(t){let e,n,r,i;return{c(){e=P("svg"),n=P("path"),r=P("path"),i=P("path"),c(n,"stroke","none"),c(n,"d","M0 0h24v24H0z"),c(n,"fill","none"),c(r,"d","M16.555 3.843l3.602 3.602a2.877 2.877 0 0 1 0 4.069l-2.643 2.643a2.877 2.877 0 0 1 -4.069 0l-.301 -.301l-6.558 6.558a2 2 0 0 1 -1.239 .578l-.175 .008h-1.172a1 1 0 0 1 -.993 -.883l-.007 -.117v-1.172a2 2 0 0 1 .467 -1.284l.119 -.13l.414 -.414h2v-2h2v-2l2.144 -2.144l-.301 -.301a2.877 2.877 0 0 1 0 -4.069l2.643 -2.643a2.877 2.877 0 0 1 4.069 0z"),c(i,"d","M15 9h.01"),c(e,"xmlns","http://www.w3.org/2000/svg"),c(e,"class","icon icon-tabler icon-tabler-key"),c(e,"width","24"),c(e,"height","24"),c(e,"viewBox","0 0 24 24"),c(e,"stroke-width","2"),c(e,"stroke","currentColor"),c(e,"fill","none"),c(e,"stroke-linecap","round"),c(e,"stroke-linejoin","round")},m(o,l){z(o,e,l),w(e,n),w(e,r),w(e,i)},p:O,i:O,o:O,d(o){o&&A(e)}}}class Ye extends F{constructor(e){super(),B(this,e,null,er,T,{})}}function tr(t){let e,n;return e=new At({}),{c(){R(e.$$.fragment)},m(r,i){M(e,r,i),n=!0},i(r){n||($(e.$$.fragment,r),n=!0)},o(r){b(e.$$.fragment,r),n=!1},d(r){j(e,r)}}}function nr(t){let e,n;return e=new Ye({}),{c(){R(e.$$.fragment)},m(r,i){M(e,r,i),n=!0},i(r){n||($(e.$$.fragment,r),n=!0)},o(r){b(e.$$.fragment,r),n=!1},d(r){j(e,r)}}}function ct(t){let e,n;return e=new qt({props:{message:t[2].general}}),{c(){R(e.$$.fragment)},m(r,i){M(e,r,i),n=!0},p(r,i){const o={};i&4&&(o.message=r[2].general),e.$set(o)},i(r){n||($(e.$$.fragment,r),n=!0)},o(r){b(e.$$.fragment,r),n=!1},d(r){j(e,r)}}}function rr(t){let e,n;return e=new Yn({}),{c(){R(e.$$.fragment)},m(r,i){M(e,r,i),n=!0},i(r){n||($(e.$$.fragment,r),n=!0)},o(r){b(e.$$.fragment,r),n=!1},d(r){j(e,r)}}}function ir(t){let e,n,r,i,o,l,s,a,u,d,f,p,m,h;function _(g){t[4](g)}let E={placeholder:"Email",type:"email",error:t[2].email,$$slots:{default:[tr]},$$scope:{ctx:t}};t[1].email!==void 0&&(E.value=t[1].email),i=new ce({props:E}),J.push(()=>ue(i,"value",_));function L(g){t[5](g)}let H={placeholder:"Password",type:"password",error:t[2].password,$$slots:{default:[nr]},$$scope:{ctx:t}};t[1].password!==void 0&&(H.value=t[1].password),s=new ce({props:H}),J.push(()=>ue(s,"value",L));let C=t[2].general&&ct(t);return f=new zt({props:{loading:t[0],text:"Login",$$slots:{default:[rr]},$$scope:{ctx:t}}}),f.$on("click",t[3]),{c(){e=q("form"),n=q("p"),n.textContent="Welcome back to the enable admin dashboard.",r=I(),R(i.$$.fragment),l=I(),R(s.$$.fragment),u=I(),C&&C.c(),d=I(),R(f.$$.fragment),c(n,"class","svelte-1vupvrm"),c(e,"class","form svelte-1vupvrm")},m(g,v){z(g,e,v),w(e,n),w(e,r),M(i,e,null),w(e,l),M(s,e,null),w(e,u),C&&C.m(e,null),w(e,d),M(f,e,null),p=!0,m||(h=de(e,"submit",t[3]),m=!0)},p(g,[v]){const S={};v&4&&(S.error=g[2].email),v&64&&(S.$$scope={dirty:v,ctx:g}),!o&&v&2&&(o=!0,S.value=g[1].email,ae(()=>o=!1)),i.$set(S);const N={};v&4&&(N.error=g[2].password),v&64&&(N.$$scope={dirty:v,ctx:g}),!a&&v&2&&(a=!0,N.value=g[1].password,ae(()=>a=!1)),s.$set(N),g[2].general?C?(C.p(g,v),v&4&&$(C,1)):(C=ct(g),C.c(),$(C,1),C.m(e,d)):C&&(U(),b(C,1,1,()=>{C=null}),V());const k={};v&1&&(k.loading=g[0]),v&64&&(k.$$scope={dirty:v,ctx:g}),f.$set(k)},i(g){p||($(i.$$.fragment,g),$(s.$$.fragment,g),$(C),$(f.$$.fragment,g),p=!0)},o(g){b(i.$$.fragment,g),b(s.$$.fragment,g),b(C),b(f.$$.fragment,g),p=!1},d(g){g&&A(e),j(i),j(s),C&&C.d(),j(f),m=!1,h()}}}function or(t,e,n){let r=!1;const i={email:"",password:""};let o=G.make(i);const l=async u=>{u.preventDefault(),n(0,r=!0),n(2,o=G.reset(o)),(await fetch("/api/auth/login",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(i)})).status===200?Lt("/admin"):(n(2,o.email="Email ou senha incorretos",o),n(2,o.password="Email ou senha incorretos",o)),n(0,r=!1)};function s(u){t.$$.not_equal(i.email,u)&&(i.email=u,n(1,i))}function a(u){t.$$.not_equal(i.password,u)&&(i.password=u,n(1,i))}return[r,i,o,l,s,a]}class sr extends F{constructor(e){super(),B(this,e,or,ir,T,{})}}function lr(t){let e,n,r,i,o;return{c(){e=P("svg"),n=P("path"),r=P("path"),i=P("path"),o=P("path"),c(n,"stroke","none"),c(n,"d","M0 0h24v24H0z"),c(n,"fill","none"),c(r,"d","M6 21v-2a4 4 0 0 1 4 -4h2"),c(i,"d","M22 16c0 4 -2.5 6 -3.5 6s-3.5 -2 -3.5 -6c1 0 2.5 -.5 3.5 -1.5c1 1 2.5 1.5 3.5 1.5z"),c(o,"d","M8 7a4 4 0 1 0 8 0a4 4 0 0 0 -8 0"),c(e,"xmlns","http://www.w3.org/2000/svg"),c(e,"class","icon icon-tabler icon-tabler-user-shield"),c(e,"width","24"),c(e,"height","24"),c(e,"viewBox","0 0 24 24"),c(e,"stroke-width","2"),c(e,"stroke","currentColor"),c(e,"fill","none"),c(e,"stroke-linecap","round"),c(e,"stroke-linejoin","round")},m(l,s){z(l,e,s),w(e,n),w(e,r),w(e,i),w(e,o)},p:O,i:O,o:O,d(l){l&&A(e)}}}class ar extends F{constructor(e){super(),B(this,e,null,lr,T,{})}}function ur(t){let e,n;return e=new At({}),{c(){R(e.$$.fragment)},m(r,i){M(e,r,i),n=!0},i(r){n||($(e.$$.fragment,r),n=!0)},o(r){b(e.$$.fragment,r),n=!1},d(r){j(e,r)}}}function cr(t){let e,n;return e=new Ye({}),{c(){R(e.$$.fragment)},m(r,i){M(e,r,i),n=!0},i(r){n||($(e.$$.fragment,r),n=!0)},o(r){b(e.$$.fragment,r),n=!1},d(r){j(e,r)}}}function fr(t){let e,n;return e=new Ye({}),{c(){R(e.$$.fragment)},m(r,i){M(e,r,i),n=!0},i(r){n||($(e.$$.fragment,r),n=!0)},o(r){b(e.$$.fragment,r),n=!1},d(r){j(e,r)}}}function ft(t){let e,n;return e=new qt({props:{message:t[2].general}}),{c(){R(e.$$.fragment)},m(r,i){M(e,r,i),n=!0},p(r,i){const o={};i&4&&(o.message=r[2].general),e.$set(o)},i(r){n||($(e.$$.fragment,r),n=!0)},o(r){b(e.$$.fragment,r),n=!1},d(r){j(e,r)}}}function dr(t){let e,n;return e=new ar({}),{c(){R(e.$$.fragment)},m(r,i){M(e,r,i),n=!0},i(r){n||($(e.$$.fragment,r),n=!0)},o(r){b(e.$$.fragment,r),n=!1},d(r){j(e,r)}}}function pr(t){let e,n,r,i,o,l,s,a,u,d,f,p,m,h,_,E,L;function H(y){t[4](y)}let C={placeholder:"Email",type:"email",error:t[2].email,$$slots:{default:[ur]},$$scope:{ctx:t}};t[1].email!==void 0&&(C.value=t[1].email),i=new ce({props:C}),J.push(()=>ue(i,"value",H));function g(y){t[5](y)}let v={placeholder:"Password",type:"password",error:t[2].password,$$slots:{default:[cr]},$$scope:{ctx:t}};t[1].password!==void 0&&(v.value=t[1].password),s=new ce({props:v}),J.push(()=>ue(s,"value",g));function S(y){t[6](y)}let N={placeholder:"Confirm password",type:"password",help:"Use at least 8 characters",error:t[2].passwordConfirm,$$slots:{default:[fr]},$$scope:{ctx:t}};t[1].passwordConfirm!==void 0&&(N.value=t[1].passwordConfirm),d=new ce({props:N}),J.push(()=>ue(d,"value",S));let k=t[2].general&&ft(t);return h=new zt({props:{loading:t[0],text:"Register",$$slots:{default:[dr]},$$scope:{ctx:t}}}),h.$on("click",t[3]),{c(){e=q("form"),n=q("p"),n.textContent=`Hello! Since this is your first time here, you need to create an admin - account.`,r=I(),R(i.$$.fragment),l=I(),R(s.$$.fragment),u=I(),R(d.$$.fragment),p=I(),k&&k.c(),m=I(),R(h.$$.fragment),c(n,"class","svelte-1vupvrm"),c(e,"class","form svelte-1vupvrm")},m(y,D){z(y,e,D),w(e,n),w(e,r),M(i,e,null),w(e,l),M(s,e,null),w(e,u),M(d,e,null),w(e,p),k&&k.m(e,null),w(e,m),M(h,e,null),_=!0,E||(L=de(e,"submit",t[3]),E=!0)},p(y,[D]){const pe={};D&4&&(pe.error=y[2].email),D&256&&(pe.$$scope={dirty:D,ctx:y}),!o&&D&2&&(o=!0,pe.value=y[1].email,ae(()=>o=!1)),i.$set(pe);const he={};D&4&&(he.error=y[2].password),D&256&&(he.$$scope={dirty:D,ctx:y}),!a&&D&2&&(a=!0,he.value=y[1].password,ae(()=>a=!1)),s.$set(he);const me={};D&4&&(me.error=y[2].passwordConfirm),D&256&&(me.$$scope={dirty:D,ctx:y}),!f&&D&2&&(f=!0,me.value=y[1].passwordConfirm,ae(()=>f=!1)),d.$set(me),y[2].general?k?(k.p(y,D),D&4&&$(k,1)):(k=ft(y),k.c(),$(k,1),k.m(e,m)):k&&(U(),b(k,1,1,()=>{k=null}),V());const Oe={};D&1&&(Oe.loading=y[0]),D&256&&(Oe.$$scope={dirty:D,ctx:y}),h.$set(Oe)},i(y){_||($(i.$$.fragment,y),$(s.$$.fragment,y),$(d.$$.fragment,y),$(k),$(h.$$.fragment,y),_=!0)},o(y){b(i.$$.fragment,y),b(s.$$.fragment,y),b(d.$$.fragment,y),b(k),b(h.$$.fragment,y),_=!1},d(y){y&&A(e),j(i),j(s),j(d),k&&k.d(),j(h),E=!1,L()}}}function hr(t,e,n){const{addNotification:r}=He();let i=!1;const o={email:"",password:"",passwordConfirm:""};let l=G.make(o);const s=async f=>{f.preventDefault(),n(0,i=!0),n(2,l=G.reset(l));const p=await fetch("/api/auth/register",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(o)});p.ok?(Lt("/admin"),r({type:"success",position:"top-right",removeAfter:3e3,text:"Account registered with success.",id:"account-created"})):n(2,l=G.apply(l,await p.json())),n(0,i=!1)};function a(f){t.$$.not_equal(o.email,f)&&(o.email=f,n(1,o))}function u(f){t.$$.not_equal(o.password,f)&&(o.password=f,n(1,o))}function d(f){t.$$.not_equal(o.passwordConfirm,f)&&(o.passwordConfirm=f,n(1,o))}return[i,o,l,s,a,u,d]}class mr extends F{constructor(e){super(),B(this,e,hr,pr,T,{})}}function _r(t){let e,n;return e=new mr({}),{c(){R(e.$$.fragment)},m(r,i){M(e,r,i),n=!0},i(r){n||($(e.$$.fragment,r),n=!0)},o(r){b(e.$$.fragment,r),n=!1},d(r){j(e,r)}}}function gr(t){let e,n;return e=new sr({}),{c(){R(e.$$.fragment)},m(r,i){M(e,r,i),n=!0},i(r){n||($(e.$$.fragment,r),n=!0)},o(r){b(e.$$.fragment,r),n=!1},d(r){j(e,r)}}}function wr(t){let e,n,r,i,o,l,s,a,u,d,f,p,m,h,_;i=new In({});const E=[gr,_r],L=[];function H(C,g){return C[0]?1:0}return a=H(t),u=L[a]=E[a](t),{c(){e=q("div"),n=q("main"),r=q("div"),R(i.$$.fragment),o=I(),l=q("h1"),l.textContent="Enable",s=I(),u.c(),d=I(),f=q("p"),p=q("a"),m=q("img"),c(r,"class","title svelte-135s6ni"),Tt(m.src,h=qn)||c(m,"src",h),c(m,"alt","Github logo"),c(p,"href","https://github.com/viktormarinho/enable"),c(p,"target","_blank"),c(p,"rel","noreferrer"),c(p,"class","hover svelte-135s6ni"),c(f,"class","links svelte-135s6ni"),c(n,"class","svelte-135s6ni"),c(e,"class","page svelte-135s6ni")},m(C,g){z(C,e,g),w(e,n),w(n,r),M(i,r,null),w(r,o),w(r,l),w(n,s),L[a].m(n,null),w(n,d),w(n,f),w(f,p),w(p,m),_=!0},p(C,[g]){let v=a;a=H(C),a!==v&&(U(),b(L[v],1,1,()=>{L[v]=null}),V(),u=L[a],u||(u=L[a]=E[a](C),u.c()),$(u,1),u.m(n,d))},i(C){_||($(i.$$.fragment,C),$(u),_=!0)},o(C){b(i.$$.fragment,C),b(u),_=!1},d(C){C&&A(e),j(i),L[a].d()}}}function $r(t,e,n){let r=!0;return Kt(async()=>{const i=await fetch("/api/auth/first-time"),{isFirstTime:o}=await i.json();n(0,r=o)}),[r]}class vr extends F{constructor(e){super(),B(this,e,$r,wr,T,{})}}function yr(t){let e,n;return e=new An({props:{routes:t[0]}}),e.$on("conditionsFailed",t[1]),{c(){R(e.$$.fragment)},m(r,i){M(e,r,i),n=!0},p:O,i(r){n||($(e.$$.fragment,r),n=!0)},o(r){b(e.$$.fragment,r),n=!1},d(r){j(e,r)}}}function br(t){const e=[async()=>(await fetch("/api/auth/me")).ok],n={"/":vr,"/admin":Re({asyncComponent:()=>je(()=>import("./Admin-3a114b34.js"),["assets/Admin-3a114b34.js","assets/Portal-bbb113f2.js","assets/Portal-c5add968.css","assets/Tag-1cb3a800.js","assets/Admin-ec9a2537.css"]),conditions:e}),"/admin/project/:id":Re({asyncComponent:()=>je(()=>import("./Project-c7f12ff0.js"),["assets/Project-c7f12ff0.js","assets/Portal-bbb113f2.js","assets/Portal-c5add968.css","assets/BackToProjects-3334f8ec.js","assets/BackToProjects-d15f176f.css","assets/Project-91d24e49.css"]),conditions:e}),"/admin/settings":Re({asyncComponent:()=>je(()=>import("./Settings-a4364d5e.js"),["assets/Settings-a4364d5e.js","assets/BackToProjects-3334f8ec.js","assets/BackToProjects-d15f176f.css","assets/Portal-bbb113f2.js","assets/Portal-c5add968.css","assets/Tag-1cb3a800.js","assets/Settings-ac0e5205.css"]),conditions:e})},{addNotification:r}=He();function i(o){jn("/"),r({type:"error",position:"top-right",removeAfter:3e3,text:"You must be logged in to access this page. Redirecting to login...",id:"login-required"})}return[n,i]}class kr extends F{constructor(e){super(),B(this,e,br,yr,T,{})}}function Er(t){let e,n;return e=new kr({}),{c(){R(e.$$.fragment)},m(r,i){M(e,r,i),n=!0},i(r){n||($(e.$$.fragment,r),n=!0)},o(r){b(e.$$.fragment,r),n=!1},d(r){j(e,r)}}}function Cr(t){let e,n;return e=new En({props:{$$slots:{default:[Er]},$$scope:{ctx:t}}}),{c(){R(e.$$.fragment)},m(r,i){M(e,r,i),n=!0},p(r,[i]){const o={};i&1&&(o.$$scope={dirty:i,ctx:r}),e.$set(o)},i(r){n||($(e.$$.fragment,r),n=!0)},o(r){b(e.$$.fragment,r),n=!1},d(r){j(e,r)}}}class Sr extends F{constructor(e){super(),B(this,e,null,Cr,T,{})}}new Sr({target:document.getElementById("app")});export{Lt as A,zt as B,be as C,Yt as D,Kt as E,W as F,Ne as G,In as H,ce as I,Ae as J,He as K,Qt as L,Ge as M,ie as N,rn as O,Ye as P,Or as Q,ke as R,F as S,Ce as T,Se as U,Ee as V,bt as W,P as a,c as b,z as c,w as d,A as e,q as f,I as g,K as h,B as i,U as j,b as k,de as l,V as m,O as n,G as o,R as p,M as q,j as r,T as s,$ as t,J as u,ue as v,Ke as w,Ht as x,ae as y,Y as z}; diff --git a/static/index.html b/static/index.html index b179fc4..c35651f 100644 --- a/static/index.html +++ b/static/index.html @@ -5,8 +5,8 @@ Enable - Admin - - + +