From 98952ace6ef8883065004c08ebff8dc3bba8b8d7 Mon Sep 17 00:00:00 2001 From: Arthur Belleville Date: Thu, 7 May 2026 23:02:29 +0200 Subject: [PATCH] Deprecate previous backend --- .../frontend/dist/.vite/manifest.json | 11 - .../frontend/dist/assets/main-B7j1Bbjq.js | 5 - .../frontend/dist/assets/main-D3T09nt8.css | 1 - go_backend/internal/frontend/file.go | 8 - go_backend/internal/spahandler/handler.go | 129 ------ go_backend/main.go | 57 --- go_backend/router.go | 36 -- .../.air.toml | 0 .../Dockerfile | 0 {go_backend => go_backend_deprecated}/go.mod | 9 +- {go_backend => go_backend_deprecated}/go.sum | 13 +- .../internal/web/handlers/login.go | 48 ++ .../internal/web/views/login.templ | 95 ++++ .../internal/web/views/login_templ.go | 102 +++++ go_backend_deprecated/main.go | 26 ++ go_backend_deprecated/router.go | 20 + go_backend_deprecated/router_test.go | 74 ++++ go_backend_deprecated/static/styles.css | 417 ++++++++++++++++++ 18 files changed, 792 insertions(+), 259 deletions(-) delete mode 100644 go_backend/internal/frontend/dist/.vite/manifest.json delete mode 100644 go_backend/internal/frontend/dist/assets/main-B7j1Bbjq.js delete mode 100644 go_backend/internal/frontend/dist/assets/main-D3T09nt8.css delete mode 100644 go_backend/internal/frontend/file.go delete mode 100644 go_backend/internal/spahandler/handler.go delete mode 100644 go_backend/main.go delete mode 100644 go_backend/router.go rename {go_backend => go_backend_deprecated}/.air.toml (100%) rename {go_backend => go_backend_deprecated}/Dockerfile (100%) rename {go_backend => go_backend_deprecated}/go.mod (55%) rename {go_backend => go_backend_deprecated}/go.sum (71%) create mode 100644 go_backend_deprecated/internal/web/handlers/login.go create mode 100644 go_backend_deprecated/internal/web/views/login.templ create mode 100644 go_backend_deprecated/internal/web/views/login_templ.go create mode 100644 go_backend_deprecated/main.go create mode 100644 go_backend_deprecated/router.go create mode 100644 go_backend_deprecated/router_test.go create mode 100644 go_backend_deprecated/static/styles.css diff --git a/go_backend/internal/frontend/dist/.vite/manifest.json b/go_backend/internal/frontend/dist/.vite/manifest.json deleted file mode 100644 index 8eb9c25..0000000 --- a/go_backend/internal/frontend/dist/.vite/manifest.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "src/main.ts": { - "file": "assets/main-B7j1Bbjq.js", - "name": "main", - "src": "src/main.ts", - "isEntry": true, - "css": [ - "assets/main-D3T09nt8.css" - ] - } -} \ No newline at end of file diff --git a/go_backend/internal/frontend/dist/assets/main-B7j1Bbjq.js b/go_backend/internal/frontend/dist/assets/main-B7j1Bbjq.js deleted file mode 100644 index 07e4966..0000000 --- a/go_backend/internal/frontend/dist/assets/main-B7j1Bbjq.js +++ /dev/null @@ -1,5 +0,0 @@ -(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))i(r);new MutationObserver(r=>{for(const a of r)if(a.type==="childList")for(const s of a.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&i(s)}).observe(document,{childList:!0,subtree:!0});function n(r){const a={};return r.integrity&&(a.integrity=r.integrity),r.referrerPolicy&&(a.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?a.credentials="include":r.crossOrigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function i(r){if(r.ep)return;r.ep=!0;const a=n(r);fetch(r.href,a)}})();const pr=!1;var Kt=Array.isArray,Rn=Array.from,wr=Object.defineProperty,$e=Object.getOwnPropertyDescriptor,Ei=Object.getOwnPropertyDescriptors,yr=Object.prototype,xr=Array.prototype,Dn=Object.getPrototypeOf;function Lt(t){return typeof t=="function"}const at=()=>{};function kr(t){return t()}function Gt(t){for(var e=0;e=g.v&&J(g,y+1)}ii(s)}return!0},ownKeys(f){k(s);var d=Reflect.ownKeys(f).filter(u=>{var h=r.get(u);return h===void 0||h.v!==Ee});for(var[l,o]of r)o.v!==Ee&&!(l in f)&&d.push(l);return d},setPrototypeOf(){Ar()}})}function ii(t,e=1){J(t,t.v+e)}var ri,Di,Mi;function Br(){if(ri===void 0){ri=window;var t=Element.prototype,e=Node.prototype;Di=$e(e,"firstChild").get,Mi=$e(e,"nextSibling").get,t.__click=void 0,t.__className="",t.__attributes=null,t.__styles=null,t.__e=void 0,Text.prototype.__t=void 0}}function Wn(t=""){return document.createTextNode(t)}function kt(t){return Di.call(t)}function ln(t){return Mi.call(t)}function L(t,e){return kt(t)}function ce(t,e){{var n=kt(t);return n instanceof Comment&&n.data===""?ln(n):n}}function A(t,e=1,n=!1){let i=t;for(;e--;)i=ln(i);return i}function Jr(t){t.textContent=""}function $t(t){var e=Ze|lt;X===null?e|=mt:X.f|=Oi;var n=te!==null&&te.f&Ze?te:null;const i={children:null,ctx:H,deps:null,equals:Ci,f:e,fn:t,reactions:null,v:null,version:0,parent:n??X};return n!==null&&(n.children??(n.children=[])).push(i),i}function At(t){const e=$t(t);return e.equals=Zn,e}function Zi(t){var e=t.children;if(e!==null){t.children=null;for(var n=0;nnew Promise(i=>{n.outro?Dt(e,()=>{ct(e),i(void 0)}):(ct(e),i(void 0))})}function Fn(t){return Pt(Pi,t,!1)}function ne(t,e){var n=H,i={effect:null,ran:!1};n.l.r1.push(i),i.effect=Ot(()=>{t(),!i.ran&&(i.ran=!0,J(n.l.r2,!0),ut(e))})}function Ne(){var t=H;Ot(()=>{if(k(t.l.r2)){for(var e of t.l.r1){var n=e.effect;n.f&Ie&&Ke(n,St),zt(n)&&Vt(n),e.ran=!1}t.l.r2.v=!1}})}function Ot(t){return Pt(Ft,t,!0)}function Z(t){return un(t)}function un(t,e=0){return Pt(Ft|Mn|e,t,!0)}function It(t,e=!0){return Pt(Ft|We,t,!0,e)}function Ui(t){var e=t.teardown;if(e!==null){const n=Xn,i=te;oi(!0),qe(null);try{e.call(null)}finally{oi(n),qe(i)}}}function Vi(t){var e=t.deriveds;if(e!==null){t.deriveds=null;for(var n=0;n{ct(t),e&&e()})}function Hi(t,e){var n=t.length;if(n>0){var i=()=>--n||e();for(var r of t)r.out(i)}else e()}function Un(t,e,n){if(!(t.f&Ye)){if(t.f^=Ye,t.transitions!==null)for(const s of t.transitions)(s.is_global||n)&&e.push(s);for(var i=t.first;i!==null;){var r=i.next,a=(i.f&on)!==0||(i.f&We)!==0;Un(i,e,a?n:!1),i=r}}}function en(t){qi(t,!0)}function qi(t,e){if(t.f&Ye){zt(t)&&Vt(t),t.f^=Ye;for(var n=t.first;n!==null;){var i=n.next,r=(n.f&on)!==0||(n.f&We)!==0;qi(n,r?e:!1),n=i}if(t.transitions!==null)for(const a of t.transitions)(a.is_global||e)&&a.in()}}let En=!1,Pn=[];function na(){En=!1;const t=Pn.slice();Pn=[],Gt(t)}function Vn(t){En||(En=!0,queueMicrotask(na)),Pn.push(t)}function dn(t){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}let Bt=!1,tn=!1,nn=null,xt=!1,Xn=!1;function ai(t){xt=t}function oi(t){Xn=t}let On=[],Rt=0;let te=null;function qe(t){te=t}let X=null;function je(t){X=t}let He=null;function ia(t){He=t}let ge=null,Pe=0,st=null;function ra(t){st=t}let Bi=1,vt=!1,H=null;function Ji(){return++Bi}function fn(){return!Et||H!==null&&H.l===null}function zt(t){var s,c;var e=t.f;if(e<)return!0;if(e&St){var n=t.deps,i=(e&mt)!==0;if(n!==null){var r;if(e&Qt){for(r=0;rt.version)return!0}}(!i||X!==null&&!vt)&&Ke(t,Ie)}return!1}function aa(t,e){for(var n=e;n!==null;){if(n.f&Sn)try{n.fn(t);return}catch{n.f^=Sn}n=n.parent}throw Bt=!1,t}function oa(t){return(t.f&Tt)===0&&(t.parent===null||(t.parent.f&Sn)===0)}function hn(t,e,n,i){if(Bt){if(n===null&&(Bt=!1),oa(e))throw t;return}n!==null&&(Bt=!0);{aa(t,e);return}}function Gi(t){var u;var e=ge,n=Pe,i=st,r=te,a=vt,s=He,c=H,f=t.f;ge=null,Pe=0,st=null,te=f&(We|Ut)?null:t,vt=!xt&&(f&mt)!==0,He=null,H=t.ctx;try{var d=(0,t.fn)(),l=t.deps;if(ge!==null){var o;if(Mt(t,Pe),l!==null&&Pe>0)for(l.length=Pe+ge.length,o=0;o1e3){Rt=0;try{Cr()}catch(t){if(nn!==null)hn(t,nn,null);else throw t}}Rt++}function ca(t){var e=t.length;if(e!==0){la();var n=xt;xt=!0;try{for(var i=0;i1001)return;const t=On;On=[],ca(t),tn||(Rt=0,nn=null)}function vn(t){tn||(tn=!0,queueMicrotask(da)),nn=t;for(var e=t;e.parent!==null;){e=e.parent;var n=e.f;if(n&(Ut|We)){if(!(n&Ie))return;e.f^=Ie}}On.push(e)}function Qi(t,e){var n=t.first,i=[];e:for(;n!==null;){var r=n.f,a=(r&We)!==0,s=a&&(r&Ie)!==0,c=n.next;if(!s&&!(r&Ye))if(r&Ft){if(a)n.f^=Ie;else try{zt(n)&&Vt(n)}catch(o){hn(o,n,null,n.ctx)}var f=n.first;if(f!==null){n=f;continue}}else r&Pi&&i.push(n);if(c===null){let o=n.parent;for(;o!==null;){if(t===o)break e;var d=o.next;if(d!==null){n=d;continue e}o=o.parent}}n=c}for(var l=0;l{document.activeElement===n&&t.focus()})}}let li=!1;function ka(){li||(li=!0,document.addEventListener("reset",t=>{Promise.resolve().then(()=>{var e;if(!t.defaultPrevented)for(const n of t.target.elements)(e=n.__on_r)==null||e.call(n)})},{capture:!0}))}function er(t){var e=te,n=X;qe(null),je(null);try{return t()}finally{qe(e),je(n)}}function Ia(t,e,n,i=n){t.addEventListener(e,()=>er(n));const r=t.__on_r;r?t.__on_r=()=>{r(),i(!0)}:t.__on_r=()=>i(!0),ka()}const tr=new Set,Cn=new Set;function nr(t,e,n,i){function r(a){if(i.capture||Nt.call(e,a),!a.cancelBubble)return er(()=>n.call(this,a))}return t.startsWith("pointer")||t.startsWith("touch")||t==="wheel"?Vn(()=>{e.addEventListener(t,r,i)}):e.addEventListener(t,r,i),r}function z(t,e,n,i,r){var a={capture:i,passive:r},s=nr(t,e,n,a);(e===document.body||e===window||e===document)&&cn(()=>{e.removeEventListener(t,s,a)})}function Sa(t){for(var e=0;e{throw _});throw u}}finally{t.__root=e,delete t.currentTarget,qe(l),je(o)}}}function ir(t){var e=document.createElement("template");return e.innerHTML=t,e.content}function Zt(t,e){var n=X;n.nodes_start===null&&(n.nodes_start=t,n.nodes_end=e)}function U(t,e){var n=(e&Yr)!==0,i=(e&Hr)!==0,r,a=!t.startsWith("");return()=>{r===void 0&&(r=ir(a?t:""+t),n||(r=kt(r)));var s=i?document.importNode(r,!0):r.cloneNode(!0);if(n){var c=kt(s),f=s.lastChild;Zt(c,f)}else Zt(s,s);return s}}function Ta(t,e){var n=U(t,e);return()=>Ea(n())}function Xt(t,e,n="svg"){var i=!t.startsWith(""),r=`<${n}>${i?t:""+t}`,a;return()=>{if(!a){var s=ir(r),c=kt(s);a=kt(c)}var f=a.cloneNode(!0);return Zt(f,f),f}}function Ea(t){const e=t.nodeType===11,n=t.tagName==="SCRIPT"?[t]:t.querySelectorAll("script"),i=X;for(const a of n){const s=document.createElement("script");for(var r of a.attributes)s.setAttribute(r.name,r.value);s.textContent=a.textContent,(e?t.firstChild===a:t===a)&&(i.nodes_start=s),(e?t.lastChild===a:t===a)&&(i.nodes_end=s),a.replaceWith(s)}return t}function Me(t=""){{var e=Wn(t+"");return Zt(e,e),e}}function ve(){var t=document.createDocumentFragment(),e=document.createComment(""),n=Wn();return t.append(e,n),Zt(e,n),t}function E(t,e){t!==null&&t.before(e)}function ae(t,e){var n=e==null?"":typeof e=="object"?e+"":e;n!==(t.__t??(t.__t=t.nodeValue))&&(t.__t=n,t.nodeValue=n==null?"":n+"")}function Pa(t,e){return Oa(t,e)}const gt=new Map;function Oa(t,{target:e,anchor:n,props:i={},events:r,context:a,intro:s=!0}){Br();var c=new Set,f=o=>{for(var u=0;u{var o=n??e.appendChild(Wn());return It(()=>{if(a){_e({});var u=H;u.c=a}r&&(i.$$events=r),d=t(o,i)||{},a&&me()}),()=>{var v;for(var u of c){e.removeEventListener(u,Nt);var h=gt.get(u);--h===0?(document.removeEventListener(u,Nt),gt.delete(u)):gt.set(u,h)}Cn.delete(f),o!==n&&((v=o.parentNode)==null||v.removeChild(o))}});return za.set(d,l),d}let za=new WeakMap;function W(t,e,n=!1){var i=t,r=null,a=null,s=Ee,c=n?on:0,f=!1;const d=(o,u=!0)=>{f=!0,l(u,o)},l=(o,u)=>{s!==(s=o)&&(s?(r?en(r):u&&(r=It(()=>u(i))),a&&Dt(a,()=>{a=null})):(a?en(a):u&&(a=It(()=>u(i))),r&&Dt(r,()=>{r=null})))};un(()=>{f=!1,e(d),f||l(null,null)},c)}function Ca(t,e,n,i){for(var r=[],a=e.length,s=0;s0&&r.length===0&&n!==null;if(c){var f=n.parentNode;Jr(f),f.append(n),i.clear(),it(t,e[0].prev,e[a-1].next)}Hi(r,()=>{for(var d=0;d{var l=n(),o=Kt(l)?l:l==null?[]:Rn(l),u=o.length;if(!(d&&u===0)){d=u===0;{var h=te;ja(o,c,s,r,e,(h.f&Ye)!==0,i)}a!==null&&(u===0?f?en(f):f=It(()=>a(s)):f!==null&&Dt(f,()=>{f=null})),n()}})}function ja(t,e,n,i,r,a,s,c){var f=t.length,d=e.items,l=e.first,o=l,u,h=null,v=[],m=[],x,g,y,_;for(_=0;_0){var Y=null;Ca(e,C,Y,d)}}X.first=e.first&&e.first.e,X.last=h&&h.e}function Na(t,e,n,i){Ni(t.v,e),t.i=n}function Aa(t,e,n,i,r,a,s,c,f,d){var l=(f&Zr)!==0,o=(f&Kr)===0,u=l?o?sn(r):Oe(r):r,h=f&Wr?Oe(s):s,v={i:h,v:u,k:a,a:null,e:null,prev:n,next:i};try{return v.e=It(()=>c(t,u,h),Ri),v.e.prev=n&&n.e,v.e.next=i&&i.e,n===null?e.first=v:(n.next=v,n.e.next=v.e),i!==null&&(i.prev=v,i.e.prev=v.e),v}finally{}}function ci(t,e,n){for(var i=t.next?t.next.e.nodes_start:n,r=e?e.e.nodes_start:n,a=t.e.nodes_start;a!==i;){var s=ln(a);r.before(a),a=s}}function it(t,e,n){e===null?t.first=n:(e.next=n,e.e.next=n&&n.e),n!==null&&(n.prev=e,n.e.prev=e&&e.e)}function he(t,e,n,i,r){var c;var a=(c=e.$$slots)==null?void 0:c[n],s=!1;a===!0&&(a=e[n==="default"?"children":n],s=!0),a===void 0?r!==null&&r(t):a(t,s?()=>i:i)}function Yn(t){const e={};t.children&&(e.default=!0);for(const n in t.$$slots)e[n]=!0;return e}function an(t,e,n){var i=t,r,a;un(()=>{r!==(r=e())&&(a&&(Dt(a),a=null),r&&(a=It(()=>n(i,r))))},on)}function rr(t){var e,n,i="";if(typeof t=="string"||typeof t=="number")i+=t;else if(typeof t=="object")if(Array.isArray(t)){var r=t.length;for(e=0;e{var a=r?t.defaultValue:t.value;if(a=gn(t)?pn(a):a,n(a),i&&a!==(a=e())){var s=t.selectionStart,c=t.selectionEnd;t.value=a??"",c!==null&&(t.selectionStart=s,t.selectionEnd=Math.min(c,t.value.length))}}),ut(e)==null&&t.value&&n(gn(t)?pn(t.value):t.value),Ot(()=>{var r=e();gn(t)&&r===pn(t.value)||t.type==="date"&&!r&&!t.value||r!==t.value&&(t.value=r??"")})}function gn(t){var e=t.type;return e==="number"||e==="range"}function pn(t){return t===""?null:+t}function di(t,e,n){var i=$e(t,e);i&&i.set&&(t[e]=n,cn(()=>{t[e]=null}))}function fi(t,e){return t===e||(t==null?void 0:t[ot])===e}function et(t={},e,n,i){return Fn(()=>{var r,a;return Ot(()=>{r=a,a=[],ut(()=>{t!==n(...a)&&(e(t,...a),r&&fi(n(...r),t)&&e(null,...r))})}),()=>{Vn(()=>{a&&fi(n(...a),t)&&e(null,...a)})}}),t}function Ka(t,e,n,i,r){var a=()=>{i(n[t])};n.addEventListener(e,a),r?Ot(()=>{n[t]=r()}):a(),(n===document.body||n===window||n===document)&&cn(()=>{n.removeEventListener(e,a)})}function ye(t=!1){const e=H,n=e.l.u;if(!n)return;let i=()=>M(e.s);if(t){let r=0,a={};const s=$t(()=>{let c=!1;const f=e.s;for(const d in f)f[d]!==a[d]&&(a[d]=f[d],c=!0);return c&&r++,r});i=()=>k(s)}n.b.length&&$r(()=>{hi(e,i),Gt(n.b)}),Tn(()=>{const r=ut(()=>n.m.map(kr));return()=>{for(const a of r)typeof a=="function"&&a()}}),n.a.length&&Tn(()=>{hi(e,i),Gt(n.a)})}function hi(t,e){if(t.l.s)for(const n of t.l.s)k(n);e()}function T(t,e){var a;var n=(a=t.$$events)==null?void 0:a[e.type],i=Kt(n)?n.slice():n==null?[]:[n];for(var r of i)r.call(this,e)}function lr(t,e,n){if(t==null)return e(void 0),n&&n(void 0),at;const i=ut(()=>t.subscribe(e,n));return i.unsubscribe?()=>i.unsubscribe():i}let Yt=!1;function Ht(t,e,n){const i=n[e]??(n[e]={store:null,source:sn(void 0),unsubscribe:at});if(i.store!==t)if(i.unsubscribe(),i.store=t??null,t==null)i.source.v=void 0,i.unsubscribe=at;else{var r=!0;i.unsubscribe=lr(t,a=>{r?i.source.v=a:J(i.source,a)}),r=!1}return k(i.source)}function Fa(){const t={};return cn(()=>{for(var e in t)t[e].unsubscribe()}),t}function Ua(t){var e=Yt;try{return Yt=!1,[t(),Yt]}finally{Yt=e}}const Va={get(t,e){if(!t.exclude.includes(e))return k(t.version),e in t.special?t.special[e]():t.props[e]},set(t,e,n){return e in t.special||(t.special[e]=p({get[e](){return t.props[e]}},e,ji)),t.special[e](n),si(t.version),!0},getOwnPropertyDescriptor(t,e){if(!t.exclude.includes(e)&&e in t.props)return{enumerable:!0,configurable:!0,value:t.props[e]}},deleteProperty(t,e){return t.exclude.includes(e)||(t.exclude.push(e),si(t.version)),!0},has(t,e){return t.exclude.includes(e)?!1:e in t.props},ownKeys(t){return Reflect.ownKeys(t.props).filter(e=>!t.exclude.includes(e))}};function oe(t,e){return new Proxy({props:t,exclude:e,special:{},version:Oe(0)},Va)}const Xa={get(t,e){let n=t.props.length;for(;n--;){let i=t.props[n];if(Lt(i)&&(i=i()),typeof i=="object"&&i!==null&&e in i)return i[e]}},set(t,e,n){let i=t.props.length;for(;i--;){let r=t.props[i];Lt(r)&&(r=r());const a=$e(r,e);if(a&&a.set)return a.set(n),!0}return!1},getOwnPropertyDescriptor(t,e){let n=t.props.length;for(;n--;){let i=t.props[n];if(Lt(i)&&(i=i()),typeof i=="object"&&i!==null&&e in i){const r=$e(i,e);return r&&!r.configurable&&(r.configurable=!0),r}}},has(t,e){if(e===ot||e===zi)return!1;for(let n of t.props)if(Lt(n)&&(n=n()),n!=null&&e in n)return!0;return!1},ownKeys(t){const e=[];for(let n of t.props){Lt(n)&&(n=n());for(const i in n)e.includes(i)||e.push(i)}return e}};function rt(...t){return new Proxy({props:t},Xa)}function vi(t){for(var e=X,n=X;e!==null&&!(e.f&(We|Ut));)e=e.parent;try{return je(e),t()}finally{je(n)}}function p(t,e,n,i){var F;var r=(n&Fr)!==0,a=!Et||(n&Ur)!==0,s=(n&Vr)!==0,c=(n&Xr)!==0,f=!1,d;s?[d,f]=Ua(()=>t[e]):d=t[e];var l=ot in t||zi in t,o=((F=$e(t,e))==null?void 0:F.set)??(l&&s&&e in t?N=>t[e]=N:void 0),u=i,h=!0,v=!1,m=()=>(v=!0,h&&(h=!1,c?u=ut(i):u=i),u);d===void 0&&i!==void 0&&(o&&a&&jr(),d=m(),o&&o(d));var x;if(a)x=()=>{var N=t[e];return N===void 0?m():(h=!0,v=!1,N)};else{var g=vi(()=>(r?$t:At)(()=>t[e]));g.f|=Sr,x=()=>{var N=k(g);return N!==void 0&&(u=void 0),N===void 0?u:N}}if(!(n&ji))return x;if(o){var y=t.$$legacy;return function(N,C){return arguments.length>0?((!a||!C||y||f)&&o(C?x():N),N):x()}}var _=!1,w=!1,P=sn(d),I=vi(()=>$t(()=>{var N=x(),C=k(P);return _?(_=!1,w=!0,C):(w=!1,P.v=N)}));return r||(I.equals=Zn),function(N,C){if(arguments.length>0){const R=C?k(I):a&&s?wt(N):N;return I.equals(R)||(_=!0,J(P,R),v&&u!==void 0&&(u=R),ut(()=>k(I))),N}return k(I)}}function qn(t){H===null&&dn(),Et&&H.l!==null?ur(H).m.push(t):Tn(()=>{const e=ut(t);if(typeof e=="function")return e})}function Ya(t,e,{bubbles:n=!1,cancelable:i=!1}={}){return new CustomEvent(t,{detail:e,bubbles:n,cancelable:i})}function Ct(){const t=H;return t===null&&dn(),(e,n,i)=>{var a;const r=(a=t.s.$$events)==null?void 0:a[e];if(r){const s=Kt(r)?r.slice():[r],c=Ya(e,n,i);for(const f of s)f.call(t.x,c);return!c.defaultPrevented}return!0}}function cr(t){H===null&&dn(),H.l===null&&Lr(),ur(H).a.push(t)}function ur(t){var e=t.l;return e.u??(e.u={a:[],b:[],m:[]})}const Ha="5";typeof window<"u"&&(window.__svelte||(window.__svelte={v:new Set})).v.add(Ha);Mr();const pt=[];function qa(t,e){return{subscribe:Qe(t,e).subscribe}}function Qe(t,e=at){let n=null;const i=new Set;function r(c){if(Li(t,c)&&(t=c,n)){const f=!pt.length;for(const d of i)d[1](),pt.push(d,t);if(f){for(let d=0;d{i.delete(d),i.size===0&&n&&(n(),n=null)}}return{set:r,update:a,subscribe:s}}function Ba(t,e,n){const i=!Array.isArray(t),r=i?[t]:t;if(!r.every(Boolean))throw new Error("derived() expects stores as input, got a falsy value");const a=e.length<2;return qa(n,(s,c)=>{let f=!1;const d=[];let l=0,o=at;const u=()=>{if(l)return;o();const v=e(i?d[0]:d,s,c);a?s(v):o=typeof v=="function"?v:at},h=r.map((v,m)=>lr(v,x=>{d[m]=x,l&=~(1<{l|=1<"),Ga=U(" "),Qa=U("
"),$a=U(" ");function wn(t,e){const n=Yn(e),i=oe(e,["children","$$slots","$$events","$$legacy"]),r=oe(i,["size","href","inline","icon","disabled","visited","ref"]);_e(e,!1);let a=p(e,"size",8,void 0),s=p(e,"href",8,void 0),c=p(e,"inline",8,!1),f=p(e,"icon",8,void 0),d=p(e,"disabled",8,!1),l=p(e,"visited",8,!1),o=p(e,"ref",12,null);ye();var u=ve(),h=ce(u);{var v=x=>{var g=Ga();let y;var _=L(g);he(_,e,"default",{},null);var w=A(_,2);{var P=I=>{var F=Ja();b(F,"bx--link__icon",!0);var N=L(F);he(N,e,"icon",{},C=>{var R=ve(),Y=ce(R);an(Y,f,(se,q)=>{q(se,{})}),E(C,R)}),E(I,F)};W(w,I=>{!c()&&(n.icon||f())&&I(P)})}et(g,I=>o(I),()=>o()),Z(()=>{y=we(g,y,{role:"link","aria-disabled":"true",...r}),b(g,"bx--link",!0),b(g,"bx--link--disabled",d()),b(g,"bx--link--inline",c()),b(g,"bx--link--visited",l())}),z("click",g,function(I){T.call(this,e,I)}),z("mouseover",g,function(I){T.call(this,e,I)}),z("mouseenter",g,function(I){T.call(this,e,I)}),z("mouseleave",g,function(I){T.call(this,e,I)}),E(x,g)},m=x=>{var g=$a();let y;var _=L(g);he(_,e,"default",{},null);var w=A(_,2);{var P=I=>{var F=Qa();b(F,"bx--link__icon",!0);var N=L(F);he(N,e,"icon",{},C=>{var R=ve(),Y=ce(R);an(Y,f,(se,q)=>{q(se,{})}),E(C,R)}),E(I,F)};W(w,I=>{!c()&&(n.icon||f())&&I(P)})}et(g,I=>o(I),()=>o()),Z(()=>{y=we(g,y,{rel:r.target==="_blank"?"noopener noreferrer":void 0,href:s(),...r}),b(g,"bx--link",!0),b(g,"bx--link--disabled",d()),b(g,"bx--link--inline",c()),b(g,"bx--link--visited",l()),b(g,"bx--link--sm",a()==="sm"),b(g,"bx--link--lg",a()==="lg")}),z("click",g,function(I){T.call(this,e,I)}),z("mouseover",g,function(I){T.call(this,e,I)}),z("mouseenter",g,function(I){T.call(this,e,I)}),z("mouseleave",g,function(I){T.call(this,e,I)}),E(x,g)};W(h,x=>{d()?x(v):x(m,!1)})}E(t,u),me()}var eo=U(""),to=U("
");function no(t,e){const n=oe(e,["children","$$slots","$$events","$$legacy"]),i=oe(n,["href","size"]);_e(e,!1);let r=p(e,"href",8,void 0),a=p(e,"size",8,"default");ye();var s=ve(),c=ce(s);{var f=l=>{var o=eo();let u;o.textContent="",Z(()=>{u=we(o,u,{href:r(),rel:i.target==="_blank"?"noopener noreferrer":void 0,role:"button",...i}),b(o,"bx--skeleton",!0),b(o,"bx--btn",!0),b(o,"bx--btn--field",a()==="field"),b(o,"bx--btn--sm",a()==="small"),b(o,"bx--btn--lg",a()==="lg"),b(o,"bx--btn--xl",a()==="xl")}),z("click",o,function(h){T.call(this,e,h)}),z("focus",o,function(h){T.call(this,e,h)}),z("blur",o,function(h){T.call(this,e,h)}),z("mouseover",o,function(h){T.call(this,e,h)}),z("mouseenter",o,function(h){T.call(this,e,h)}),z("mouseleave",o,function(h){T.call(this,e,h)}),E(l,o)},d=l=>{var o=to();let u;Z(()=>{u=we(o,u,{...i}),b(o,"bx--skeleton",!0),b(o,"bx--btn",!0),b(o,"bx--btn--field",a()==="field"),b(o,"bx--btn--sm",a()==="small"),b(o,"bx--btn--lg",a()==="lg"),b(o,"bx--btn--xl",a()==="xl")}),z("click",o,function(h){T.call(this,e,h)}),z("focus",o,function(h){T.call(this,e,h)}),z("blur",o,function(h){T.call(this,e,h)}),z("mouseover",o,function(h){T.call(this,e,h)}),z("mouseenter",o,function(h){T.call(this,e,h)}),z("mouseleave",o,function(h){T.call(this,e,h)}),E(l,o)};W(c,l=>{r()?l(f):l(d,!1)})}E(t,s),me()}var io=U(" "),ro=U(" "),ao=U(" "),oo=U("");function so(t,e){const n=Yn(e),i=oe(e,["children","$$slots","$$events","$$legacy"]),r=oe(i,["kind","size","expressive","isSelected","icon","iconDescription","tooltipAlignment","tooltipPosition","as","skeleton","disabled","href","tabindex","type","ref"]);_e(e,!1);const a=le(),s=le(),c=le();let f=p(e,"kind",8,"primary"),d=p(e,"size",8,"default"),l=p(e,"expressive",8,!1),o=p(e,"isSelected",8,!1),u=p(e,"icon",8,void 0),h=p(e,"iconDescription",8,void 0),v=p(e,"tooltipAlignment",8,"center"),m=p(e,"tooltipPosition",8,"bottom"),x=p(e,"as",8,!1),g=p(e,"skeleton",8,!1),y=p(e,"disabled",8,!1),_=p(e,"href",8,void 0),w=p(e,"tabindex",8,"0"),P=p(e,"type",8,"button"),I=p(e,"ref",12,null);const F=rn("ComposedModal");ne(()=>M(I()),()=>{F&&I()&&F.declareRef(I())}),ne(()=>M(u()),()=>{J(a,(u()||n.icon)&&!n.default)}),ne(()=>M(h()),()=>{J(s,{"aria-hidden":"true",class:"bx--btn__icon","aria-label":h()})}),ne(()=>(M(_()),M(y()),M(P()),M(w()),k(a),M(f()),M(o()),M(r),M(l()),M(d()),M(m()),M(v())),()=>{J(c,{type:_()&&!y()?void 0:P(),tabindex:w(),disabled:y()===!0?!0:void 0,href:_(),"aria-pressed":k(a)&&f()==="ghost"&&!_()?o():void 0,...r,class:["bx--btn",l()&&"bx--btn--expressive",(d()==="small"&&!l()||d()==="sm"&&!l()||d()==="small"&&!l())&&"bx--btn--sm",d()==="field"&&!l()||d()==="md"&&!l()&&"bx--btn--md",d()==="field"&&"bx--btn--field",d()==="small"&&"bx--btn--sm",d()==="lg"&&"bx--btn--lg",d()==="xl"&&"bx--btn--xl",f()&&`bx--btn--${f()}`,y()&&"bx--btn--disabled",k(a)&&"bx--btn--icon-only",k(a)&&"bx--tooltip__trigger",k(a)&&"bx--tooltip--a11y",k(a)&&m()&&`bx--btn--icon-only--${m()}`,k(a)&&v()&&`bx--tooltip--align-${v()}`,k(a)&&o()&&f()==="ghost"&&"bx--btn--selected",r.class].filter(Boolean).join(" ")})}),Ne(),ye();var N=ve(),C=ce(N);{var R=se=>{var q=At(()=>k(a)&&"width: 3rem;");no(se,rt({get href(){return _()},get size(){return d()}},()=>r,{get style(){return k(q)},$$events:{click(ie){T.call(this,e,ie)},focus(ie){T.call(this,e,ie)},blur(ie){T.call(this,e,ie)},mouseover(ie){T.call(this,e,ie)},mouseenter(ie){T.call(this,e,ie)},mouseleave(ie){T.call(this,e,ie)}}}))},Y=se=>{var q=ve(),ie=ce(q);{var Ae=K=>{var be=ve(),tt=ce(be);he(tt,e,"default",{get props(){return k(c)}},null),E(K,be)},Se=K=>{var be=ve(),tt=ce(be);{var ze=Ce=>{var G=ro();let Fe;var Be=L(G);{var dt=O=>{var re=io();b(re,"bx--assistive-text",!0);var fe=L(re);Z(()=>ae(fe,h())),E(O,re)};W(Be,O=>{k(a)&&O(dt)})}var V=A(Be,2);he(V,e,"default",{},null);var $=A(V,2);{var de=O=>{var re=ve(),fe=ce(re);he(fe,e,"icon",rt({get style(){return k(a)?"margin-left: 0":void 0}},()=>k(s)),null),E(O,re)},Q=O=>{var re=ve(),fe=ce(re);{var Je=Te=>{var Re=ve(),De=ce(Re),Ge=At(()=>k(a)?"margin-left: 0":void 0);an(De,u,(Ue,ee)=>{ee(Ue,rt({get style(){return k(Ge)}},()=>k(s)))}),E(Te,Re)};W(fe,Te=>{u()&&Te(Je)},!0)}E(O,re)};W($,O=>{n.icon?O(de):O(Q,!1)})}et(G,O=>I(O),()=>I()),Z(()=>Fe=we(G,Fe,{...k(c)})),z("click",G,function(O){T.call(this,e,O)}),z("focus",G,function(O){T.call(this,e,O)}),z("blur",G,function(O){T.call(this,e,O)}),z("mouseover",G,function(O){T.call(this,e,O)}),z("mouseenter",G,function(O){T.call(this,e,O)}),z("mouseleave",G,function(O){T.call(this,e,O)}),E(Ce,G)},bt=Ce=>{var G=oo();let Fe;var Be=L(G);{var dt=O=>{var re=ao();b(re,"bx--assistive-text",!0);var fe=L(re);Z(()=>ae(fe,h())),E(O,re)};W(Be,O=>{k(a)&&O(dt)})}var V=A(Be,2);he(V,e,"default",{},null);var $=A(V,2);{var de=O=>{var re=ve(),fe=ce(re);he(fe,e,"icon",rt({get style(){return k(a)?"margin-left: 0":void 0}},()=>k(s)),null),E(O,re)},Q=O=>{var re=ve(),fe=ce(re);{var Je=Te=>{var Re=ve(),De=ce(Re),Ge=At(()=>k(a)?"margin-left: 0":void 0);an(De,u,(Ue,ee)=>{ee(Ue,rt({get style(){return k(Ge)}},()=>k(s)))}),E(Te,Re)};W(fe,Te=>{u()&&Te(Je)},!0)}E(O,re)};W($,O=>{n.icon?O(de):O(Q,!1)})}et(G,O=>I(O),()=>I()),Z(()=>Fe=we(G,Fe,{...k(c)})),z("click",G,function(O){T.call(this,e,O)}),z("focus",G,function(O){T.call(this,e,O)}),z("blur",G,function(O){T.call(this,e,O)}),z("mouseover",G,function(O){T.call(this,e,O)}),z("mouseenter",G,function(O){T.call(this,e,O)}),z("mouseleave",G,function(O){T.call(this,e,O)}),E(Ce,G)};W(tt,Ce=>{_()&&!y()?Ce(ze):Ce(bt,!1)},!0)}E(K,be)};W(ie,K=>{x()?K(Ae):K(Se,!1)},!0)}E(se,q)};W(C,se=>{g()?se(R):se(Y,!1)})}E(t,N),me()}var lo=U("
");function co(t,e){const n=oe(e,["children","$$slots","$$events","$$legacy"]),i=oe(n,[]);var r=lo();let a;var s=L(r);b(s,"bx--checkbox-label-text",!0),b(s,"bx--skeleton",!0),Z(()=>{a=we(r,a,{...i}),b(r,"bx--form-item",!0),b(r,"bx--checkbox-wrapper",!0),b(r,"bx--checkbox-label",!0)}),z("click",r,function(c){T.call(this,e,c)}),z("mouseover",r,function(c){T.call(this,e,c)}),z("mouseenter",r,function(c){T.call(this,e,c)}),z("mouseleave",r,function(c){T.call(this,e,c)}),E(t,r)}var uo=U('
');function fo(t,e){const n=oe(e,["children","$$slots","$$events","$$legacy"]),i=oe(n,["value","checked","group","indeterminate","skeleton","required","readonly","disabled","labelText","hideLabel","name","title","id","ref"]);_e(e,!1);const r=le(),a=le();let s=p(e,"value",8,""),c=p(e,"checked",12,!1),f=p(e,"group",12,void 0),d=p(e,"indeterminate",12,!1),l=p(e,"skeleton",8,!1),o=p(e,"required",8,!1),u=p(e,"readonly",8,!1),h=p(e,"disabled",8,!1),v=p(e,"labelText",8,""),m=p(e,"hideLabel",8,!1),x=p(e,"name",8,""),g=p(e,"title",12,void 0),y=p(e,"id",24,()=>"ccs-"+Math.random().toString(36)),_=p(e,"ref",12,null);const w=Ct();let P=le(null);ne(()=>M(f()),()=>{J(r,Array.isArray(f()))}),ne(()=>(M(c()),k(r),M(f()),M(s())),()=>{c(k(r)?f().includes(s()):c())}),ne(()=>M(c()),()=>{w("check",c())}),ne(()=>k(P),()=>{var R,Y;J(a,((R=k(P))==null?void 0:R.offsetWidth)<((Y=k(P))==null?void 0:Y.scrollWidth))}),ne(()=>(M(g()),k(a),k(P)),()=>{var R;g(!g()&&k(a)?(R=k(P))==null?void 0:R.innerText:g())}),Ne(),ye();var I=ve(),F=ce(I);{var N=R=>{co(R,rt(()=>i,{$$events:{click(Y){T.call(this,e,Y)},mouseover(Y){T.call(this,e,Y)},mouseenter(Y){T.call(this,e,Y)},mouseleave(Y){T.call(this,e,Y)}}}))},C=R=>{var Y=uo();let se;var q=L(Y);et(q,K=>_(K),()=>_());var ie=A(q,2),Ae=L(ie);b(Ae,"bx--checkbox-label-text",!0);var Se=L(Ae);he(Se,e,"labelText",{},K=>{var be=Me();Z(()=>ae(be,v())),E(K,be)}),et(Ae,K=>J(P,K),()=>k(P)),Z(()=>{se=we(Y,se,{...i}),b(Y,"bx--form-item",!0),b(Y,"bx--checkbox-wrapper",!0),Da(q,s()),or(q,c()),q.disabled=h(),B(q,"id",y()),B(q,"name",x()),q.required=o(),q.readOnly=u(),b(q,"bx--checkbox",!0),B(ie,"for",y()),B(ie,"title",g()),b(ie,"bx--checkbox-label",!0),b(Ae,"bx--visually-hidden",m())}),Ka("indeterminate","change",q,d,d),z("change",q,()=>{k(r)?f(f().includes(s())?f().filter(K=>K!==s()):[...f(),s()]):c(!c())}),z("change",q,function(K){T.call(this,e,K)}),z("focus",q,function(K){T.call(this,e,K)}),z("blur",q,function(K){T.call(this,e,K)}),z("click",Y,function(K){T.call(this,e,K)}),z("mouseover",Y,function(K){T.call(this,e,K)}),z("mouseenter",Y,function(K){T.call(this,e,K)}),z("mouseleave",Y,function(K){T.call(this,e,K)}),E(R,Y)};W(F,R=>{l()?R(N):R(C,!1)})}E(t,I),me()}var ho=U(" "),vo=Xt('');function jn(t,e){const n=oe(e,["children","$$slots","$$events","$$legacy"]),i=oe(n,["size","title"]);_e(e,!1);const r=le(),a=le();let s=p(e,"size",8,16),c=p(e,"title",8,void 0);ne(()=>(M(n),M(c())),()=>{J(r,n["aria-label"]||n["aria-labelledby"]||c())}),ne(()=>(k(r),M(n)),()=>{J(a,{"aria-hidden":k(r)?void 0:!0,role:k(r)?"img":void 0,focusable:Number(n.tabindex)===0?!0:void 0})}),Ne(),ye();var f=vo();let d;var l=L(f);{var o=u=>{var h=ho(),v=L(h);Z(()=>ae(v,c())),E(u,h)};W(l,u=>{c()&&u(o)})}Z(()=>d=we(f,d,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor",preserveAspectRatio:"xMidYMid meet",width:s(),height:s(),...k(a),...i},void 0,!0)),E(t,f),me()}var _o=U(" "),mo=Xt('');function dr(t,e){const n=oe(e,["children","$$slots","$$events","$$legacy"]),i=oe(n,["size","title"]);_e(e,!1);const r=le(),a=le();let s=p(e,"size",8,16),c=p(e,"title",8,void 0);ne(()=>(M(n),M(c())),()=>{J(r,n["aria-label"]||n["aria-labelledby"]||c())}),ne(()=>(k(r),M(n)),()=>{J(a,{"aria-hidden":k(r)?void 0:!0,role:k(r)?"img":void 0,focusable:Number(n.tabindex)===0?!0:void 0})}),Ne(),ye();var f=mo();let d;var l=L(f);{var o=u=>{var h=_o(),v=L(h);Z(()=>ae(v,c())),E(u,h)};W(l,u=>{c()&&u(o)})}Z(()=>d=we(f,d,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor",preserveAspectRatio:"xMidYMid meet",width:s(),height:s(),...k(a),...i},void 0,!0)),E(t,f),me()}var bo=U(" "),go=Xt('');function _i(t,e){const n=oe(e,["children","$$slots","$$events","$$legacy"]),i=oe(n,["size","title"]);_e(e,!1);const r=le(),a=le();let s=p(e,"size",8,16),c=p(e,"title",8,void 0);ne(()=>(M(n),M(c())),()=>{J(r,n["aria-label"]||n["aria-labelledby"]||c())}),ne(()=>(k(r),M(n)),()=>{J(a,{"aria-hidden":k(r)?void 0:!0,role:k(r)?"img":void 0,focusable:Number(n.tabindex)===0?!0:void 0})}),Ne(),ye();var f=go();let d;var l=L(f);{var o=u=>{var h=bo(),v=L(h);Z(()=>ae(v,c())),E(u,h)};W(l,u=>{c()&&u(o)})}Z(()=>d=we(f,d,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor",preserveAspectRatio:"xMidYMid meet",width:s(),height:s(),...k(a),...i},void 0,!0)),E(t,f),me()}function po(t,e){_e(e,!1);let n=p(e,"key",8,"local-storage-key"),i=p(e,"value",12,"");function r(){localStorage.removeItem(n())}function a(){localStorage.clear()}const s=Ct();let c=i();function f(){typeof i()=="object"?localStorage.setItem(n(),JSON.stringify(i())):localStorage.setItem(n(),i())}return qn(()=>{const d=localStorage.getItem(n());if(d!=null)try{i(JSON.parse(d))}catch{i(d)}else f(i()),s("save")}),cr(()=>{c!==i()&&(f(i()),s("update",{prevValue:c,value:i()})),c=i()}),ye(),di(e,"clearItem",r),di(e,"clearAll",a),me({clearItem:r,clearAll:a})}var wo=U(" "),yo=Xt('');function xo(t,e){const n=oe(e,["children","$$slots","$$events","$$legacy"]),i=oe(n,["size","title"]);_e(e,!1);const r=le(),a=le();let s=p(e,"size",8,16),c=p(e,"title",8,void 0);ne(()=>(M(n),M(c())),()=>{J(r,n["aria-label"]||n["aria-labelledby"]||c())}),ne(()=>(k(r),M(n)),()=>{J(a,{"aria-hidden":k(r)?void 0:!0,role:k(r)?"img":void 0,focusable:Number(n.tabindex)===0?!0:void 0})}),Ne(),ye();var f=yo();let d;var l=L(f);{var o=u=>{var h=wo(),v=L(h);Z(()=>ae(v,c())),E(u,h)};W(l,u=>{c()&&u(o)})}Z(()=>d=we(f,d,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor",preserveAspectRatio:"xMidYMid meet",width:s(),height:s(),...k(a),...i},void 0,!0)),E(t,f),me()}var ko=U(""),Io=U("
"),So=U("
"),To=U("
",1),Eo=U("
"),Po=U("
"),Oo=U("
"),zo=U("
",1),Co=U("
");function Lo(t,e){const n=oe(e,["children","$$slots","$$events","$$legacy"]),i=oe(n,["selected","size","inline","light","disabled","id","name","invalid","invalidText","warn","warnText","helperText","noLabel","labelText","hideLabel","ref","required"]);_e(e,!1);const r=Fa(),a=()=>Ht(ie,"$defaultValue",r),s=()=>Ht(q,"$defaultSelectId",r),c=()=>Ht(Ae,"$itemTypesByValue",r),f=()=>Ht(se,"$selectedValue",r),d=le();let l=p(e,"selected",12,void 0),o=p(e,"size",8,void 0),u=p(e,"inline",8,!1),h=p(e,"light",8,!1),v=p(e,"disabled",8,!1),m=p(e,"id",24,()=>"ccs-"+Math.random().toString(36)),x=p(e,"name",8,void 0),g=p(e,"invalid",8,!1),y=p(e,"invalidText",8,""),_=p(e,"warn",8,!1),w=p(e,"warnText",8,""),P=p(e,"helperText",8,""),I=p(e,"noLabel",8,!1),F=p(e,"labelText",8,""),N=p(e,"hideLabel",8,!1),C=p(e,"ref",12,null),R=p(e,"required",8,!1);const Y=Ct(),se=Qe(l()),q=Qe(null),ie=Qe(null),Ae=Qe({});ha("Select",{selectedValue:se,setDefaultValue:(V,$)=>{a()===null?(q.set(V),ie.set($)):s()===V&&se.set($),Ae.update(de=>({...de,[$]:typeof $}))}});const Se=({target:V})=>{let $=V.value;c()[$]==="number"&&($=Number($)),se.set($)};let K;cr(()=>{l(f()),K!==void 0&&l()!==K&&Y("update",f()),K=l()}),ne(()=>M(m()),()=>{J(d,`error-${m()}`)}),ne(()=>(M(l()),a()),()=>{se.set(l()??a())}),Ne(),ye();var be=Co();let tt;var ze=L(be);b(ze,"bx--select",!0);var bt=L(ze);{var Ce=V=>{var $=ko(),de=L($);he(de,e,"labelText",{},Q=>{var O=Me();Z(()=>ae(O,F())),E(Q,O)}),Z(()=>{B($,"for",m()),b($,"bx--label",!0),b($,"bx--visually-hidden",N()),b($,"bx--label--disabled",v())}),E(V,$)};W(bt,V=>{I()||V(Ce)})}var G=A(bt,2);{var Fe=V=>{var $=To(),de=ce($);b(de,"bx--select-input--inline__wrapper",!0);var Q=L(de),O=L(Q),re=L(O);he(re,e,"default",{},null),et(O,ee=>C(ee),()=>C());var fe=A(O,2);_i(fe,{class:"bx--select__arrow"});var Je=A(fe,2);{var Te=ee=>{jn(ee,{class:"bx--select__invalid-icon"})};W(Je,ee=>{g()&&ee(Te)})}var Re=A(Q,2);{var De=ee=>{var S=Io(),j=L(S);Z(()=>{B(S,"id",k(d)),b(S,"bx--form-requirement",!0),ae(j,y())}),E(ee,S)};W(Re,ee=>{g()&&ee(De)})}var Ge=A(de,2);{var Ue=ee=>{var S=So();b(S,"bx--form__helper-text",!0);var j=L(S);Z(()=>{b(S,"bx--form__helper-text--disabled",v()),ae(j,P())}),E(ee,S)};W(Ge,ee=>{!g()&&!_()&&P()&&ee(Ue)})}Z(()=>{B(Q,"data-invalid",g()||void 0),b(Q,"bx--select-input__wrapper",!0),B(O,"aria-describedby",g()?k(d):void 0),B(O,"aria-invalid",g()||void 0),O.disabled=v()||void 0,O.required=R()||void 0,B(O,"id",m()),B(O,"name",x()),b(O,"bx--select-input",!0),b(O,"bx--select-input--sm",o()==="sm"),b(O,"bx--select-input--xl",o()==="xl")}),z("change",O,Se),z("change",O,function(ee){T.call(this,e,ee)}),z("input",O,function(ee){T.call(this,e,ee)}),z("focus",O,function(ee){T.call(this,e,ee)}),z("blur",O,function(ee){T.call(this,e,ee)}),E(V,$)};W(G,V=>{u()&&V(Fe)})}var Be=A(G,2);{var dt=V=>{var $=zo(),de=ce($),Q=L(de),O=L(Q);he(O,e,"default",{},null),et(Q,D=>C(D),()=>C());var re=A(Q,2);_i(re,{class:"bx--select__arrow"});var fe=A(re,2);{var Je=D=>{jn(D,{class:"bx--select__invalid-icon"})};W(fe,D=>{g()&&D(Je)})}var Te=A(fe,2);{var Re=D=>{dr(D,{class:"bx--select__invalid-icon bx--select__invalid-icon--warning"})};W(Te,D=>{!g()&&_()&&D(Re)})}var De=A(de,2);{var Ge=D=>{var ue=Eo();b(ue,"bx--form__helper-text",!0);var Le=L(ue);Z(()=>{b(ue,"bx--form__helper-text--disabled",v()),ae(Le,P())}),E(D,ue)};W(De,D=>{!g()&&P()&&D(Ge)})}var Ue=A(De,2);{var ee=D=>{var ue=Po(),Le=L(ue);Z(()=>{B(ue,"id",k(d)),b(ue,"bx--form-requirement",!0),ae(Le,y())}),E(D,ue)};W(Ue,D=>{g()&&D(ee)})}var S=A(Ue,2);{var j=D=>{var ue=Oo(),Le=L(ue);Z(()=>{B(ue,"id",k(d)),b(ue,"bx--form-requirement",!0),ae(Le,w())}),E(D,ue)};W(S,D=>{!g()&&_()&&D(j)})}Z(()=>{B(de,"data-invalid",g()||void 0),b(de,"bx--select-input__wrapper",!0),B(Q,"id",m()),B(Q,"name",x()),B(Q,"aria-describedby",g()?k(d):void 0),Q.disabled=v()||void 0,Q.required=R()||void 0,B(Q,"aria-invalid",g()||void 0),b(Q,"bx--select-input",!0),b(Q,"bx--select-input--sm",o()==="sm"),b(Q,"bx--select-input--xl",o()==="xl")}),z("change",Q,Se),z("change",Q,function(D){T.call(this,e,D)}),z("input",Q,function(D){T.call(this,e,D)}),z("focus",Q,function(D){T.call(this,e,D)}),z("blur",Q,function(D){T.call(this,e,D)}),E(V,$)};W(Be,V=>{u()||V(dt)})}Z(()=>{tt=we(be,tt,{...i}),b(be,"bx--form-item",!0),b(ze,"bx--select--inline",u()),b(ze,"bx--select--light",h()),b(ze,"bx--select--invalid",g()),b(ze,"bx--select--disabled",v()),b(ze,"bx--select--warning",_())}),E(t,be),me()}var jo=U("");function No(t,e){_e(e,!1);let n=p(e,"value",8,""),i=p(e,"text",8,""),r=p(e,"hidden",8,!1),a=p(e,"disabled",8,!1),s=p(e,"class",8,void 0),c=p(e,"style",8,void 0);const f="ccs-"+Math.random().toString(36),d=rn("Select")||rn("TimePickerSelect");let l=le(!1);const o=d.selectedValue.subscribe(m=>{J(l,m===n())});qn(()=>()=>o()),ne(()=>M(n()),()=>{var m;(m=d==null?void 0:d.setDefaultValue)==null||m.call(d,f,n())}),Ne(),ye();var u=jo(),h={},v=L(u);Z(()=>{h!==(h=n())&&(u.value=(u.__value=n())==null?"":n()),u.disabled=a(),u.hidden=r(),sr(u,k(l)),Ma(u,ar(s()),""),B(u,"style",c()),b(u,"bx--select-option",!0),ae(v,i()||n())}),E(t,u),me()}var Ao=U(""),Ro=U("
"),Do=U("
"),Mo=U(""),Zo=U(" ",1),Wo=U("
"),Ko=U("
"),Fo=U("
"),Uo=U("
"),Vo=U("
"),Xo=U("
"),Yo=U("
");function mi(t,e){const n=Yn(e),i=oe(e,["children","$$slots","$$events","$$legacy"]),r=oe(i,["size","value","placeholder","light","disabled","helperText","id","name","labelText","hideLabel","invalid","invalidText","warn","warnText","ref","required","inline","readonly"]);_e(e,!1);const a=le(),s=le(),c=le(),f=le();let d=p(e,"size",8,void 0),l=p(e,"value",12,""),o=p(e,"placeholder",8,""),u=p(e,"light",8,!1),h=p(e,"disabled",8,!1),v=p(e,"helperText",8,""),m=p(e,"id",24,()=>"ccs-"+Math.random().toString(36)),x=p(e,"name",8,void 0),g=p(e,"labelText",8,""),y=p(e,"hideLabel",8,!1),_=p(e,"invalid",8,!1),w=p(e,"invalidText",8,""),P=p(e,"warn",8,!1),I=p(e,"warnText",8,""),F=p(e,"ref",12,null),N=p(e,"required",8,!1),C=p(e,"inline",8,!1),R=p(e,"readonly",8,!1);const Y=rn("Form"),se=Ct();function q(S){return r.type!=="number"?S:S!=""?Number(S):null}const ie=S=>{l(q(S.target.value)),se("input",l())},Ae=S=>{se("change",q(S.target.value))},Se=!!Y&&Y.isFluid;ne(()=>(M(_()),M(R())),()=>{J(a,_()&&!R())}),ne(()=>M(m()),()=>{J(s,`helper-${m()}`)}),ne(()=>M(m()),()=>{J(c,`error-${m()}`)}),ne(()=>M(m()),()=>{J(f,`warn-${m()}`)}),Ne(),ye();var K=Yo();b(K,"bx--form-item",!0),b(K,"bx--text-input-wrapper",!0);var be=L(K);{var tt=S=>{var j=Do();b(j,"bx--text-input__label-helper-wrapper",!0);var D=L(j);{var ue=xe=>{var ke=Ao(),bn=L(ke);he(bn,e,"labelText",{},gr=>{var ni=Me();Z(()=>ae(ni,g())),E(gr,ni)}),Z(()=>{B(ke,"for",m()),b(ke,"bx--label",!0),b(ke,"bx--visually-hidden",y()),b(ke,"bx--label--disabled",h()),b(ke,"bx--label--inline",C()),b(ke,"bx--label--inline--sm",d()==="sm"),b(ke,"bx--label--inline--xl",d()==="xl")}),E(xe,ke)};W(D,xe=>{g()&&xe(ue)})}var Le=A(D,2);{var mn=xe=>{var ke=Ro();b(ke,"bx--form__helper-text",!0);var bn=L(ke);Z(()=>{b(ke,"bx--form__helper-text--disabled",h()),b(ke,"bx--form__helper-text--inline",C()),ae(bn,v())}),E(xe,ke)};W(Le,xe=>{!Se&&v()&&xe(mn)})}E(S,j)};W(be,S=>{C()&&S(tt)})}var ze=A(be,2);{var bt=S=>{var j=Mo(),D=L(j);he(D,e,"labelText",{},ue=>{var Le=Me();Z(()=>ae(Le,g())),E(ue,Le)}),Z(()=>{B(j,"for",m()),b(j,"bx--label",!0),b(j,"bx--visually-hidden",y()),b(j,"bx--label--disabled",h()),b(j,"bx--label--inline",C()),b(j,"bx--label--inline-sm",C()&&d()==="sm"),b(j,"bx--label--inline-xl",C()&&d()==="xl")}),E(S,j)};W(ze,S=>{!C()&&(g()||n.labelText)&&S(bt)})}var Ce=A(ze,2);b(Ce,"bx--text-input__field-outer-wrapper",!0);var G=L(Ce),Fe=L(G);{var Be=S=>{xo(S,{class:"bx--text-input__readonly-icon"})},dt=S=>{var j=Zo(),D=ce(j);{var ue=xe=>{jn(xe,{class:"bx--text-input__invalid-icon"})};W(D,xe=>{_()&&xe(ue)})}var Le=A(D,2);{var mn=xe=>{dr(xe,{class:`bx--text-input__invalid-icon - bx--text-input__invalid-icon--warning`})};W(Le,xe=>{!_()&&P()&&xe(mn)})}E(S,j)};W(Fe,S=>{R()?S(Be):S(dt,!1)})}var V=A(Fe,2);let $;et(V,S=>F(S),()=>F());var de=A(V,2);{var Q=S=>{var j=Wo();b(j,"bx--text-input__divider",!0),E(S,j)};W(de,S=>{Se&&S(Q)})}var O=A(de,2);{var re=S=>{var j=Ko(),D=L(j);Z(()=>{B(j,"id",k(c)),b(j,"bx--form-requirement",!0),ae(D,w())}),E(S,j)};W(O,S=>{Se&&!C()&&_()&&S(re)})}var fe=A(O,2);{var Je=S=>{var j=Fo(),D=L(j);Z(()=>{B(j,"id",k(f)),b(j,"bx--form-requirement",!0),ae(D,I())}),E(S,j)};W(fe,S=>{Se&&!C()&&P()&&S(Je)})}var Te=A(G,2);{var Re=S=>{var j=Uo(),D=L(j);Z(()=>{B(j,"id",k(s)),b(j,"bx--form__helper-text",!0),b(j,"bx--form__helper-text--disabled",h()),b(j,"bx--form__helper-text--inline",C()),ae(D,v())}),E(S,j)};W(Te,S=>{!_()&&!P()&&!Se&&!C()&&v()&&S(Re)})}var De=A(Te,2);{var Ge=S=>{var j=Vo(),D=L(j);Z(()=>{B(j,"id",k(c)),b(j,"bx--form-requirement",!0),ae(D,w())}),E(S,j)};W(De,S=>{!Se&&_()&&S(Ge)})}var Ue=A(De,2);{var ee=S=>{var j=Xo(),D=L(j);Z(()=>{B(j,"id",k(f)),b(j,"bx--form-requirement",!0),ae(D,I())}),E(S,j)};W(Ue,S=>{!Se&&!_()&&P()&&S(ee)})}Z(()=>{b(K,"bx--text-input-wrapper--inline",C()),b(K,"bx--text-input-wrapper--light",u()),b(K,"bx--text-input-wrapper--readonly",R()),b(Ce,"bx--text-input__field-outer-wrapper--inline",C()),B(G,"data-invalid",k(a)||void 0),B(G,"data-warn",P()||void 0),b(G,"bx--text-input__field-wrapper",!0),b(G,"bx--text-input__field-wrapper--warning",!_()&&P()),$=we(V,$,{"data-invalid":k(a)||void 0,"aria-invalid":k(a)||void 0,"data-warn":P()||void 0,"aria-describedby":k(a)?k(c):P()?k(f):v()?k(s):void 0,disabled:h(),id:m(),name:x(),placeholder:o(),required:N(),readonly:R(),...r}),b(V,"bx--text-input",!0),b(V,"bx--text-input--light",u()),b(V,"bx--text-input--invalid",k(a)),b(V,"bx--text-input--warning",P()),b(V,"bx--text-input--sm",d()==="sm"),b(V,"bx--text-input--xl",d()==="xl")}),Wa(V,l),z("change",V,Ae),z("input",V,ie),z("keydown",V,function(S){T.call(this,e,S)}),z("keyup",V,function(S){T.call(this,e,S)}),z("focus",V,function(S){T.call(this,e,S)}),z("blur",V,function(S){T.call(this,e,S)}),z("paste",V,function(S){T.call(this,e,S)}),z("click",K,function(S){T.call(this,e,S)}),z("mouseover",K,function(S){T.call(this,e,S)}),z("mouseenter",K,function(S){T.call(this,e,S)}),z("mouseleave",K,function(S){T.call(this,e,S)}),E(t,K),me()}var Ho=U('
');function qo(t,e){const n=oe(e,["children","$$slots","$$events","$$legacy"]),i=oe(n,["size","toggled","disabled","labelA","labelB","labelText","hideLabel","id","name"]);_e(e,!1);let r=p(e,"size",8,"default"),a=p(e,"toggled",12,!1),s=p(e,"disabled",8,!1),c=p(e,"labelA",8,"Off"),f=p(e,"labelB",8,"On"),d=p(e,"labelText",8,""),l=p(e,"hideLabel",8,!1),o=p(e,"id",24,()=>"ccs-"+Math.random().toString(36)),u=p(e,"name",8,void 0);const h=Ct();ne(()=>M(a()),()=>{h("toggle",{toggled:a()})}),Ne(),ye();var v=Ho();let m;var x=L(v),g=A(x,2),y=L(g),_=L(y);he(_,e,"labelText",{},C=>{var R=Me();Z(()=>ae(R,d())),E(C,R)});var w=A(y,2);b(w,"bx--toggle__switch",!0);var P=L(w);b(P,"bx--toggle__text--off",!0);var I=L(P);he(I,e,"labelA",{},C=>{var R=Me();Z(()=>ae(R,c())),E(C,R)});var F=A(P,2);b(F,"bx--toggle__text--on",!0);var N=L(F);he(N,e,"labelB",{},C=>{var R=Me();Z(()=>ae(R,f())),E(C,R)}),Z(()=>{m=we(v,m,{...i}),b(v,"bx--form-item",!0),ui(v,"user-select","none"),or(x,a()),x.disabled=s(),B(x,"id",o()),B(x,"name",u()),b(x,"bx--toggle-input",!0),b(x,"bx--toggle-input--small",r()==="sm"),B(g,"aria-label",d()?void 0:n["aria-label"]||"Toggle"),B(g,"for",o()),b(g,"bx--toggle-input__label",!0),b(y,"bx--visually-hidden",l()),ui(w,"margin-top",l()?0:void 0)}),z("change",x,()=>{a(!a())}),z("change",x,function(C){T.call(this,e,C)}),z("keyup",x,C=>{(C.key===" "||C.key==="Enter")&&(C.preventDefault(),a(!a()))}),z("keyup",x,function(C){T.call(this,e,C)}),z("focus",x,function(C){T.call(this,e,C)}),z("blur",x,function(C){T.call(this,e,C)}),z("click",v,function(C){T.call(this,e,C)}),z("mouseover",v,function(C){T.call(this,e,C)}),z("mouseenter",v,function(C){T.call(this,e,C)}),z("mouseleave",v,function(C){T.call(this,e,C)}),E(t,v),me()}var Bo=U(" ",1);function Jo(t,e){_e(e,!1);let n=p(e,"theme",12,"white"),i=p(e,"tokens",24,()=>({})),r=p(e,"persist",8,!1),a=p(e,"persistKey",8,"theme"),s=p(e,"render",8,void 0),c=p(e,"toggle",24,()=>({themes:["white","g100"],labelA:"",labelB:"",labelText:"Dark mode",hideLabel:!1}));const f={white:"White",g10:"Gray 10",g80:"Gray 80",g90:"Gray 90",g100:"Gray 100"},d=Object.keys(f);let l=p(e,"select",24,()=>({themes:d,labelText:"Themes",hideLabel:!1}));const o=Ct();ne(()=>(M(i()),M(n())),()=>{typeof window<"u"&&(Object.entries(i()).forEach(([_,w])=>{document.documentElement.style.setProperty(`--cds-${_}`,w)}),n()in f?(document.documentElement.setAttribute("theme",n()),o("update",{theme:n()})):console.warn(`[Theme.svelte] invalid theme "${n()}". Value must be one of: ${JSON.stringify(Object.keys(f))}`))}),Ne(),ye();var u=Bo(),h=ce(u);{var v=_=>{po(_,{get key(){return a()},get value(){return n()},set value(w){n(w)},$$legacy:!0})};W(h,_=>{r()&&_(v)})}var m=A(h,2);{var x=_=>{var w=At(()=>n()===c().themes[1]);qo(_,rt(c,{get toggled(){return k(w)},$$events:{toggle:({detail:P})=>{n(P.toggled?c().themes[1]:c().themes[0])}}}))},g=_=>{var w=ve(),P=ce(w);{var I=F=>{Lo(F,rt(l,{get selected(){return n()},set selected(N){n(N)},children:(N,C)=>{var R=ve(),Y=ce(R);La(Y,1,()=>l().themes,q=>q,(q,ie)=>{No(q,{get value(){return k(ie)},get text(){return f[k(ie)]}})}),E(N,R)},$$slots:{default:!0},$$legacy:!0}))};W(P,F=>{s()==="select"&&F(I)},!0)}E(_,w)};W(m,_=>{s()==="toggle"?_(x):_(g,!1)})}var y=A(m,2);he(y,e,"default",{get theme(){return n()}},null),E(t,u),me()}var Go=U(" "),Qo=Xt('');function $o(t,e){const n=oe(e,["children","$$slots","$$events","$$legacy"]),i=oe(n,["size","title"]);_e(e,!1);const r=le(),a=le();let s=p(e,"size",8,16),c=p(e,"title",8,void 0);ne(()=>(M(n),M(c())),()=>{J(r,n["aria-label"]||n["aria-labelledby"]||c())}),ne(()=>(k(r),M(n)),()=>{J(a,{"aria-hidden":k(r)?void 0:!0,role:k(r)?"img":void 0,focusable:Number(n.tabindex)===0?!0:void 0})}),Ne(),ye();var f=Qo();let d;var l=L(f);{var o=u=>{var h=Go(),v=L(h);Z(()=>ae(v,c())),E(u,h)};W(l,u=>{c()&&u(o)})}Z(()=>d=we(f,d,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor",preserveAspectRatio:"xMidYMid meet",width:s(),height:s(),...k(a),...i},void 0,!0)),E(t,f),me()}var es=Ta(`
+ + +
+
+
X
+
X
+
X
+
X
+
X
+
X
+
X
+
X
+
+
+
+
+
+
+ Retour a l'accueil + +
+
+
XT
+
+
+

Se connecter a Xtablo

+
+ + +
+ Ou continuer avec +
+ + +
+
+
+
+ + +} + +templ LoginStatus(kind string, message string) { + if kind == "success" { +
{ message }
+ } else if kind == "error" { + + } +} diff --git a/go_backend_deprecated/internal/web/views/login_templ.go b/go_backend_deprecated/internal/web/views/login_templ.go new file mode 100644 index 0000000..00c9b41 --- /dev/null +++ b/go_backend_deprecated/internal/web/views/login_templ.go @@ -0,0 +1,102 @@ +// Code generated by templ - DO NOT EDIT. + +// templ: version: v0.3.1001 +package views + +//lint:file-ignore SA4006 This context is only used if a nested component is present. + +import "github.com/a-h/templ" +import templruntime "github.com/a-h/templ/runtime" + +func LoginPage() templ.Component { + return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { + templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) + if !templ_7745c5c3_IsBuffer { + defer func() { + templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer) + if templ_7745c5c3_Err == nil { + templ_7745c5c3_Err = templ_7745c5c3_BufErr + } + }() + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Var1 := templ.GetChildren(ctx) + if templ_7745c5c3_Var1 == nil { + templ_7745c5c3_Var1 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 1, "XTablo
X
X
X
X
X
X
X
X
XT

Se connecter a Xtablo

Ou continuer avec

Pas encore de compte ? S'inscrire

") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + return nil + }) +} + +func LoginStatus(kind string, message string) templ.Component { + return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { + templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) + if !templ_7745c5c3_IsBuffer { + defer func() { + templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer) + if templ_7745c5c3_Err == nil { + templ_7745c5c3_Err = templ_7745c5c3_BufErr + } + }() + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Var2 := templ.GetChildren(ctx) + if templ_7745c5c3_Var2 == nil { + templ_7745c5c3_Var2 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) + if kind == "success" { + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 2, "
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var3 string + templ_7745c5c3_Var3, templ_7745c5c3_Err = templ.JoinStringErrs(message) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/web/views/login.templ`, Line: 91, Col: 67} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var3)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 3, "
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + } else if kind == "error" { + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 4, "
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var4 string + templ_7745c5c3_Var4, templ_7745c5c3_Err = templ.JoinStringErrs(message) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/web/views/login.templ`, Line: 93, Col: 64} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var4)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 5, "
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + } + return nil + }) +} + +var _ = templruntime.GeneratedTemplate diff --git a/go_backend_deprecated/main.go b/go_backend_deprecated/main.go new file mode 100644 index 0000000..e1dddb7 --- /dev/null +++ b/go_backend_deprecated/main.go @@ -0,0 +1,26 @@ +package main + +import ( + "net/http" + "time" + + "github.com/rs/zerolog" + "github.com/rs/zerolog/log" +) + +func main() { + zerolog.TimeFieldFormat = time.DateTime + + server := &http.Server{ + Addr: "localhost:3000", + Handler: newRouter(), + ReadTimeout: 10 * time.Second, + WriteTimeout: time.Minute, + } + + log.Info().Msg("Listening on http://localhost:3000...") + if err := server.ListenAndServe(); err != nil && err != http.ErrServerClosed { + log.Error().Msg(err.Error()) + panic(err) + } +} diff --git a/go_backend_deprecated/router.go b/go_backend_deprecated/router.go new file mode 100644 index 0000000..a6ac3c5 --- /dev/null +++ b/go_backend_deprecated/router.go @@ -0,0 +1,20 @@ +package main + +import ( + "net/http" + "os" + + chi "github.com/go-chi/chi/v5" + "xtablo-backend/internal/web/handlers" +) + +func newRouter() http.Handler { + mux := chi.NewRouter() + loginHandler := handlers.NewLoginHandler() + + mux.Get("/", loginHandler.GetPage()) + mux.Post("/login", loginHandler.PostLogin()) + mux.Handle("/static/*", http.StripPrefix("/static/", http.FileServerFS(os.DirFS("static")))) + + return mux +} diff --git a/go_backend_deprecated/router_test.go b/go_backend_deprecated/router_test.go new file mode 100644 index 0000000..986d3b2 --- /dev/null +++ b/go_backend_deprecated/router_test.go @@ -0,0 +1,74 @@ +package main + +import ( + "net/http" + "net/http/httptest" + "net/url" + "strings" + "testing" +) + +func TestRootRendersLoginPage(t *testing.T) { + req := httptest.NewRequest(http.MethodGet, "/", nil) + rec := httptest.NewRecorder() + + router := newRouter() + router.ServeHTTP(rec, req) + + if rec.Code != http.StatusOK { + t.Fatalf("expected status 200, got %d", rec.Code) + } + + body := rec.Body.String() + for _, want := range []string{ + "Se connecter a Xtablo", + `hx-post="/login"`, + "https://cdn.jsdelivr.net/npm/htmx.org@4.0.0-beta2/dist/htmx.min.js", + } { + if !strings.Contains(body, want) { + t.Fatalf("expected body to contain %q", want) + } + } +} + +func TestLoginReturnsValidationError(t *testing.T) { + form := url.Values{} + form.Set("email", "") + form.Set("password", "") + + req := httptest.NewRequest(http.MethodPost, "/login", strings.NewReader(form.Encode())) + req.Header.Set("Content-Type", "application/x-www-form-urlencoded") + rec := httptest.NewRecorder() + + router := newRouter() + router.ServeHTTP(rec, req) + + if rec.Code != http.StatusUnprocessableEntity { + t.Fatalf("expected status 422, got %d", rec.Code) + } + + if !strings.Contains(rec.Body.String(), "Veuillez renseigner votre email et votre mot de passe") { + t.Fatalf("expected validation error fragment, got %q", rec.Body.String()) + } +} + +func TestLoginReturnsSuccessMessage(t *testing.T) { + form := url.Values{} + form.Set("email", "demo@xtablo.com") + form.Set("password", "xtablo-demo") + + req := httptest.NewRequest(http.MethodPost, "/login", strings.NewReader(form.Encode())) + req.Header.Set("Content-Type", "application/x-www-form-urlencoded") + rec := httptest.NewRecorder() + + router := newRouter() + router.ServeHTTP(rec, req) + + if rec.Code != http.StatusOK { + t.Fatalf("expected status 200, got %d", rec.Code) + } + + if !strings.Contains(rec.Body.String(), "Connexion reussie") { + t.Fatalf("expected success fragment, got %q", rec.Body.String()) + } +} diff --git a/go_backend_deprecated/static/styles.css b/go_backend_deprecated/static/styles.css new file mode 100644 index 0000000..6ea5f70 --- /dev/null +++ b/go_backend_deprecated/static/styles.css @@ -0,0 +1,417 @@ +:root { + --background: #f5f1ea; + --surface: rgba(255, 251, 246, 0.78); + --surface-border: rgba(84, 61, 31, 0.12); + --text: #1f1a17; + --muted: #73675d; + --primary: #1f6f64; + --primary-strong: #18584f; + --accent: #cf6b2d; + --accent-soft: rgba(207, 107, 45, 0.16); + --success-bg: rgba(31, 111, 100, 0.1); + --success-border: rgba(31, 111, 100, 0.25); + --error-bg: rgba(181, 69, 69, 0.1); + --error-border: rgba(181, 69, 69, 0.24); + --shadow: 0 24px 80px rgba(43, 24, 4, 0.12); + --font-body: "Avenir Next", "Segoe UI", sans-serif; + --font-display: "Iowan Old Style", "Georgia", serif; +} + +* { + box-sizing: border-box; +} + +html, +body { + margin: 0; + min-height: 100%; +} + +body { + background: + radial-gradient(circle at top left, rgba(31, 111, 100, 0.16), transparent 30%), + radial-gradient(circle at top right, rgba(207, 107, 45, 0.16), transparent 26%), + linear-gradient(135deg, #f3efe7 0%, #f8f4ed 48%, #efe9dd 100%); + color: var(--text); + font-family: var(--font-body); +} + +a { + color: inherit; + text-decoration: none; +} + +button, +input { + font: inherit; +} + +.page-shell { + min-height: 100vh; + position: relative; + overflow: hidden; +} + +.page-background { + inset: 0; + pointer-events: none; + position: absolute; +} + +.orb { + align-items: center; + animation: drift 18s linear infinite; + background: linear-gradient(135deg, rgba(31, 111, 100, 0.22), rgba(207, 107, 45, 0.1)); + border: 1px solid rgba(255, 255, 255, 0.45); + border-radius: 999px; + color: rgba(31, 111, 100, 0.6); + display: flex; + font-family: var(--font-display); + font-size: 1.15rem; + font-weight: 700; + height: 3.4rem; + justify-content: center; + position: absolute; + width: 3.4rem; +} + +.orb span { + transform: rotate(-12deg); +} + +.orb-a { left: 6%; top: 18%; animation-duration: 14s; } +.orb-b { left: 12%; top: 70%; animation-duration: 19s; height: 4rem; width: 4rem; } +.orb-c { left: 24%; top: 8%; animation-duration: 16s; } +.orb-d { right: 14%; top: 20%; animation-duration: 21s; height: 4.4rem; width: 4.4rem; } +.orb-e { right: 8%; top: 66%; animation-duration: 17s; } +.orb-f { right: 26%; top: 10%; animation-duration: 23s; } +.orb-g { left: 36%; bottom: 10%; animation-duration: 20s; } +.orb-h { right: 35%; bottom: 8%; animation-duration: 15s; } + +.auth-stage { + align-items: center; + display: flex; + justify-content: center; + min-height: 100vh; + padding: 2rem 1rem; + position: relative; +} + +.auth-card { + max-width: 34rem; + position: relative; + width: 100%; +} + +.auth-glow { + background: linear-gradient(135deg, rgba(31, 111, 100, 0.18), rgba(207, 107, 45, 0.1)); + border-radius: 2rem; + filter: blur(24px); + inset: 1rem; + position: absolute; + z-index: 0; +} + +.card-body { + backdrop-filter: blur(16px); + background: var(--surface); + border: 1px solid var(--surface-border); + border-radius: 1.75rem; + box-shadow: var(--shadow); + padding: 1.5rem; + position: relative; + z-index: 1; +} + +.card-topbar { + align-items: center; + display: flex; + justify-content: space-between; + margin-bottom: 1.5rem; +} + +.back-link { + color: var(--muted); + font-size: 0.95rem; + transition: color 160ms ease; +} + +.back-link:hover, +.aux-row a:hover, +.signup-copy a:hover { + color: var(--text); +} + +.back-link::before { + content: "<"; + margin-right: 0.55rem; +} + +.theme-button { + align-items: center; + background: transparent; + border: 0; + border-radius: 999px; + color: var(--muted); + cursor: pointer; + display: inline-flex; + height: 2.5rem; + justify-content: center; + padding: 0; + transition: background-color 160ms ease, color 160ms ease; + width: 2.5rem; +} + +.theme-button:hover { + background: rgba(31, 26, 23, 0.05); + color: var(--text); +} + +.theme-button-monitor { + border: 2px solid currentColor; + border-radius: 0.35rem; + display: inline-block; + height: 1rem; + position: relative; + width: 1.3rem; +} + +.theme-button-monitor::after { + border-top: 2px solid currentColor; + content: ""; + left: 50%; + position: absolute; + top: calc(100% + 0.2rem); + transform: translateX(-50%); + width: 0.9rem; +} + +.brand-lockup { + display: flex; + justify-content: center; + margin-bottom: 1.25rem; +} + +.brand-mark { + align-items: center; + background: linear-gradient(135deg, rgba(31, 111, 100, 0.18), rgba(207, 107, 45, 0.2)); + border: 1px solid rgba(31, 111, 100, 0.16); + border-radius: 1.25rem; + color: var(--primary-strong); + display: flex; + font-family: var(--font-display); + font-size: 1.3rem; + font-weight: 700; + height: 4.5rem; + justify-content: center; + letter-spacing: 0.12rem; + width: 4.5rem; +} + +.headline-block { + margin-bottom: 1rem; + text-align: center; +} + +.headline-block h1 { + font-family: var(--font-display); + font-size: clamp(2rem, 4vw, 2.7rem); + line-height: 1.05; + margin: 0; +} + +.spotlight-link-wrap { + margin-bottom: 1.5rem; + text-align: center; +} + +.spotlight-link { + color: var(--accent); + font-size: 0.95rem; + font-weight: 600; +} + +.login-form { + display: grid; + gap: 1rem; +} + +.status-slot { + min-height: 0.25rem; +} + +.status-banner { + border: 1px solid; + border-radius: 1rem; + font-size: 0.94rem; + line-height: 1.45; + padding: 0.9rem 1rem; +} + +.status-success { + background: var(--success-bg); + border-color: var(--success-border); + color: var(--primary-strong); +} + +.status-error { + background: var(--error-bg); + border-color: var(--error-border); + color: #8f3737; +} + +.field-group { + display: grid; + gap: 0.45rem; +} + +.field-group label { + font-size: 0.95rem; + font-weight: 600; +} + +.field-group input { + background: rgba(255, 255, 255, 0.7); + border: 1px solid rgba(31, 26, 23, 0.12); + border-radius: 0.9rem; + color: var(--text); + min-height: 3rem; + padding: 0.8rem 0.95rem; + transition: border-color 160ms ease, box-shadow 160ms ease, background-color 160ms ease; +} + +.field-group input:focus { + background: rgba(255, 255, 255, 0.92); + border-color: rgba(31, 111, 100, 0.45); + box-shadow: 0 0 0 4px rgba(31, 111, 100, 0.1); + outline: none; +} + +.field-group input::placeholder { + color: #988d82; +} + +.aux-row { + display: flex; + justify-content: flex-end; +} + +.aux-row a { + color: var(--primary); + font-size: 0.92rem; +} + +.primary-button, +.google-button { + align-items: center; + border: 0; + border-radius: 999px; + cursor: pointer; + display: inline-flex; + font-weight: 700; + justify-content: center; + min-height: 3rem; + transition: transform 160ms ease, box-shadow 160ms ease, background-color 160ms ease; +} + +.primary-button { + background: linear-gradient(135deg, var(--primary), var(--primary-strong)); + box-shadow: 0 14px 30px rgba(31, 111, 100, 0.28); + color: #fffdf9; + width: 100%; +} + +.primary-button:hover, +.google-button:hover { + transform: translateY(-1px); +} + +.divider { + align-items: center; + color: var(--muted); + display: flex; + gap: 0.85rem; + margin: 1.35rem 0; +} + +.divider::before, +.divider::after { + background: rgba(31, 26, 23, 0.12); + content: ""; + flex: 1; + height: 1px; +} + +.divider span { + background: rgba(255, 251, 246, 0.72); + border-radius: 999px; + padding: 0.4rem 0.95rem; +} + +.google-button { + background: rgba(255, 255, 255, 0.8); + border: 1px solid rgba(31, 26, 23, 0.12); + color: var(--text); + gap: 0.8rem; + width: 100%; +} + +.google-mark { + display: grid; + gap: 0.08rem; + grid-template-columns: repeat(2, 0.55rem); +} + +.google-mark span { + border-radius: 0.12rem; + display: inline-block; + height: 0.55rem; + width: 0.55rem; +} + +.google-mark-blue { background: #4285f4; } +.google-mark-red { background: #ea4335; } +.google-mark-yellow { background: #fbbc05; } +.google-mark-green { background: #34a853; } + +.signup-copy { + color: var(--muted); + margin: 1.3rem 0 0; + text-align: center; +} + +.signup-copy a { + color: var(--text); + font-weight: 700; +} + +@keyframes drift { + 0%, + 100% { + transform: translate3d(0, 0, 0) rotate(0deg); + } + 25% { + transform: translate3d(10px, -14px, 0) rotate(8deg); + } + 50% { + transform: translate3d(-8px, 10px, 0) rotate(-6deg); + } + 75% { + transform: translate3d(12px, 8px, 0) rotate(5deg); + } +} + +@media (max-width: 640px) { + .card-body { + border-radius: 1.45rem; + padding: 1.2rem; + } + + .headline-block h1 { + font-size: 2rem; + } + + .divider span { + padding-inline: 0.7rem; + } +}