diff --git a/frontend/dist/index.html b/frontend/dist/index.html index 6af3ce9..efeaff9 100644 --- a/frontend/dist/index.html +++ b/frontend/dist/index.html @@ -1,6 +1,6 @@ -<!doctype html><html lang=en><meta charset=UTF-8><meta content="width=device-width,initial-scale=1" name=viewport><title>wordl</title><link href=/styles-5be5e26778525bb4.css integrity=sha384-BFc0SAke1_1dylfdy26EEHJElxQCLB-DE7o_4TXFLpItCL4On0ZXkSV61ifrEl87 rel=stylesheet><link href=public/manifest.json rel=manifest><link as=fetch crossorigin href=/wordl-frontend-421403a0bf0fc1dd87e39290748fb0fd1d0011ad9d39c436612b9d175949ff30f7f20814f79234fe65bf2a8cf40890a2_bg.wasm integrity=sha384-QhQDoL8Pwd2H45KQdI-w_R0AEa2dOcQ2YSudF1lJ_zD38ggU95I0_mW_Koz0CJCi rel=preload type=application/wasm><link crossorigin href=/wordl-frontend-421403a0bf0fc1dd87e39290748fb0fd1d0011ad9d39c436612b9d175949ff30f7f20814f79234fe65bf2a8cf40890a2.js integrity=sha384-zFzbv1bQho_A-EsUClHqrakXgf-m71aVFaJe-WLfJ7mTNYsbbpvqd3cABILbxMoq rel=modulepreload></head><body class="bg-black text-white"><script type=module> -import init, * as bindings from '/wordl-frontend-421403a0bf0fc1dd87e39290748fb0fd1d0011ad9d39c436612b9d175949ff30f7f20814f79234fe65bf2a8cf40890a2.js'; -init('/wordl-frontend-421403a0bf0fc1dd87e39290748fb0fd1d0011ad9d39c436612b9d175949ff30f7f20814f79234fe65bf2a8cf40890a2_bg.wasm'); +<!doctype html><html lang=en><meta charset=UTF-8><meta content="width=device-width,initial-scale=1" name=viewport><title>wordl</title><link href=/styles-55e4f03e1faef870.css integrity=sha384-J9yM87Qcz-IljugmrvRnK_g3Z2KtgOHIK0ByeH3QR4lXZeBUhTT9c7Bsx6pQQR-j rel=stylesheet><link href=public/manifest.json rel=manifest><link as=fetch crossorigin href=/wordl-frontend-b37792d44628fb3b78168810b71a60fea38c34a958601a1772eb7b1f5529877fd311f47b9d8228bc97b5e72221ddfaba_bg.wasm integrity=sha384-s3eS1EYo-zt4FogQtxpg_qOMNKlYYBoXcut7H1Uph3_TEfR7nYIovJe15yIh3fq6 rel=preload type=application/wasm><link crossorigin href=/wordl-frontend-b37792d44628fb3b78168810b71a60fea38c34a958601a1772eb7b1f5529877fd311f47b9d8228bc97b5e72221ddfaba.js integrity=sha384-tB5yPwFTUKnrprHbsXQf687G5htgOuiCmo_ixsxdmoNFfIcvywWT718KrVIPMEmr rel=modulepreload></head><body class="bg-black text-white"><script type=module> +import init, * as bindings from '/wordl-frontend-b37792d44628fb3b78168810b71a60fea38c34a958601a1772eb7b1f5529877fd311f47b9d8228bc97b5e72221ddfaba.js'; +init('/wordl-frontend-b37792d44628fb3b78168810b71a60fea38c34a958601a1772eb7b1f5529877fd311f47b9d8228bc97b5e72221ddfaba_bg.wasm'); window.wasmBindings = bindings; </script></body></html> \ No newline at end of file diff --git a/frontend/dist/public/styles.css b/frontend/dist/public/styles.css index 447f1f7..851db4e 100644 --- a/frontend/dist/public/styles.css +++ b/frontend/dist/public/styles.css @@ -544,13 +544,16 @@ video { --tw-backdrop-sepia: ; } -.mx-12 { - margin-left: 3rem; - margin-right: 3rem; +.mt-24 { + margin-top: 6rem; } -.mt-6 { - margin-top: 1.5rem; +.mt-8 { + margin-top: 2rem; +} + +.mt-\[15\%\] { + margin-top: 15%; } .flex { @@ -561,24 +564,28 @@ video { height: 4rem; } -.h-full { - height: 100%; +.h-4\/6 { + height: 66.666667%; +} + +.h-screen { + height: 100vh; } .w-12 { width: 3rem; } -.w-4 { - width: 1rem; +.w-16 { + width: 4rem; } .w-72 { width: 18rem; } -.w-full { - width: 100%; +.flex-1 { + flex: 1 1 0%; } .flex-row { @@ -597,8 +604,16 @@ video { justify-content: center; } -.justify-between { - justify-content: space-between; +.justify-items-center { + justify-items: center; +} + +.gap-8 { + gap: 2rem; +} + +.rounded-xl { + border-radius: 0.75rem; } .border-2 { @@ -630,13 +645,51 @@ video { background-color: rgb(74 222 128 / var(--tw-bg-opacity)); } +.bg-green-700 { + --tw-bg-opacity: 1; + background-color: rgb(21 128 61 / var(--tw-bg-opacity)); +} + .bg-yellow-400 { --tw-bg-opacity: 1; background-color: rgb(250 204 21 / var(--tw-bg-opacity)); } -.p-3 { - padding: 0.75rem; +.object-center { + -o-object-position: center; + object-position: center; +} + +.px-4 { + padding-left: 1rem; + padding-right: 1rem; +} + +.py-2 { + padding-top: 0.5rem; + padding-bottom: 0.5rem; +} + +.py-4 { + padding-top: 1rem; + padding-bottom: 1rem; +} + +.text-center { + text-align: center; +} + +.text-2xl { + font-size: 1.5rem; + line-height: 2rem; +} + +.font-bold { + font-weight: 700; +} + +.leading-tight { + line-height: 1.25; } .text-white { diff --git a/frontend/dist/styles-5be5e26778525bb4.css b/frontend/dist/styles-55e4f03e1faef870.css similarity index 94% rename from frontend/dist/styles-5be5e26778525bb4.css rename to frontend/dist/styles-55e4f03e1faef870.css index 447f1f7..851db4e 100644 --- a/frontend/dist/styles-5be5e26778525bb4.css +++ b/frontend/dist/styles-55e4f03e1faef870.css @@ -544,13 +544,16 @@ video { --tw-backdrop-sepia: ; } -.mx-12 { - margin-left: 3rem; - margin-right: 3rem; +.mt-24 { + margin-top: 6rem; } -.mt-6 { - margin-top: 1.5rem; +.mt-8 { + margin-top: 2rem; +} + +.mt-\[15\%\] { + margin-top: 15%; } .flex { @@ -561,24 +564,28 @@ video { height: 4rem; } -.h-full { - height: 100%; +.h-4\/6 { + height: 66.666667%; +} + +.h-screen { + height: 100vh; } .w-12 { width: 3rem; } -.w-4 { - width: 1rem; +.w-16 { + width: 4rem; } .w-72 { width: 18rem; } -.w-full { - width: 100%; +.flex-1 { + flex: 1 1 0%; } .flex-row { @@ -597,8 +604,16 @@ video { justify-content: center; } -.justify-between { - justify-content: space-between; +.justify-items-center { + justify-items: center; +} + +.gap-8 { + gap: 2rem; +} + +.rounded-xl { + border-radius: 0.75rem; } .border-2 { @@ -630,13 +645,51 @@ video { background-color: rgb(74 222 128 / var(--tw-bg-opacity)); } +.bg-green-700 { + --tw-bg-opacity: 1; + background-color: rgb(21 128 61 / var(--tw-bg-opacity)); +} + .bg-yellow-400 { --tw-bg-opacity: 1; background-color: rgb(250 204 21 / var(--tw-bg-opacity)); } -.p-3 { - padding: 0.75rem; +.object-center { + -o-object-position: center; + object-position: center; +} + +.px-4 { + padding-left: 1rem; + padding-right: 1rem; +} + +.py-2 { + padding-top: 0.5rem; + padding-bottom: 0.5rem; +} + +.py-4 { + padding-top: 1rem; + padding-bottom: 1rem; +} + +.text-center { + text-align: center; +} + +.text-2xl { + font-size: 1.5rem; + line-height: 2rem; +} + +.font-bold { + font-weight: 700; +} + +.leading-tight { + line-height: 1.25; } .text-white { diff --git a/frontend/dist/wordl-frontend-421403a0bf0fc1dd87e39290748fb0fd1d0011ad9d39c436612b9d175949ff30f7f20814f79234fe65bf2a8cf40890a2_bg.wasm b/frontend/dist/wordl-frontend-421403a0bf0fc1dd87e39290748fb0fd1d0011ad9d39c436612b9d175949ff30f7f20814f79234fe65bf2a8cf40890a2_bg.wasm deleted file mode 100644 index 706ff5d..0000000 Binary files a/frontend/dist/wordl-frontend-421403a0bf0fc1dd87e39290748fb0fd1d0011ad9d39c436612b9d175949ff30f7f20814f79234fe65bf2a8cf40890a2_bg.wasm and /dev/null differ diff --git a/frontend/dist/wordl-frontend-421403a0bf0fc1dd87e39290748fb0fd1d0011ad9d39c436612b9d175949ff30f7f20814f79234fe65bf2a8cf40890a2.js b/frontend/dist/wordl-frontend-b37792d44628fb3b78168810b71a60fea38c34a958601a1772eb7b1f5529877fd311f47b9d8228bc97b5e72221ddfaba.js similarity index 97% rename from frontend/dist/wordl-frontend-421403a0bf0fc1dd87e39290748fb0fd1d0011ad9d39c436612b9d175949ff30f7f20814f79234fe65bf2a8cf40890a2.js rename to frontend/dist/wordl-frontend-b37792d44628fb3b78168810b71a60fea38c34a958601a1772eb7b1f5529877fd311f47b9d8228bc97b5e72221ddfaba.js index 8d075d4..26f875e 100644 --- a/frontend/dist/wordl-frontend-421403a0bf0fc1dd87e39290748fb0fd1d0011ad9d39c436612b9d175949ff30f7f20814f79234fe65bf2a8cf40890a2.js +++ b/frontend/dist/wordl-frontend-b37792d44628fb3b78168810b71a60fea38c34a958601a1772eb7b1f5529877fd311f47b9d8228bc97b5e72221ddfaba.js @@ -1 +1 @@ -let V=0,Q=null,S=`undefined`,Z=`boolean`,O=128,_=`string`,R=1,$=`Object`,T=`utf-8`,Y=`number`,a1=4,X=`function`,N=Array,U=Error,a0=FinalizationRegistry,a2=Object,W=Uint8Array,P=undefined;var H=(async(a,b)=>{if(typeof Response===X&&a instanceof Response){if(typeof WebAssembly.instantiateStreaming===X){try{return await WebAssembly.instantiateStreaming(a,b)}catch(b){if(a.headers.get(`Content-Type`)!=`application/wasm`){console.warn(`\`WebAssembly.instantiateStreaming\` failed because your server does not serve wasm with \`application/wasm\` MIME type. Falling back to \`WebAssembly.instantiate\` which is slower. Original error:\\n`,b)}else{throw b}}};const c=await a.arrayBuffer();return await WebAssembly.instantiate(c,b)}else{const c=await WebAssembly.instantiate(a,b);if(c instanceof WebAssembly.Instance){return {instance:c,module:a}}else{return c}}});var u=(a=>{const b=typeof a;if(b==Y||b==Z||a==Q){return `${a}`};if(b==_){return `"${a}"`};if(b==`symbol`){const b=a.description;if(b==Q){return `Symbol`}else{return `Symbol(${b})`}};if(b==X){const b=a.name;if(typeof b==_&&b.length>V){return `Function(${b})`}else{return `Function`}};if(N.isArray(a)){const b=a.length;let c=`[`;if(b>V){c+=u(a[V])};for(let d=R;d<b;d++){c+=`, `+ u(a[d])};c+=`]`;return c};const c=/\[object ([^\]]+)\]/.exec(toString.call(a));let d;if(c.length>R){d=c[R]}else{return toString.call(a)};if(d==$){try{return `Object(`+ JSON.stringify(a)+ `)`}catch(a){return $}};if(a instanceof U){return `${a.name}: ${a.message}\n${a.stack}`};return d});var J=((a,b)=>{});var F=((a,b)=>{a=a>>>V;const c=E();const d=c.subarray(a/a1,a/a1+ b);const e=[];for(let a=V;a<d.length;a++){e.push(f(d[a]))};return e});var g=(a=>{if(d===b.length)b.push(b.length+ R);const c=d;d=b[c];b[c]=a;return c});var f=(a=>{const b=c(a);e(a);return b});var M=(async(b)=>{if(a!==P)return a;if(typeof b===S){b=new URL(`wordl-frontend-421403a0bf0fc1dd87e39290748fb0fd1d0011ad9d39c436612b9d175949ff30f7f20814f79234fe65bf2a8cf40890a2_bg.wasm`,import.meta.url)};const c=I();if(typeof b===_||typeof Request===X&&b instanceof Request||typeof URL===X&&b instanceof URL){b=fetch(b)};J(c);const {instance:d,module:e}=await H(await b,c);return K(d,e)});var L=(b=>{if(a!==P)return a;const c=I();J(c);if(!(b instanceof WebAssembly.Module)){b=new WebAssembly.Module(b)};const d=new WebAssembly.Instance(b,c);return K(d,b)});var z=((c,d,e)=>{try{a._dyn_core__ops__function__Fn___A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__ha93b891949e37217(c,d,y(e))}finally{b[x++]=P}});function G(b,c){try{return b.apply(this,c)}catch(b){a.__wbindgen_exn_store(g(b))}}var K=((b,c)=>{a=b.exports;M.__wbindgen_wasm_module=c;s=Q;q=Q;D=Q;i=Q;a.__wbindgen_start();return a});var C=((c,d,e)=>{try{a._dyn_core__ops__function__FnMut___A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h88dcd39c11638f78(c,d,y(e))}finally{b[x++]=P}});var r=(()=>{if(q===Q||q.byteLength===V){q=new Int32Array(a.memory.buffer)};return q});var p=(a=>a===P||a===Q);var c=(a=>b[a]);var I=(()=>{const b={};b.wbg={};b.wbg.__wbindgen_object_drop_ref=(a=>{f(a)});b.wbg.__wbindgen_object_clone_ref=(a=>{const b=c(a);return g(b)});b.wbg.__wbindgen_string_new=((a,b)=>{const c=k(a,b);return g(c)});b.wbg.__wbg_cachekey_b81c1aacc6a0645c=((a,b)=>{const d=c(b).__yew_subtree_cache_key;r()[a/a1+ R]=p(d)?V:d;r()[a/a1+ V]=!p(d)});b.wbg.__wbg_subtreeid_e80a1798fee782f9=((a,b)=>{const d=c(b).__yew_subtree_id;r()[a/a1+ R]=p(d)?V:d;r()[a/a1+ V]=!p(d)});b.wbg.__wbg_setsubtreeid_e1fab6b578c800cf=((a,b)=>{c(a).__yew_subtree_id=b>>>V});b.wbg.__wbg_setcachekey_75bcd45312087529=((a,b)=>{c(a).__yew_subtree_cache_key=b>>>V});b.wbg.__wbg_setlistenerid_f2e783343fa0cec1=((a,b)=>{c(a).__yew_listener_id=b>>>V});b.wbg.__wbg_listenerid_6dcf1c62b7b7de58=((a,b)=>{const d=c(b).__yew_listener_id;r()[a/a1+ R]=p(d)?V:d;r()[a/a1+ V]=!p(d)});b.wbg.__wbindgen_cb_drop=(a=>{const b=f(a).original;if(b.cnt--==R){b.a=V;return !0};const c=!1;return c});b.wbg.__wbg_new_abda76e883ba8a5f=(()=>{const a=new U();return g(a)});b.wbg.__wbg_stack_658279fe44541cf6=((b,d)=>{const e=c(d).stack;const f=o(e,a.__wbindgen_malloc,a.__wbindgen_realloc);const g=l;r()[b/a1+ R]=g;r()[b/a1+ V]=f});b.wbg.__wbg_error_f851667af71bcfc6=((b,c)=>{let d;let e;try{d=b;e=c;console.error(k(b,c))}finally{a.__wbindgen_free(d,e,R)}});b.wbg.__wbg_queueMicrotask_3cbae2ec6b6cd3d6=(a=>{const b=c(a).queueMicrotask;return g(b)});b.wbg.__wbindgen_is_function=(a=>{const b=typeof c(a)===X;return b});b.wbg.__wbg_queueMicrotask_481971b0d87f3dd4=(a=>{queueMicrotask(c(a))});b.wbg.__wbindgen_string_get=((b,d)=>{const e=c(d);const f=typeof e===_?e:P;var g=p(f)?V:o(f,a.__wbindgen_malloc,a.__wbindgen_realloc);var h=l;r()[b/a1+ R]=h;r()[b/a1+ V]=g});b.wbg.__wbindgen_is_string=(a=>{const b=typeof c(a)===_;return b});b.wbg.__wbindgen_is_object=(a=>{const b=c(a);const d=typeof b===`object`&&b!==Q;return d});b.wbg.__wbindgen_is_undefined=(a=>{const b=c(a)===P;return b});b.wbg.__wbindgen_in=((a,b)=>{const d=c(a) in c(b);return d});b.wbg.__wbindgen_error_new=((a,b)=>{const c=new U(k(a,b));return g(c)});b.wbg.__wbindgen_jsval_loose_eq=((a,b)=>{const d=c(a)==c(b);return d});b.wbg.__wbindgen_boolean_get=(a=>{const b=c(a);const d=typeof b===Z?(b?R:V):2;return d});b.wbg.__wbindgen_number_get=((a,b)=>{const d=c(b);const e=typeof d===Y?d:P;t()[a/8+ R]=p(e)?V:e;r()[a/a1+ V]=!p(e)});b.wbg.__wbindgen_as_number=(a=>{const b=+c(a);return b});b.wbg.__wbg_getwithrefkey_edc2c8960f0f1191=((a,b)=>{const d=c(a)[c(b)];return g(d)});b.wbg.__wbg_error_a526fb08a0205972=((b,c)=>{var d=F(b,c).slice();a.__wbindgen_free(b,c*a1,a1);console.error(...d)});b.wbg.__wbg_body_edb1908d3ceff3a1=(a=>{const b=c(a).body;return p(b)?V:g(b)});b.wbg.__wbg_createElement_8bae7856a4bb7411=function(){return G(((a,b,d)=>{const e=c(a).createElement(k(b,d));return g(e)}),arguments)};b.wbg.__wbg_createElementNS_556a62fb298be5a2=function(){return G(((a,b,d,e,f)=>{const h=c(a).createElementNS(b===V?P:k(b,d),k(e,f));return g(h)}),arguments)};b.wbg.__wbg_createTextNode_0c38fd80a5b2284d=((a,b,d)=>{const e=c(a).createTextNode(k(b,d));return g(e)});b.wbg.__wbg_querySelector_a5f74efc5fa193dd=function(){return G(((a,b,d)=>{const e=c(a).querySelector(k(b,d));return p(e)?V:g(e)}),arguments)};b.wbg.__wbg_instanceof_Window_f401953a2cf86220=(a=>{let b;try{b=c(a) instanceof Window}catch(a){b=!1}const d=b;return d});b.wbg.__wbg_document_5100775d18896c16=(a=>{const b=c(a).document;return p(b)?V:g(b)});b.wbg.__wbg_location_2951b5ee34f19221=(a=>{const b=c(a).location;return g(b)});b.wbg.__wbg_history_bc4057de66a2015f=function(){return G((a=>{const b=c(a).history;return g(b)}),arguments)};b.wbg.__wbg_instanceof_Element_6945fc210db80ea9=(a=>{let b;try{b=c(a) instanceof Element}catch(a){b=!1}const d=b;return d});b.wbg.__wbg_namespaceURI_5235ee79fd5f6781=((b,d)=>{const e=c(d).namespaceURI;var f=p(e)?V:o(e,a.__wbindgen_malloc,a.__wbindgen_realloc);var g=l;r()[b/a1+ R]=g;r()[b/a1+ V]=f});b.wbg.__wbg_setinnerHTML_26d69b59e1af99c7=((a,b,d)=>{c(a).innerHTML=k(b,d)});b.wbg.__wbg_outerHTML_e073aa84e7bc1eaf=((b,d)=>{const e=c(d).outerHTML;const f=o(e,a.__wbindgen_malloc,a.__wbindgen_realloc);const g=l;r()[b/a1+ R]=g;r()[b/a1+ V]=f});b.wbg.__wbg_removeAttribute_1b10a06ae98ebbd1=function(){return G(((a,b,d)=>{c(a).removeAttribute(k(b,d))}),arguments)};b.wbg.__wbg_setAttribute_3c9f6c303b696daa=function(){return G(((a,b,d,e,f)=>{c(a).setAttribute(k(b,d),k(e,f))}),arguments)};b.wbg.__wbg_href_2edbae9e92cdfeff=((b,d)=>{const e=c(d).href;const f=o(e,a.__wbindgen_malloc,a.__wbindgen_realloc);const g=l;r()[b/a1+ R]=g;r()[b/a1+ V]=f});b.wbg.__wbg_value_d7f5bfbd9302c14b=((b,d)=>{const e=c(d).value;const f=o(e,a.__wbindgen_malloc,a.__wbindgen_realloc);const g=l;r()[b/a1+ R]=g;r()[b/a1+ V]=f});b.wbg.__wbg_setvalue_090972231f0a4f6f=((a,b,d)=>{c(a).value=k(b,d)});b.wbg.__wbg_pathname_c5fe403ef9525ec6=((b,d)=>{const e=c(d).pathname;const f=o(e,a.__wbindgen_malloc,a.__wbindgen_realloc);const g=l;r()[b/a1+ R]=g;r()[b/a1+ V]=f});b.wbg.__wbg_search_c68f506c44be6d1e=((b,d)=>{const e=c(d).search;const f=o(e,a.__wbindgen_malloc,a.__wbindgen_realloc);const g=l;r()[b/a1+ R]=g;r()[b/a1+ V]=f});b.wbg.__wbg_hash_cdea7a9b7e684a42=((b,d)=>{const e=c(d).hash;const f=o(e,a.__wbindgen_malloc,a.__wbindgen_realloc);const g=l;r()[b/a1+ R]=g;r()[b/a1+ V]=f});b.wbg.__wbg_new_67853c351755d2cf=function(){return G(((a,b)=>{const c=new URL(k(a,b));return g(c)}),arguments)};b.wbg.__wbg_newwithbase_6aabbfb1b2e6a1cb=function(){return G(((a,b,c,d)=>{const e=new URL(k(a,b),k(c,d));return g(e)}),arguments)};b.wbg.__wbg_addEventListener_4283b15b4f039eb5=function(){return G(((a,b,d,e,f)=>{c(a).addEventListener(k(b,d),c(e),c(f))}),arguments)};b.wbg.__wbg_removeEventListener_5d31483804421bfa=function(){return G(((a,b,d,e,f)=>{c(a).removeEventListener(k(b,d),c(e),f!==V)}),arguments)};b.wbg.__wbg_data_f6efcce74d694398=((b,d)=>{const e=c(d).data;var f=p(e)?V:o(e,a.__wbindgen_malloc,a.__wbindgen_realloc);var g=l;r()[b/a1+ R]=g;r()[b/a1+ V]=f});b.wbg.__wbg_state_9cc3f933b7d50acb=function(){return G((a=>{const b=c(a).state;return g(b)}),arguments)};b.wbg.__wbg_setchecked_931ff2ed2cd3ebfd=((a,b)=>{c(a).checked=b!==V});b.wbg.__wbg_value_47fe6384562f52ab=((b,d)=>{const e=c(d).value;const f=o(e,a.__wbindgen_malloc,a.__wbindgen_realloc);const g=l;r()[b/a1+ R]=g;r()[b/a1+ V]=f});b.wbg.__wbg_setvalue_78cb4f1fef58ae98=((a,b,d)=>{c(a).value=k(b,d)});b.wbg.__wbg_bubbles_abce839854481bc6=(a=>{const b=c(a).bubbles;return b});b.wbg.__wbg_cancelBubble_c0aa3172524eb03c=(a=>{const b=c(a).cancelBubble;return b});b.wbg.__wbg_composedPath_58473fd5ae55f2cd=(a=>{const b=c(a).composedPath();return g(b)});b.wbg.__wbg_href_706b235ecfe6848c=function(){return G(((b,d)=>{const e=c(d).href;const f=o(e,a.__wbindgen_malloc,a.__wbindgen_realloc);const g=l;r()[b/a1+ R]=g;r()[b/a1+ V]=f}),arguments)};b.wbg.__wbg_pathname_5449afe3829f96a1=function(){return G(((b,d)=>{const e=c(d).pathname;const f=o(e,a.__wbindgen_malloc,a.__wbindgen_realloc);const g=l;r()[b/a1+ R]=g;r()[b/a1+ V]=f}),arguments)};b.wbg.__wbg_search_489f12953342ec1f=function(){return G(((b,d)=>{const e=c(d).search;const f=o(e,a.__wbindgen_malloc,a.__wbindgen_realloc);const g=l;r()[b/a1+ R]=g;r()[b/a1+ V]=f}),arguments)};b.wbg.__wbg_hash_553098e838e06c1d=function(){return G(((b,d)=>{const e=c(d).hash;const f=o(e,a.__wbindgen_malloc,a.__wbindgen_realloc);const g=l;r()[b/a1+ R]=g;r()[b/a1+ V]=f}),arguments)};b.wbg.__wbg_parentNode_6be3abff20e1a5fb=(a=>{const b=c(a).parentNode;return p(b)?V:g(b)});b.wbg.__wbg_parentElement_347524db59fc2976=(a=>{const b=c(a).parentElement;return p(b)?V:g(b)});b.wbg.__wbg_childNodes_118168e8b23bcb9b=(a=>{const b=c(a).childNodes;return g(b)});b.wbg.__wbg_lastChild_83efe6d5da370e1f=(a=>{const b=c(a).lastChild;return p(b)?V:g(b)});b.wbg.__wbg_nextSibling_709614fdb0fb7a66=(a=>{const b=c(a).nextSibling;return p(b)?V:g(b)});b.wbg.__wbg_setnodeValue_94b86af0cda24b90=((a,b,d)=>{c(a).nodeValue=b===V?P:k(b,d)});b.wbg.__wbg_textContent_8e392d624539e731=((b,d)=>{const e=c(d).textContent;var f=p(e)?V:o(e,a.__wbindgen_malloc,a.__wbindgen_realloc);var g=l;r()[b/a1+ R]=g;r()[b/a1+ V]=f});b.wbg.__wbg_cloneNode_e19c313ea20d5d1d=function(){return G((a=>{const b=c(a).cloneNode();return g(b)}),arguments)};b.wbg.__wbg_insertBefore_d2a001abf538c1f8=function(){return G(((a,b,d)=>{const e=c(a).insertBefore(c(b),c(d));return g(e)}),arguments)};b.wbg.__wbg_removeChild_96bbfefd2f5a0261=function(){return G(((a,b)=>{const d=c(a).removeChild(c(b));return g(d)}),arguments)};b.wbg.__wbg_instanceof_ShadowRoot_9db040264422e84a=(a=>{let b;try{b=c(a) instanceof ShadowRoot}catch(a){b=!1}const d=b;return d});b.wbg.__wbg_host_c667c7623404d6bf=(a=>{const b=c(a).host;return g(b)});b.wbg.__wbg_get_bd8e338fbd5f5cc8=((a,b)=>{const d=c(a)[b>>>V];return g(d)});b.wbg.__wbg_length_cd7af8117672b8b8=(a=>{const b=c(a).length;return b});b.wbg.__wbg_newnoargs_e258087cd0daa0ea=((a,b)=>{const c=new Function(k(a,b));return g(c)});b.wbg.__wbg_call_27c0f87801dedf93=function(){return G(((a,b)=>{const d=c(a).call(c(b));return g(d)}),arguments)};b.wbg.__wbg_new_72fb9a18b5ae2624=(()=>{const a=new a2();return g(a)});b.wbg.__wbg_self_ce0dbfc45cf2f5be=function(){return G((()=>{const a=self.self;return g(a)}),arguments)};b.wbg.__wbg_window_c6fb939a7f436783=function(){return G((()=>{const a=window.window;return g(a)}),arguments)};b.wbg.__wbg_globalThis_d1e6af4856ba331b=function(){return G((()=>{const a=globalThis.globalThis;return g(a)}),arguments)};b.wbg.__wbg_global_207b558942527489=function(){return G((()=>{const a=global.global;return g(a)}),arguments)};b.wbg.__wbg_from_89e3fc3ba5e6fb48=(a=>{const b=N.from(c(a));return g(b)});b.wbg.__wbg_instanceof_ArrayBuffer_836825be07d4c9d2=(a=>{let b;try{b=c(a) instanceof ArrayBuffer}catch(a){b=!1}const d=b;return d});b.wbg.__wbg_isSafeInteger_f7b04ef02296c4d2=(a=>{const b=Number.isSafeInteger(c(a));return b});b.wbg.__wbg_entries_95cc2c823b285a09=(a=>{const b=a2.entries(c(a));return g(b)});b.wbg.__wbg_is_010fdc0f4ab96916=((a,b)=>{const d=a2.is(c(a),c(b));return d});b.wbg.__wbg_resolve_b0083a7967828ec8=(a=>{const b=Promise.resolve(c(a));return g(b)});b.wbg.__wbg_then_0c86a60e8fcfe9f6=((a,b)=>{const d=c(a).then(c(b));return g(d)});b.wbg.__wbg_buffer_12d079cc21e14bdb=(a=>{const b=c(a).buffer;return g(b)});b.wbg.__wbg_new_63b92bc8671ed464=(a=>{const b=new W(c(a));return g(b)});b.wbg.__wbg_set_a47bac70306a19a7=((a,b,d)=>{c(a).set(c(b),d>>>V)});b.wbg.__wbg_length_c20a40f15020d68a=(a=>{const b=c(a).length;return b});b.wbg.__wbg_instanceof_Uint8Array_2b3bbecd033d19f6=(a=>{let b;try{b=c(a) instanceof W}catch(a){b=!1}const d=b;return d});b.wbg.__wbg_set_1f9b04f170055d33=function(){return G(((a,b,d)=>{const e=Reflect.set(c(a),c(b),c(d));return e}),arguments)};b.wbg.__wbindgen_debug_string=((b,d)=>{const e=u(c(d));const f=o(e,a.__wbindgen_malloc,a.__wbindgen_realloc);const g=l;r()[b/a1+ R]=g;r()[b/a1+ V]=f});b.wbg.__wbindgen_throw=((a,b)=>{throw new U(k(a,b))});b.wbg.__wbindgen_memory=(()=>{const b=a.memory;return g(b)});b.wbg.__wbindgen_closure_wrapper925=((a,b,c)=>{const d=w(a,b,380,z);return g(d)});b.wbg.__wbindgen_closure_wrapper1025=((a,b,c)=>{const d=A(a,b,430,B);return g(d)});b.wbg.__wbindgen_closure_wrapper1087=((a,b,c)=>{const d=A(a,b,459,C);return g(d)});return b});var E=(()=>{if(D===Q||D.byteLength===V){D=new Uint32Array(a.memory.buffer)};return D});var B=((b,c,d)=>{a._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__hf0d67ea087c79d31(b,c,g(d))});var t=(()=>{if(s===Q||s.byteLength===V){s=new Float64Array(a.memory.buffer)};return s});var w=((b,c,d,e)=>{const f={a:b,b:c,cnt:R,dtor:d};const g=(...b)=>{f.cnt++;try{return e(f.a,f.b,...b)}finally{if(--f.cnt===V){a.__wbindgen_export_2.get(f.dtor)(f.a,f.b);f.a=V;v.unregister(f)}}};g.original=f;v.register(g,f,f);return g});var e=(a=>{if(a<132)return;b[a]=d;d=a});var A=((b,c,d,e)=>{const f={a:b,b:c,cnt:R,dtor:d};const g=(...b)=>{f.cnt++;const c=f.a;f.a=V;try{return e(c,f.b,...b)}finally{if(--f.cnt===V){a.__wbindgen_export_2.get(f.dtor)(c,f.b);v.unregister(f)}else{f.a=c}}};g.original=f;v.register(g,f,f);return g});var o=((a,b,c)=>{if(c===P){const c=m.encode(a);const d=b(c.length,R)>>>V;j().subarray(d,d+ c.length).set(c);l=c.length;return d};let d=a.length;let e=b(d,R)>>>V;const f=j();let g=V;for(;g<d;g++){const b=a.charCodeAt(g);if(b>127)break;f[e+ g]=b};if(g!==d){if(g!==V){a=a.slice(g)};e=c(e,d,d=g+ a.length*3,R)>>>V;const b=j().subarray(e+ g,e+ d);const f=n(a,b);g+=f.written;e=c(e,d,g,R)>>>V};l=g;return e});var j=(()=>{if(i===Q||i.byteLength===V){i=new W(a.memory.buffer)};return i});var k=((a,b)=>{a=a>>>V;return h.decode(j().subarray(a,a+ b))});var y=(a=>{if(x==R)throw new U(`out of js stack`);b[--x]=a;return x});let a;const b=new N(O).fill(P);b.push(P,Q,!0,!1);let d=b.length;const h=typeof TextDecoder!==S?new TextDecoder(T,{ignoreBOM:!0,fatal:!0}):{decode:()=>{throw U(`TextDecoder not available`)}};if(typeof TextDecoder!==S){h.decode()};let i=Q;let l=V;const m=typeof TextEncoder!==S?new TextEncoder(T):{encode:()=>{throw U(`TextEncoder not available`)}};const n=typeof m.encodeInto===X?((a,b)=>m.encodeInto(a,b)):((a,b)=>{const c=m.encode(a);b.set(c);return {read:a.length,written:c.length}});let q=Q;let s=Q;const v=typeof a0===S?{register:()=>{},unregister:()=>{}}:new a0(b=>{a.__wbindgen_export_2.get(b.dtor)(b.a,b.b)});let x=O;let D=Q;export default M;export{L as initSync} \ No newline at end of file +let V=0,Q=null,S=`undefined`,Z=`boolean`,O=128,_=`string`,R=1,$=`Object`,T=`utf-8`,Y=`number`,a1=4,X=`function`,N=Array,U=Error,a0=FinalizationRegistry,a2=Object,W=Uint8Array,P=undefined;var H=(async(a,b)=>{if(typeof Response===X&&a instanceof Response){if(typeof WebAssembly.instantiateStreaming===X){try{return await WebAssembly.instantiateStreaming(a,b)}catch(b){if(a.headers.get(`Content-Type`)!=`application/wasm`){console.warn(`\`WebAssembly.instantiateStreaming\` failed because your server does not serve wasm with \`application/wasm\` MIME type. Falling back to \`WebAssembly.instantiate\` which is slower. Original error:\\n`,b)}else{throw b}}};const c=await a.arrayBuffer();return await WebAssembly.instantiate(c,b)}else{const c=await WebAssembly.instantiate(a,b);if(c instanceof WebAssembly.Instance){return {instance:c,module:a}}else{return c}}});var u=(a=>{const b=typeof a;if(b==Y||b==Z||a==Q){return `${a}`};if(b==_){return `"${a}"`};if(b==`symbol`){const b=a.description;if(b==Q){return `Symbol`}else{return `Symbol(${b})`}};if(b==X){const b=a.name;if(typeof b==_&&b.length>V){return `Function(${b})`}else{return `Function`}};if(N.isArray(a)){const b=a.length;let c=`[`;if(b>V){c+=u(a[V])};for(let d=R;d<b;d++){c+=`, `+ u(a[d])};c+=`]`;return c};const c=/\[object ([^\]]+)\]/.exec(toString.call(a));let d;if(c.length>R){d=c[R]}else{return toString.call(a)};if(d==$){try{return `Object(`+ JSON.stringify(a)+ `)`}catch(a){return $}};if(a instanceof U){return `${a.name}: ${a.message}\n${a.stack}`};return d});var J=((a,b)=>{});var F=((a,b)=>{a=a>>>V;const c=E();const d=c.subarray(a/a1,a/a1+ b);const e=[];for(let a=V;a<d.length;a++){e.push(f(d[a]))};return e});var g=(a=>{if(d===b.length)b.push(b.length+ R);const c=d;d=b[c];b[c]=a;return c});var f=(a=>{const b=c(a);e(a);return b});var M=(async(b)=>{if(a!==P)return a;if(typeof b===S){b=new URL(`wordl-frontend-b37792d44628fb3b78168810b71a60fea38c34a958601a1772eb7b1f5529877fd311f47b9d8228bc97b5e72221ddfaba_bg.wasm`,import.meta.url)};const c=I();if(typeof b===_||typeof Request===X&&b instanceof Request||typeof URL===X&&b instanceof URL){b=fetch(b)};J(c);const {instance:d,module:e}=await H(await b,c);return K(d,e)});var L=(b=>{if(a!==P)return a;const c=I();J(c);if(!(b instanceof WebAssembly.Module)){b=new WebAssembly.Module(b)};const d=new WebAssembly.Instance(b,c);return K(d,b)});var z=((c,d,e)=>{try{a._dyn_core__ops__function__Fn___A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__ha93b891949e37217(c,d,y(e))}finally{b[x++]=P}});function G(b,c){try{return b.apply(this,c)}catch(b){a.__wbindgen_exn_store(g(b))}}var K=((b,c)=>{a=b.exports;M.__wbindgen_wasm_module=c;s=Q;q=Q;D=Q;i=Q;a.__wbindgen_start();return a});var C=((c,d,e)=>{try{a._dyn_core__ops__function__FnMut___A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h88dcd39c11638f78(c,d,y(e))}finally{b[x++]=P}});var r=(()=>{if(q===Q||q.byteLength===V){q=new Int32Array(a.memory.buffer)};return q});var p=(a=>a===P||a===Q);var c=(a=>b[a]);var I=(()=>{const b={};b.wbg={};b.wbg.__wbindgen_object_drop_ref=(a=>{f(a)});b.wbg.__wbindgen_object_clone_ref=(a=>{const b=c(a);return g(b)});b.wbg.__wbindgen_string_new=((a,b)=>{const c=k(a,b);return g(c)});b.wbg.__wbg_cachekey_b81c1aacc6a0645c=((a,b)=>{const d=c(b).__yew_subtree_cache_key;r()[a/a1+ R]=p(d)?V:d;r()[a/a1+ V]=!p(d)});b.wbg.__wbg_subtreeid_e80a1798fee782f9=((a,b)=>{const d=c(b).__yew_subtree_id;r()[a/a1+ R]=p(d)?V:d;r()[a/a1+ V]=!p(d)});b.wbg.__wbg_setsubtreeid_e1fab6b578c800cf=((a,b)=>{c(a).__yew_subtree_id=b>>>V});b.wbg.__wbg_setcachekey_75bcd45312087529=((a,b)=>{c(a).__yew_subtree_cache_key=b>>>V});b.wbg.__wbg_setlistenerid_f2e783343fa0cec1=((a,b)=>{c(a).__yew_listener_id=b>>>V});b.wbg.__wbg_listenerid_6dcf1c62b7b7de58=((a,b)=>{const d=c(b).__yew_listener_id;r()[a/a1+ R]=p(d)?V:d;r()[a/a1+ V]=!p(d)});b.wbg.__wbindgen_cb_drop=(a=>{const b=f(a).original;if(b.cnt--==R){b.a=V;return !0};const c=!1;return c});b.wbg.__wbg_new_abda76e883ba8a5f=(()=>{const a=new U();return g(a)});b.wbg.__wbg_stack_658279fe44541cf6=((b,d)=>{const e=c(d).stack;const f=o(e,a.__wbindgen_malloc,a.__wbindgen_realloc);const g=l;r()[b/a1+ R]=g;r()[b/a1+ V]=f});b.wbg.__wbg_error_f851667af71bcfc6=((b,c)=>{let d;let e;try{d=b;e=c;console.error(k(b,c))}finally{a.__wbindgen_free(d,e,R)}});b.wbg.__wbg_queueMicrotask_3cbae2ec6b6cd3d6=(a=>{const b=c(a).queueMicrotask;return g(b)});b.wbg.__wbindgen_is_function=(a=>{const b=typeof c(a)===X;return b});b.wbg.__wbg_queueMicrotask_481971b0d87f3dd4=(a=>{queueMicrotask(c(a))});b.wbg.__wbindgen_string_get=((b,d)=>{const e=c(d);const f=typeof e===_?e:P;var g=p(f)?V:o(f,a.__wbindgen_malloc,a.__wbindgen_realloc);var h=l;r()[b/a1+ R]=h;r()[b/a1+ V]=g});b.wbg.__wbindgen_is_string=(a=>{const b=typeof c(a)===_;return b});b.wbg.__wbindgen_is_object=(a=>{const b=c(a);const d=typeof b===`object`&&b!==Q;return d});b.wbg.__wbindgen_is_undefined=(a=>{const b=c(a)===P;return b});b.wbg.__wbindgen_in=((a,b)=>{const d=c(a) in c(b);return d});b.wbg.__wbindgen_error_new=((a,b)=>{const c=new U(k(a,b));return g(c)});b.wbg.__wbindgen_jsval_loose_eq=((a,b)=>{const d=c(a)==c(b);return d});b.wbg.__wbindgen_boolean_get=(a=>{const b=c(a);const d=typeof b===Z?(b?R:V):2;return d});b.wbg.__wbindgen_number_get=((a,b)=>{const d=c(b);const e=typeof d===Y?d:P;t()[a/8+ R]=p(e)?V:e;r()[a/a1+ V]=!p(e)});b.wbg.__wbindgen_as_number=(a=>{const b=+c(a);return b});b.wbg.__wbg_getwithrefkey_edc2c8960f0f1191=((a,b)=>{const d=c(a)[c(b)];return g(d)});b.wbg.__wbg_error_a526fb08a0205972=((b,c)=>{var d=F(b,c).slice();a.__wbindgen_free(b,c*a1,a1);console.error(...d)});b.wbg.__wbg_body_edb1908d3ceff3a1=(a=>{const b=c(a).body;return p(b)?V:g(b)});b.wbg.__wbg_createElement_8bae7856a4bb7411=function(){return G(((a,b,d)=>{const e=c(a).createElement(k(b,d));return g(e)}),arguments)};b.wbg.__wbg_createElementNS_556a62fb298be5a2=function(){return G(((a,b,d,e,f)=>{const h=c(a).createElementNS(b===V?P:k(b,d),k(e,f));return g(h)}),arguments)};b.wbg.__wbg_createTextNode_0c38fd80a5b2284d=((a,b,d)=>{const e=c(a).createTextNode(k(b,d));return g(e)});b.wbg.__wbg_querySelector_a5f74efc5fa193dd=function(){return G(((a,b,d)=>{const e=c(a).querySelector(k(b,d));return p(e)?V:g(e)}),arguments)};b.wbg.__wbg_instanceof_Window_f401953a2cf86220=(a=>{let b;try{b=c(a) instanceof Window}catch(a){b=!1}const d=b;return d});b.wbg.__wbg_document_5100775d18896c16=(a=>{const b=c(a).document;return p(b)?V:g(b)});b.wbg.__wbg_location_2951b5ee34f19221=(a=>{const b=c(a).location;return g(b)});b.wbg.__wbg_history_bc4057de66a2015f=function(){return G((a=>{const b=c(a).history;return g(b)}),arguments)};b.wbg.__wbg_instanceof_Element_6945fc210db80ea9=(a=>{let b;try{b=c(a) instanceof Element}catch(a){b=!1}const d=b;return d});b.wbg.__wbg_namespaceURI_5235ee79fd5f6781=((b,d)=>{const e=c(d).namespaceURI;var f=p(e)?V:o(e,a.__wbindgen_malloc,a.__wbindgen_realloc);var g=l;r()[b/a1+ R]=g;r()[b/a1+ V]=f});b.wbg.__wbg_setinnerHTML_26d69b59e1af99c7=((a,b,d)=>{c(a).innerHTML=k(b,d)});b.wbg.__wbg_outerHTML_e073aa84e7bc1eaf=((b,d)=>{const e=c(d).outerHTML;const f=o(e,a.__wbindgen_malloc,a.__wbindgen_realloc);const g=l;r()[b/a1+ R]=g;r()[b/a1+ V]=f});b.wbg.__wbg_removeAttribute_1b10a06ae98ebbd1=function(){return G(((a,b,d)=>{c(a).removeAttribute(k(b,d))}),arguments)};b.wbg.__wbg_setAttribute_3c9f6c303b696daa=function(){return G(((a,b,d,e,f)=>{c(a).setAttribute(k(b,d),k(e,f))}),arguments)};b.wbg.__wbg_href_2edbae9e92cdfeff=((b,d)=>{const e=c(d).href;const f=o(e,a.__wbindgen_malloc,a.__wbindgen_realloc);const g=l;r()[b/a1+ R]=g;r()[b/a1+ V]=f});b.wbg.__wbg_value_d7f5bfbd9302c14b=((b,d)=>{const e=c(d).value;const f=o(e,a.__wbindgen_malloc,a.__wbindgen_realloc);const g=l;r()[b/a1+ R]=g;r()[b/a1+ V]=f});b.wbg.__wbg_setvalue_090972231f0a4f6f=((a,b,d)=>{c(a).value=k(b,d)});b.wbg.__wbg_pathname_c5fe403ef9525ec6=((b,d)=>{const e=c(d).pathname;const f=o(e,a.__wbindgen_malloc,a.__wbindgen_realloc);const g=l;r()[b/a1+ R]=g;r()[b/a1+ V]=f});b.wbg.__wbg_search_c68f506c44be6d1e=((b,d)=>{const e=c(d).search;const f=o(e,a.__wbindgen_malloc,a.__wbindgen_realloc);const g=l;r()[b/a1+ R]=g;r()[b/a1+ V]=f});b.wbg.__wbg_hash_cdea7a9b7e684a42=((b,d)=>{const e=c(d).hash;const f=o(e,a.__wbindgen_malloc,a.__wbindgen_realloc);const g=l;r()[b/a1+ R]=g;r()[b/a1+ V]=f});b.wbg.__wbg_new_67853c351755d2cf=function(){return G(((a,b)=>{const c=new URL(k(a,b));return g(c)}),arguments)};b.wbg.__wbg_newwithbase_6aabbfb1b2e6a1cb=function(){return G(((a,b,c,d)=>{const e=new URL(k(a,b),k(c,d));return g(e)}),arguments)};b.wbg.__wbg_addEventListener_4283b15b4f039eb5=function(){return G(((a,b,d,e,f)=>{c(a).addEventListener(k(b,d),c(e),c(f))}),arguments)};b.wbg.__wbg_removeEventListener_5d31483804421bfa=function(){return G(((a,b,d,e,f)=>{c(a).removeEventListener(k(b,d),c(e),f!==V)}),arguments)};b.wbg.__wbg_data_f6efcce74d694398=((b,d)=>{const e=c(d).data;var f=p(e)?V:o(e,a.__wbindgen_malloc,a.__wbindgen_realloc);var g=l;r()[b/a1+ R]=g;r()[b/a1+ V]=f});b.wbg.__wbg_state_9cc3f933b7d50acb=function(){return G((a=>{const b=c(a).state;return g(b)}),arguments)};b.wbg.__wbg_setchecked_931ff2ed2cd3ebfd=((a,b)=>{c(a).checked=b!==V});b.wbg.__wbg_value_47fe6384562f52ab=((b,d)=>{const e=c(d).value;const f=o(e,a.__wbindgen_malloc,a.__wbindgen_realloc);const g=l;r()[b/a1+ R]=g;r()[b/a1+ V]=f});b.wbg.__wbg_setvalue_78cb4f1fef58ae98=((a,b,d)=>{c(a).value=k(b,d)});b.wbg.__wbg_bubbles_abce839854481bc6=(a=>{const b=c(a).bubbles;return b});b.wbg.__wbg_cancelBubble_c0aa3172524eb03c=(a=>{const b=c(a).cancelBubble;return b});b.wbg.__wbg_composedPath_58473fd5ae55f2cd=(a=>{const b=c(a).composedPath();return g(b)});b.wbg.__wbg_href_706b235ecfe6848c=function(){return G(((b,d)=>{const e=c(d).href;const f=o(e,a.__wbindgen_malloc,a.__wbindgen_realloc);const g=l;r()[b/a1+ R]=g;r()[b/a1+ V]=f}),arguments)};b.wbg.__wbg_pathname_5449afe3829f96a1=function(){return G(((b,d)=>{const e=c(d).pathname;const f=o(e,a.__wbindgen_malloc,a.__wbindgen_realloc);const g=l;r()[b/a1+ R]=g;r()[b/a1+ V]=f}),arguments)};b.wbg.__wbg_search_489f12953342ec1f=function(){return G(((b,d)=>{const e=c(d).search;const f=o(e,a.__wbindgen_malloc,a.__wbindgen_realloc);const g=l;r()[b/a1+ R]=g;r()[b/a1+ V]=f}),arguments)};b.wbg.__wbg_hash_553098e838e06c1d=function(){return G(((b,d)=>{const e=c(d).hash;const f=o(e,a.__wbindgen_malloc,a.__wbindgen_realloc);const g=l;r()[b/a1+ R]=g;r()[b/a1+ V]=f}),arguments)};b.wbg.__wbg_parentNode_6be3abff20e1a5fb=(a=>{const b=c(a).parentNode;return p(b)?V:g(b)});b.wbg.__wbg_parentElement_347524db59fc2976=(a=>{const b=c(a).parentElement;return p(b)?V:g(b)});b.wbg.__wbg_childNodes_118168e8b23bcb9b=(a=>{const b=c(a).childNodes;return g(b)});b.wbg.__wbg_lastChild_83efe6d5da370e1f=(a=>{const b=c(a).lastChild;return p(b)?V:g(b)});b.wbg.__wbg_nextSibling_709614fdb0fb7a66=(a=>{const b=c(a).nextSibling;return p(b)?V:g(b)});b.wbg.__wbg_setnodeValue_94b86af0cda24b90=((a,b,d)=>{c(a).nodeValue=b===V?P:k(b,d)});b.wbg.__wbg_textContent_8e392d624539e731=((b,d)=>{const e=c(d).textContent;var f=p(e)?V:o(e,a.__wbindgen_malloc,a.__wbindgen_realloc);var g=l;r()[b/a1+ R]=g;r()[b/a1+ V]=f});b.wbg.__wbg_cloneNode_e19c313ea20d5d1d=function(){return G((a=>{const b=c(a).cloneNode();return g(b)}),arguments)};b.wbg.__wbg_insertBefore_d2a001abf538c1f8=function(){return G(((a,b,d)=>{const e=c(a).insertBefore(c(b),c(d));return g(e)}),arguments)};b.wbg.__wbg_removeChild_96bbfefd2f5a0261=function(){return G(((a,b)=>{const d=c(a).removeChild(c(b));return g(d)}),arguments)};b.wbg.__wbg_instanceof_ShadowRoot_9db040264422e84a=(a=>{let b;try{b=c(a) instanceof ShadowRoot}catch(a){b=!1}const d=b;return d});b.wbg.__wbg_host_c667c7623404d6bf=(a=>{const b=c(a).host;return g(b)});b.wbg.__wbg_get_bd8e338fbd5f5cc8=((a,b)=>{const d=c(a)[b>>>V];return g(d)});b.wbg.__wbg_length_cd7af8117672b8b8=(a=>{const b=c(a).length;return b});b.wbg.__wbg_newnoargs_e258087cd0daa0ea=((a,b)=>{const c=new Function(k(a,b));return g(c)});b.wbg.__wbg_call_27c0f87801dedf93=function(){return G(((a,b)=>{const d=c(a).call(c(b));return g(d)}),arguments)};b.wbg.__wbg_new_72fb9a18b5ae2624=(()=>{const a=new a2();return g(a)});b.wbg.__wbg_self_ce0dbfc45cf2f5be=function(){return G((()=>{const a=self.self;return g(a)}),arguments)};b.wbg.__wbg_window_c6fb939a7f436783=function(){return G((()=>{const a=window.window;return g(a)}),arguments)};b.wbg.__wbg_globalThis_d1e6af4856ba331b=function(){return G((()=>{const a=globalThis.globalThis;return g(a)}),arguments)};b.wbg.__wbg_global_207b558942527489=function(){return G((()=>{const a=global.global;return g(a)}),arguments)};b.wbg.__wbg_from_89e3fc3ba5e6fb48=(a=>{const b=N.from(c(a));return g(b)});b.wbg.__wbg_instanceof_ArrayBuffer_836825be07d4c9d2=(a=>{let b;try{b=c(a) instanceof ArrayBuffer}catch(a){b=!1}const d=b;return d});b.wbg.__wbg_isSafeInteger_f7b04ef02296c4d2=(a=>{const b=Number.isSafeInteger(c(a));return b});b.wbg.__wbg_entries_95cc2c823b285a09=(a=>{const b=a2.entries(c(a));return g(b)});b.wbg.__wbg_is_010fdc0f4ab96916=((a,b)=>{const d=a2.is(c(a),c(b));return d});b.wbg.__wbg_resolve_b0083a7967828ec8=(a=>{const b=Promise.resolve(c(a));return g(b)});b.wbg.__wbg_then_0c86a60e8fcfe9f6=((a,b)=>{const d=c(a).then(c(b));return g(d)});b.wbg.__wbg_buffer_12d079cc21e14bdb=(a=>{const b=c(a).buffer;return g(b)});b.wbg.__wbg_new_63b92bc8671ed464=(a=>{const b=new W(c(a));return g(b)});b.wbg.__wbg_set_a47bac70306a19a7=((a,b,d)=>{c(a).set(c(b),d>>>V)});b.wbg.__wbg_length_c20a40f15020d68a=(a=>{const b=c(a).length;return b});b.wbg.__wbg_instanceof_Uint8Array_2b3bbecd033d19f6=(a=>{let b;try{b=c(a) instanceof W}catch(a){b=!1}const d=b;return d});b.wbg.__wbg_set_1f9b04f170055d33=function(){return G(((a,b,d)=>{const e=Reflect.set(c(a),c(b),c(d));return e}),arguments)};b.wbg.__wbindgen_debug_string=((b,d)=>{const e=u(c(d));const f=o(e,a.__wbindgen_malloc,a.__wbindgen_realloc);const g=l;r()[b/a1+ R]=g;r()[b/a1+ V]=f});b.wbg.__wbindgen_throw=((a,b)=>{throw new U(k(a,b))});b.wbg.__wbindgen_memory=(()=>{const b=a.memory;return g(b)});b.wbg.__wbindgen_closure_wrapper924=((a,b,c)=>{const d=w(a,b,377,z);return g(d)});b.wbg.__wbindgen_closure_wrapper1024=((a,b,c)=>{const d=A(a,b,427,B);return g(d)});b.wbg.__wbindgen_closure_wrapper1086=((a,b,c)=>{const d=A(a,b,456,C);return g(d)});return b});var E=(()=>{if(D===Q||D.byteLength===V){D=new Uint32Array(a.memory.buffer)};return D});var B=((b,c,d)=>{a._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__hf0d67ea087c79d31(b,c,g(d))});var t=(()=>{if(s===Q||s.byteLength===V){s=new Float64Array(a.memory.buffer)};return s});var w=((b,c,d,e)=>{const f={a:b,b:c,cnt:R,dtor:d};const g=(...b)=>{f.cnt++;try{return e(f.a,f.b,...b)}finally{if(--f.cnt===V){a.__wbindgen_export_2.get(f.dtor)(f.a,f.b);f.a=V;v.unregister(f)}}};g.original=f;v.register(g,f,f);return g});var e=(a=>{if(a<132)return;b[a]=d;d=a});var A=((b,c,d,e)=>{const f={a:b,b:c,cnt:R,dtor:d};const g=(...b)=>{f.cnt++;const c=f.a;f.a=V;try{return e(c,f.b,...b)}finally{if(--f.cnt===V){a.__wbindgen_export_2.get(f.dtor)(c,f.b);v.unregister(f)}else{f.a=c}}};g.original=f;v.register(g,f,f);return g});var o=((a,b,c)=>{if(c===P){const c=m.encode(a);const d=b(c.length,R)>>>V;j().subarray(d,d+ c.length).set(c);l=c.length;return d};let d=a.length;let e=b(d,R)>>>V;const f=j();let g=V;for(;g<d;g++){const b=a.charCodeAt(g);if(b>127)break;f[e+ g]=b};if(g!==d){if(g!==V){a=a.slice(g)};e=c(e,d,d=g+ a.length*3,R)>>>V;const b=j().subarray(e+ g,e+ d);const f=n(a,b);g+=f.written;e=c(e,d,g,R)>>>V};l=g;return e});var j=(()=>{if(i===Q||i.byteLength===V){i=new W(a.memory.buffer)};return i});var k=((a,b)=>{a=a>>>V;return h.decode(j().subarray(a,a+ b))});var y=(a=>{if(x==R)throw new U(`out of js stack`);b[--x]=a;return x});let a;const b=new N(O).fill(P);b.push(P,Q,!0,!1);let d=b.length;const h=typeof TextDecoder!==S?new TextDecoder(T,{ignoreBOM:!0,fatal:!0}):{decode:()=>{throw U(`TextDecoder not available`)}};if(typeof TextDecoder!==S){h.decode()};let i=Q;let l=V;const m=typeof TextEncoder!==S?new TextEncoder(T):{encode:()=>{throw U(`TextEncoder not available`)}};const n=typeof m.encodeInto===X?((a,b)=>m.encodeInto(a,b)):((a,b)=>{const c=m.encode(a);b.set(c);return {read:a.length,written:c.length}});let q=Q;let s=Q;const v=typeof a0===S?{register:()=>{},unregister:()=>{}}:new a0(b=>{a.__wbindgen_export_2.get(b.dtor)(b.a,b.b)});let x=O;let D=Q;export default M;export{L as initSync} \ No newline at end of file diff --git a/frontend/dist/wordl-frontend-b37792d44628fb3b78168810b71a60fea38c34a958601a1772eb7b1f5529877fd311f47b9d8228bc97b5e72221ddfaba_bg.wasm b/frontend/dist/wordl-frontend-b37792d44628fb3b78168810b71a60fea38c34a958601a1772eb7b1f5529877fd311f47b9d8228bc97b5e72221ddfaba_bg.wasm new file mode 100644 index 0000000..7145136 Binary files /dev/null and b/frontend/dist/wordl-frontend-b37792d44628fb3b78168810b71a60fea38c34a958601a1772eb7b1f5529877fd311f47b9d8228bc97b5e72221ddfaba_bg.wasm differ diff --git a/frontend/public/styles.css b/frontend/public/styles.css index 447f1f7..851db4e 100644 --- a/frontend/public/styles.css +++ b/frontend/public/styles.css @@ -544,13 +544,16 @@ video { --tw-backdrop-sepia: ; } -.mx-12 { - margin-left: 3rem; - margin-right: 3rem; +.mt-24 { + margin-top: 6rem; } -.mt-6 { - margin-top: 1.5rem; +.mt-8 { + margin-top: 2rem; +} + +.mt-\[15\%\] { + margin-top: 15%; } .flex { @@ -561,24 +564,28 @@ video { height: 4rem; } -.h-full { - height: 100%; +.h-4\/6 { + height: 66.666667%; +} + +.h-screen { + height: 100vh; } .w-12 { width: 3rem; } -.w-4 { - width: 1rem; +.w-16 { + width: 4rem; } .w-72 { width: 18rem; } -.w-full { - width: 100%; +.flex-1 { + flex: 1 1 0%; } .flex-row { @@ -597,8 +604,16 @@ video { justify-content: center; } -.justify-between { - justify-content: space-between; +.justify-items-center { + justify-items: center; +} + +.gap-8 { + gap: 2rem; +} + +.rounded-xl { + border-radius: 0.75rem; } .border-2 { @@ -630,13 +645,51 @@ video { background-color: rgb(74 222 128 / var(--tw-bg-opacity)); } +.bg-green-700 { + --tw-bg-opacity: 1; + background-color: rgb(21 128 61 / var(--tw-bg-opacity)); +} + .bg-yellow-400 { --tw-bg-opacity: 1; background-color: rgb(250 204 21 / var(--tw-bg-opacity)); } -.p-3 { - padding: 0.75rem; +.object-center { + -o-object-position: center; + object-position: center; +} + +.px-4 { + padding-left: 1rem; + padding-right: 1rem; +} + +.py-2 { + padding-top: 0.5rem; + padding-bottom: 0.5rem; +} + +.py-4 { + padding-top: 1rem; + padding-bottom: 1rem; +} + +.text-center { + text-align: center; +} + +.text-2xl { + font-size: 1.5rem; + line-height: 2rem; +} + +.font-bold { + font-weight: 700; +} + +.leading-tight { + line-height: 1.25; } .text-white { diff --git a/frontend/src/input.rs b/frontend/src/input.rs new file mode 100644 index 0000000..b6b8406 --- /dev/null +++ b/frontend/src/input.rs @@ -0,0 +1,79 @@ +use web_sys::HtmlInputElement; +use yew::prelude::*; + +#[derive(Properties, PartialEq)] +pub struct InputStringProps { + pub value: String, +} + +pub enum Msg { + CharInput(usize, String), +} + +pub struct InputString { + value: String, + nodes: Vec<NodeRef>, + focused_index: usize, +} + +impl Component for InputString { + type Message = Msg; + type Properties = InputStringProps; + + fn create(ctx: &Context<Self>) -> Self { + let value = ctx.props().value.clone(); + let nodes = vec![NodeRef::default(); value.len()]; + Self { + value, + nodes, + focused_index: 0, + } + } + + fn update(&mut self, _ctx: &Context<Self>, msg: Self::Message) -> bool { + match msg { + Msg::CharInput(index, new_char) => { + let mut new_value = self.value.clone(); + new_value.replace_range(index..index + 1, &new_char); + self.value = new_value; + + if index < self.value.len() - 1 { + self.focused_index = index + 1; + if let Some(next_node) = self.nodes.get(self.focused_index) { + if let Some(input) = next_node.cast::<HtmlInputElement>() { + input.focus().unwrap(); + } + } + } + true + } + } + } + + fn view(&self, ctx: &Context<Self>) -> Html { + let chars = self.value.chars().enumerate().map(|(index, char)| { + let on_input = ctx.link().callback(move |input: InputEvent| { + let new_char = input.data(); + Msg::CharInput(index, new_char.unwrap()) + }); + + html! { + <input + type="text" + maxlength=1 + value={char.to_string()} + oninput={on_input} + class="w-12 h-16 text-center" + ref={self.nodes.get(index).unwrap().clone()} + style={if index == self.focused_index { "background-color: yellow;" } else { "" }} + /> + } + }); + + html! { + <div style="display: flex; gap: 0.5rem;"> + { for chars } + </div> + } + } +} diff --git a/frontend/src/lib.rs b/frontend/src/lib.rs index 4ee1f67..182707b 100644 --- a/frontend/src/lib.rs +++ b/frontend/src/lib.rs @@ -2,6 +2,8 @@ pub mod pages; pub mod router; pub mod storage; +mod input; + use std::collections::HashMap; #[derive(Debug, PartialEq, Eq, Clone)] diff --git a/frontend/src/pages/home.rs b/frontend/src/pages/home.rs index 65db8f3..7905e67 100644 --- a/frontend/src/pages/home.rs +++ b/frontend/src/pages/home.rs @@ -1,19 +1,30 @@ +use web_sys::wasm_bindgen::convert::OptionIntoWasmAbi; use yew::prelude::*; use yew::{classes, function_component, html, Callback, Html}; use crate::CharStatus; fn string_to_html(input: &Vec<CharStatus<String>>) -> Html { - let classes = classes!("p-3"); + let classes = classes!( + "bg-gray-700", + "w-16", + "h-16", + "text-center", + "py-4", + // "justify-center", + // // "justify-items-center", + // "object-center", + // "items-center", + // "leading-tight" + ); html! { <ul class={ classes!( "flex", "flex-row", - "justify-between", - "w-72", - "mx-12" + "gap-8", + "mt-8", ) } > @@ -41,12 +52,21 @@ fn string_to_html(input: &Vec<CharStatus<String>>) -> Html { }, }; html!{ - <li + <li + class={ + classes!( + "flex", + "items-center" + ) + } + > + <span class={ classes.clone() } > {text} + </span> </li> }}).collect::<Html>() } @@ -58,136 +78,206 @@ fn string_to_html(input: &Vec<CharStatus<String>>) -> Html { pub fn Home() -> Html { let got_word = "HALLO"; let submitted_words = yew::use_state(|| vec![]); - let input = yew::use_state(|| { - vec![ - "".to_owned(), - "".to_owned(), - "".to_owned(), - "".to_owned(), - "".to_owned(), - ] + + let node_refs = use_state(|| vec![NodeRef::default(); 5]); + let input_values = use_state(|| vec!["".to_string(); 5]); + let game_over = use_state(|| false); + let game_over_check = { + let submitted_words = submitted_words.clone(); + let game_over = game_over.clone(); + Callback::from(move |_| { + if submitted_words.iter().count() >= 4 { + game_over.set(true); + } + }) + }; + + got_word.chars().enumerate().for_each(|(_, _)| { + let input_values = input_values.clone(); + let mut values = (*input_values).clone(); + values.push("".to_string()); + + let node_refs = node_refs.clone(); + let mut values = (*node_refs).clone(); + values.push(NodeRef::default()); }); let on_submit = { - let input = input.clone(); + let input_values = input_values.clone(); let submitted_words = submitted_words.clone(); - Callback::from(move |_: MouseEvent| { - let mut new_items = (*submitted_words).clone(); - new_items.push(crate::compare_strings(&got_word, &input.join(""))); - submitted_words.set(new_items); - }) - }; - - let editing_index = yew::use_state(|| None); - let editing_value = yew::use_state(|| String::new()); - - let on_click = { - let editing_index = editing_index.clone(); - let editing_value = editing_value.clone(); - let input = input.clone(); - Callback::from(move |index: usize| { - editing_index.set(Some(index)); - editing_value.set(input.to_vec()[index].clone()); - }) - }; - - let on_input = { - let editing_value = editing_value.clone(); - Callback::from(move |value: String| { - editing_value.set(value); - }) - }; - - let on_blur = { - let editing_index = editing_index.clone(); - let editing_value = editing_value.clone(); - let input = input.clone(); + let game_over = game_over.clone(); + let game_over_check = game_over_check.clone(); Callback::from(move |_| { - if let Some(index) = *editing_index { - let mut new_input = input.to_vec(); - new_input[index] = editing_value.to_uppercase().to_string(); - input.set(new_input); + if *game_over { + submitted_words.set(vec![]); + // input_values.set(vec![]); + game_over.set(false); + return; } - editing_index.set(None); + let values: Vec<_> = input_values.iter().map(|value| value.clone()).collect(); + if !values.iter().all(|v| !v.is_empty()) { + return; + } + let mut new_items = (*submitted_words).clone(); + new_items.push(crate::compare_strings(&got_word, &values.join(""))); + submitted_words.set(new_items); + game_over_check.emit(MouseEvent::none()); }) }; - html! { - <div + let view = { + let node_refs = node_refs.clone(); + let input_values = input_values.clone(); + move || { + html! { + <div + class={ + classes!( + "flex", + "flex-col", + "mt-[15%]", + // "justify-center", + // "justify-items-center", + "items-center", + "h-screen", + ) + } + > + <div + class="h-4/6" + > + <form + // onsubmit={on_submit} + > + <div + class={ + classes!( + "flex", + "flex-row", + "gap-8", + ) + } + > + { node_refs.iter().enumerate().map(|(index, node_ref)| { + let on_input = { + let node_ref = node_ref.clone(); + let input_values = input_values.clone(); + Callback::from(move |event: InputEvent| { + let value = event.data().unwrap(); + let mut values = (*input_values).clone(); + values[index] = value.to_uppercase(); + input_values.set(values); + if let Some(input) = node_ref.cast::<web_sys::HtmlInputElement>() { + input.value(); + } + }) + }; + html! { + <div + class="flex gap-8" + > + <input + ref={node_ref.clone()} + value={input_values[index].clone()} + oninput={on_input} + class={ + classes!( + "w-16", + "h-16", + "flex-1", + "text-center", + // "px-4", + // "py-2", + "bg-gray-600" + ) + } + /> + </div> + } + }).collect::<Html>() } + </div> + </form> + { for submitted_words.iter().map(|w| string_to_html(w))} + </div> + <button class={ classes!( - "w-full", - "flex", - "flex-col", - "mt-6", - "input-center" - ) - } - > - {submitted_words.iter().map(|w| string_to_html(&w)).collect::<Html>()} - // <div>{format!("{:?}",res)}</div> - // <div - // class={ - // classes!( - // "w-full", - // "h-16" - // ) - // } - // >{ - // got_word - // }</div> - <ul - class={ - classes!( - "flex", - "flex-row", - "justify-between", - "w-72", - "h-16", - "mx-12" - ) - } - > - { input.to_vec().iter().enumerate().map(|(index, item)| { - if let Some(editing_idx) = *editing_index { - if editing_idx == index { - html! { - <li - class="w-12 bg-gray-600 flex items-center justify-center" - > - <input - class="bg-gray-600 h-full w-full" - type="text" - value={editing_value.to_string()} - onblur={on_blur.clone()} - oninput={on_input.reform(|e: InputEvent| e.data().unwrap_or_default())} - /> - </li> - } - } else { - html! { <li - - class="w-4 bg-gray-600" - >{item}</li> } + "w-72", + "h-16", + // "mt-24", + "text-2xl", + "font-bold", + "rounded-xl", + "bg-green-700", + ) + } + onclick={on_submit} type="submit"> + { + if *game_over { + "Play again" + } + else { + "Submit" + } + } + </button> + </div> } - } else { - html! { <li - class="w-12 bg-gray-600" - onclick={on_click.reform(move |_| index)}>{item}</li> } - } - }).collect::<Html>() } - </ul> - // <input - // value={got_word} - // type="text" - // class={ - // classes!( - // "w-full", - // "h-16" - // ) - // } - // /> - <button onclick={on_submit}>{"Submit"}</button> - </div> - } + } + }; + + view() + // html! { + // <div + // class={ + // classes!( + // "mt-[15%]", + // "flex", + // "flex-col", + // "justify-center", + // "items-center" + // ) + // } + // > + // <div + // class={ + // classes!( + // "flex", + // "flex-row", + // "gap-8" + // ) + // } + // > + // {view()} + // { for input.iter().map(|i| { + // html!{ + // <input + // class={ + // classes!( + // "w-16", + // "h-16", + // "bg-gray-600" + // ) + // } + // value={<std::string::String as Clone>::clone(&*i)} + // /> + // } + // })} + // </div> + // <InputString value={" ".to_string()}/> + // <button + // class={ + // classes!( + // "w-72", + // "h-16", + // "mt-24", + // "text-2xl", + // "font-bold", + // "rounded-xl", + // "bg-green-700", + // ) + // } + // onclick={on_submit}>{"Submit"}</button> + // </div> + // } }