From bbc2720052a164b28c68614589f70628ac25dc0d Mon Sep 17 00:00:00 2001 From: JustTestingV Date: Tue, 30 Jul 2024 15:19:19 +0300 Subject: [PATCH] raw commit --- .gitignore | 1 + Cargo.toml | 113 +++ README.md | 22 + dist/index.html | 291 ++++++ ...sync-conflict-20240714-150407-AI463K6.html | 0 dist/lavina-web-client-68efb220d13c8c8b.js | 0 ...lavina-web-client-68efb220d13c8c8b_bg.wasm | 0 dist/lavina-web-client-e4f734c64a3621ba.js | 912 ++++++++++++++++++ ...lavina-web-client-e4f734c64a3621ba_bg.wasm | 0 pkg/.gitignore | 0 pkg/README.md | 10 + pkg/lavina_web_client.d.ts | 0 pkg/lavina_web_client.js | 0 pkg/lavina_web_client_bg.wasm | 0 pkg/lavina_web_client_bg.wasm.d.ts | 0 pkg/package.json | 0 public/amongus.png | Bin 0 -> 4415 bytes public/favicon.ico | Bin 0 -> 15406 bytes public/lavina_logo.jpg | Bin 0 -> 25620 bytes public/slowpoke_blinking.gif | Bin 0 -> 214901 bytes rust-toolchain.toml | 2 + src/app.rs | 118 +++ src/error_template.rs | 72 ++ src/fileserv.rs | 60 ++ src/lavina_clients/lavina_client.rs | 104 ++ src/lavina_clients/mod.rs | 1 + src/lib.rs | 17 + src/main.rs | 42 + src/models/conversation.rs | 18 + src/models/mod.rs | 1 + src/web_pages/chat_page.rs | 90 ++ src/web_pages/mod.rs | 3 + src/web_pages/welcome_page.rs | 142 +++ style/main.scss | 369 +++++++ 34 files changed, 2388 insertions(+) create mode 100755 .gitignore create mode 100644 Cargo.toml create mode 100644 README.md create mode 100644 dist/index.html create mode 100644 dist/index.sync-conflict-20240714-150407-AI463K6.html create mode 100644 dist/lavina-web-client-68efb220d13c8c8b.js create mode 100644 dist/lavina-web-client-68efb220d13c8c8b_bg.wasm create mode 100644 dist/lavina-web-client-e4f734c64a3621ba.js create mode 100644 dist/lavina-web-client-e4f734c64a3621ba_bg.wasm create mode 100644 pkg/.gitignore create mode 100644 pkg/README.md create mode 100644 pkg/lavina_web_client.d.ts create mode 100644 pkg/lavina_web_client.js create mode 100644 pkg/lavina_web_client_bg.wasm create mode 100644 pkg/lavina_web_client_bg.wasm.d.ts create mode 100644 pkg/package.json create mode 100755 public/amongus.png create mode 100644 public/favicon.ico create mode 100755 public/lavina_logo.jpg create mode 100644 public/slowpoke_blinking.gif create mode 100644 rust-toolchain.toml create mode 100644 src/app.rs create mode 100644 src/error_template.rs create mode 100644 src/fileserv.rs create mode 100644 src/lavina_clients/lavina_client.rs create mode 100644 src/lavina_clients/mod.rs create mode 100644 src/lib.rs create mode 100644 src/main.rs create mode 100644 src/models/conversation.rs create mode 100644 src/models/mod.rs create mode 100644 src/web_pages/chat_page.rs create mode 100644 src/web_pages/mod.rs create mode 100644 src/web_pages/welcome_page.rs create mode 100644 style/main.scss diff --git a/.gitignore b/.gitignore new file mode 100755 index 0000000..ea8c4bf --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/target diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..bf949a5 --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,113 @@ +[package] +name = "lavina-web-client" +version = "0.1.0" +edition = "2021" + +[build] +rustflags = ["--cfg", "tokio_unstable"] + + +[lib] +crate-type = ["cdylib", "rlib"] + +[dependencies] +axum = { version = "0.7.5", optional = true } +console_error_panic_hook = "0.1.7" +leptos = { version = "0.6.12", features = ["nightly"] } +leptos_axum = { version = "0.6.12", optional = true } +leptos_meta = { version = "0.6.12", features = ["nightly"] } +leptos_router = { version = "0.6.12", features = ["nightly"] } +tokio = { version = "1.38.0", features = ["full"], optional = true } +tower = { version = "0.4.13", optional = true } +tower-http = { version = "0.5.2", features = ["fs"], optional = true } +wasm-bindgen = "=0.2.92" +thiserror = "1.0.62" +tracing = { version = "0.1.40", optional = true } +http = "1.1.0" +rand = "0.8.5" +reqwest= { version = "0.12.5", features = ["json"] } +#uuid = { version = "1.10.0", features = ["v4"] } + +[features] +hydrate = ["leptos/hydrate", "leptos_meta/hydrate", "leptos_router/hydrate"] +ssr = [ + "dep:axum", + "dep:tokio", + "dep:tower", + "dep:tower-http", + "dep:leptos_axum", + "leptos/ssr", + "leptos_meta/ssr", + "leptos_router/ssr", + "dep:tracing", +] + +# Defines a size-optimized profile for the WASM bundle in release mode +[profile.wasm-release] +inherits = "release" +opt-level = 'z' +lto = true +codegen-units = 1 +panic = "abort" + +[package.metadata.leptos] +# The name used by wasm-bindgen/cargo-leptos for the JS/WASM bundle. Defaults to the crate name +output-name = "lavina-web-client-output" + +# The site root folder is where cargo-leptos generate all output. WARNING: all content of this folder will be erased on a rebuild. Use it in your server setup. +site-root = "target/site" + +# The site-root relative folder where all compiled output (JS, WASM and CSS) is written +# Defaults to pkg +site-pkg-dir = "pkg" + +# [Optional] The source CSS file. If it ends with .sass or .scss then it will be compiled by dart-sass into CSS. The CSS is optimized by Lightning CSS before being written to //app.css +style-file = "style/main.scss" +# Assets source dir. All files found here will be copied and synchronized to site-root. +# The assets-dir cannot have a sub directory with the same name/path as site-pkg-dir. +# +# Optional. Env: LEPTOS_ASSETS_DIR. +assets-dir = "public" + +# The IP and port (ex: 127.0.0.1:3000) where the server serves the content. Use it in your server setup. +site-addr = "127.0.0.1:3000" + +# The port to use for automatic reload monitoring +reload-port = 3001 + +# [Optional] Command to use when running end2end tests. It will run in the end2end dir. +# [Windows] for non-WSL use "npx.cmd playwright test" +# This binary name can be checked in Powershell with Get-Command npx +end2end-cmd = "npx playwright test" +end2end-dir = "end2end" + +# The browserlist query used for optimizing the CSS. +browserquery = "defaults" + +# The environment Leptos will run in, usually either "DEV" or "PROD" +env = "DEV" + +# The features to use when compiling the bin target +# +# Optional. Can be over-ridden with the command line parameter --bin-features +bin-features = ["ssr"] + +# If the --no-default-features flag should be used when compiling the bin target +# +# Optional. Defaults to false. +bin-default-features = false + +# The features to use when compiling the lib target +# +# Optional. Can be over-ridden with the command line parameter --lib-features +lib-features = ["hydrate"] + +# If the --no-default-features flag should be used when compiling the lib target +# +# Optional. Defaults to false. +lib-default-features = false + +# The profile to use for the lib target when compiling for release +# +# Optional. Defaults to "release". +lib-profile-release = "wasm-release" diff --git a/README.md b/README.md new file mode 100644 index 0000000..96a298c --- /dev/null +++ b/README.md @@ -0,0 +1,22 @@ +```bash +rustup toolchain install nightly --allow-downgrade +rustup target add wasm32-unknown-unknown +``` +```bash +cargo install cargo-leptos --locked +``` + +legacy +```bash +cargo install trunk +trunk serve --open --port 6942 +``` + +```bash +cargo leptos watch +``` + +```bash +cargo clean +cargo leptos watch +``` \ No newline at end of file diff --git a/dist/index.html b/dist/index.html new file mode 100644 index 0000000..2dfc801 --- /dev/null +++ b/dist/index.html @@ -0,0 +1,291 @@ + + +Lavina + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/dist/index.sync-conflict-20240714-150407-AI463K6.html b/dist/index.sync-conflict-20240714-150407-AI463K6.html new file mode 100644 index 0000000..e69de29 diff --git a/dist/lavina-web-client-68efb220d13c8c8b.js b/dist/lavina-web-client-68efb220d13c8c8b.js new file mode 100644 index 0000000..e69de29 diff --git a/dist/lavina-web-client-68efb220d13c8c8b_bg.wasm b/dist/lavina-web-client-68efb220d13c8c8b_bg.wasm new file mode 100644 index 0000000..e69de29 diff --git a/dist/lavina-web-client-e4f734c64a3621ba.js b/dist/lavina-web-client-e4f734c64a3621ba.js new file mode 100644 index 0000000..7a84ab8 --- /dev/null +++ b/dist/lavina-web-client-e4f734c64a3621ba.js @@ -0,0 +1,912 @@ +let wasm; + +const cachedTextDecoder = (typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-8', { ignoreBOM: true, fatal: true }) : { decode: () => { throw Error('TextDecoder not available') } } ); + +if (typeof TextDecoder !== 'undefined') { cachedTextDecoder.decode(); }; + +let cachedUint8Memory0 = null; + +function getUint8Memory0() { + if (cachedUint8Memory0 === null || cachedUint8Memory0.byteLength === 0) { + cachedUint8Memory0 = new Uint8Array(wasm.memory.buffer); + } + return cachedUint8Memory0; +} + +function getStringFromWasm0(ptr, len) { + ptr = ptr >>> 0; + return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr, ptr + len)); +} + +const heap = new Array(128).fill(undefined); + +heap.push(undefined, null, true, false); + +let heap_next = heap.length; + +function addHeapObject(obj) { + if (heap_next === heap.length) heap.push(heap.length + 1); + const idx = heap_next; + heap_next = heap[idx]; + + heap[idx] = obj; + return idx; +} + +function getObject(idx) { return heap[idx]; } + +function dropObject(idx) { + if (idx < 132) return; + heap[idx] = heap_next; + heap_next = idx; +} + +function takeObject(idx) { + const ret = getObject(idx); + dropObject(idx); + return ret; +} + +function debugString(val) { + // primitive types + const type = typeof val; + if (type == 'number' || type == 'boolean' || val == null) { + return `${val}`; + } + if (type == 'string') { + return `"${val}"`; + } + if (type == 'symbol') { + const description = val.description; + if (description == null) { + return 'Symbol'; + } else { + return `Symbol(${description})`; + } + } + if (type == 'function') { + const name = val.name; + if (typeof name == 'string' && name.length > 0) { + return `Function(${name})`; + } else { + return 'Function'; + } + } + // objects + if (Array.isArray(val)) { + const length = val.length; + let debug = '['; + if (length > 0) { + debug += debugString(val[0]); + } + for(let i = 1; i < length; i++) { + debug += ', ' + debugString(val[i]); + } + debug += ']'; + return debug; + } + // Test for built-in + const builtInMatches = /\[object ([^\]]+)\]/.exec(toString.call(val)); + let className; + if (builtInMatches.length > 1) { + className = builtInMatches[1]; + } else { + // Failed to match the standard '[object ClassName]' + return toString.call(val); + } + if (className == 'Object') { + // we're a user defined class or Object + // JSON.stringify avoids problems with cycles, and is generally much + // easier than looping through ownProperties of `val`. + try { + return 'Object(' + JSON.stringify(val) + ')'; + } catch (_) { + return 'Object'; + } + } + // errors + if (val instanceof Error) { + return `${val.name}: ${val.message}\n${val.stack}`; + } + // TODO we could test for more things here, like `Set`s and `Map`s. + return className; +} + +let WASM_VECTOR_LEN = 0; + +const cachedTextEncoder = (typeof TextEncoder !== 'undefined' ? new TextEncoder('utf-8') : { encode: () => { throw Error('TextEncoder not available') } } ); + +const encodeString = (typeof cachedTextEncoder.encodeInto === 'function' + ? function (arg, view) { + return cachedTextEncoder.encodeInto(arg, view); +} + : function (arg, view) { + const buf = cachedTextEncoder.encode(arg); + view.set(buf); + return { + read: arg.length, + written: buf.length + }; +}); + +function passStringToWasm0(arg, malloc, realloc) { + + if (realloc === undefined) { + const buf = cachedTextEncoder.encode(arg); + const ptr = malloc(buf.length, 1) >>> 0; + getUint8Memory0().subarray(ptr, ptr + buf.length).set(buf); + WASM_VECTOR_LEN = buf.length; + return ptr; + } + + let len = arg.length; + let ptr = malloc(len, 1) >>> 0; + + const mem = getUint8Memory0(); + + let offset = 0; + + for (; offset < len; offset++) { + const code = arg.charCodeAt(offset); + if (code > 0x7F) break; + mem[ptr + offset] = code; + } + + if (offset !== len) { + if (offset !== 0) { + arg = arg.slice(offset); + } + ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0; + const view = getUint8Memory0().subarray(ptr + offset, ptr + len); + const ret = encodeString(arg, view); + + offset += ret.written; + ptr = realloc(ptr, len, offset, 1) >>> 0; + } + + WASM_VECTOR_LEN = offset; + return ptr; +} + +let cachedInt32Memory0 = null; + +function getInt32Memory0() { + if (cachedInt32Memory0 === null || cachedInt32Memory0.byteLength === 0) { + cachedInt32Memory0 = new Int32Array(wasm.memory.buffer); + } + return cachedInt32Memory0; +} + +const CLOSURE_DTORS = (typeof FinalizationRegistry === 'undefined') + ? { register: () => {}, unregister: () => {} } + : new FinalizationRegistry(state => { + wasm.__wbindgen_export_2.get(state.dtor)(state.a, state.b) +}); + +function makeMutClosure(arg0, arg1, dtor, f) { + const state = { a: arg0, b: arg1, cnt: 1, dtor }; + const real = (...args) => { + // First up with a closure we increment the internal reference + // count. This ensures that the Rust closure environment won't + // be deallocated while we're invoking it. + state.cnt++; + const a = state.a; + state.a = 0; + try { + return f(a, state.b, ...args); + } finally { + if (--state.cnt === 0) { + wasm.__wbindgen_export_2.get(state.dtor)(a, state.b); + CLOSURE_DTORS.unregister(state); + } else { + state.a = a; + } + } + }; + real.original = state; + CLOSURE_DTORS.register(real, state, state); + return real; +} +function __wbg_adapter_32(arg0, arg1, arg2) { + wasm._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h6b0b8b5a1ea02d7d(arg0, arg1, addHeapObject(arg2)); +} + +function __wbg_adapter_35(arg0, arg1, arg2) { + wasm._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__hb2778074fcfd92d7(arg0, arg1, addHeapObject(arg2)); +} + +function __wbg_adapter_38(arg0, arg1, arg2) { + wasm._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h488c718ca210acee(arg0, arg1, addHeapObject(arg2)); +} + +function __wbg_adapter_41(arg0, arg1, arg2) { + wasm._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h09458c03ea3fc232(arg0, arg1, addHeapObject(arg2)); +} + +function handleError(f, args) { + try { + return f.apply(this, args); + } catch (e) { + wasm.__wbindgen_exn_store(addHeapObject(e)); + } +} + +function getCachedStringFromWasm0(ptr, len) { + if (ptr === 0) { + return getObject(len); + } else { + return getStringFromWasm0(ptr, len); + } +} + +function isLikeNone(x) { + return x === undefined || x === null; +} +function __wbg_adapter_174(arg0, arg1, arg2, arg3) { + wasm.wasm_bindgen__convert__closures__invoke2_mut__hb9001d83105a6412(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3)); +} + +const IntoUnderlyingByteSourceFinalization = (typeof FinalizationRegistry === 'undefined') + ? { register: () => {}, unregister: () => {} } + : new FinalizationRegistry(ptr => wasm.__wbg_intounderlyingbytesource_free(ptr >>> 0)); +/** +*/ +export class IntoUnderlyingByteSource { + + __destroy_into_raw() { + const ptr = this.__wbg_ptr; + this.__wbg_ptr = 0; + IntoUnderlyingByteSourceFinalization.unregister(this); + return ptr; + } + + free() { + const ptr = this.__destroy_into_raw(); + wasm.__wbg_intounderlyingbytesource_free(ptr); + } + /** + * @returns {string} + */ + get type() { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + wasm.intounderlyingbytesource_type(retptr, this.__wbg_ptr); + var r0 = getInt32Memory0()[retptr / 4 + 0]; + var r1 = getInt32Memory0()[retptr / 4 + 1]; + var v1 = getCachedStringFromWasm0(r0, r1); + if (r0 !== 0) { wasm.__wbindgen_free(r0, r1, 1); } + return v1; + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } +} +/** +* @returns {number} +*/ +get autoAllocateChunkSize() { + const ret = wasm.intounderlyingbytesource_autoAllocateChunkSize(this.__wbg_ptr); + return ret >>> 0; +} +/** +* @param {ReadableByteStreamController} controller +*/ +start(controller) { + wasm.intounderlyingbytesource_start(this.__wbg_ptr, addHeapObject(controller)); +} +/** +* @param {ReadableByteStreamController} controller +* @returns {Promise} +*/ +pull(controller) { + const ret = wasm.intounderlyingbytesource_pull(this.__wbg_ptr, addHeapObject(controller)); + return takeObject(ret); +} +/** +*/ +cancel() { + const ptr = this.__destroy_into_raw(); + wasm.intounderlyingbytesource_cancel(ptr); +} +} + +const IntoUnderlyingSinkFinalization = (typeof FinalizationRegistry === 'undefined') + ? { register: () => {}, unregister: () => {} } + : new FinalizationRegistry(ptr => wasm.__wbg_intounderlyingsink_free(ptr >>> 0)); +/** +*/ +export class IntoUnderlyingSink { + + __destroy_into_raw() { + const ptr = this.__wbg_ptr; + this.__wbg_ptr = 0; + IntoUnderlyingSinkFinalization.unregister(this); + return ptr; + } + + free() { + const ptr = this.__destroy_into_raw(); + wasm.__wbg_intounderlyingsink_free(ptr); + } + /** + * @param {any} chunk + * @returns {Promise} + */ + write(chunk) { + const ret = wasm.intounderlyingsink_write(this.__wbg_ptr, addHeapObject(chunk)); + return takeObject(ret); + } + /** + * @returns {Promise} + */ + close() { + const ptr = this.__destroy_into_raw(); + const ret = wasm.intounderlyingsink_close(ptr); + return takeObject(ret); + } + /** + * @param {any} reason + * @returns {Promise} + */ + abort(reason) { + const ptr = this.__destroy_into_raw(); + const ret = wasm.intounderlyingsink_abort(ptr, addHeapObject(reason)); + return takeObject(ret); + } +} + +const IntoUnderlyingSourceFinalization = (typeof FinalizationRegistry === 'undefined') + ? { register: () => {}, unregister: () => {} } + : new FinalizationRegistry(ptr => wasm.__wbg_intounderlyingsource_free(ptr >>> 0)); +/** +*/ +export class IntoUnderlyingSource { + + __destroy_into_raw() { + const ptr = this.__wbg_ptr; + this.__wbg_ptr = 0; + IntoUnderlyingSourceFinalization.unregister(this); + return ptr; + } + + free() { + const ptr = this.__destroy_into_raw(); + wasm.__wbg_intounderlyingsource_free(ptr); + } + /** + * @param {ReadableStreamDefaultController} controller + * @returns {Promise} + */ + pull(controller) { + const ret = wasm.intounderlyingsource_pull(this.__wbg_ptr, addHeapObject(controller)); + return takeObject(ret); + } + /** + */ + cancel() { + const ptr = this.__destroy_into_raw(); + wasm.intounderlyingsource_cancel(ptr); + } +} + +async function __wbg_load(module, imports) { + if (typeof Response === 'function' && module instanceof Response) { + if (typeof WebAssembly.instantiateStreaming === 'function') { + try { + return await WebAssembly.instantiateStreaming(module, imports); + + } catch (e) { + if (module.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", e); + + } else { + throw e; + } + } + } + + const bytes = await module.arrayBuffer(); + return await WebAssembly.instantiate(bytes, imports); + + } else { + const instance = await WebAssembly.instantiate(module, imports); + + if (instance instanceof WebAssembly.Instance) { + return { instance, module }; + + } else { + return instance; + } + } +} + +function __wbg_get_imports() { + const imports = {}; + imports.wbg = {}; + imports.wbg.__wbindgen_string_new = function(arg0, arg1) { + const ret = getStringFromWasm0(arg0, arg1); + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_object_clone_ref = function(arg0) { + const ret = getObject(arg0); + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_is_object = function(arg0) { + const val = getObject(arg0); + const ret = typeof(val) === 'object' && val !== null; + return ret; + }; + imports.wbg.__wbindgen_is_string = function(arg0) { + const ret = typeof(getObject(arg0)) === 'string'; + return ret; + }; + imports.wbg.__wbg_crypto_d05b68a3572bb8ca = function(arg0) { + const ret = getObject(arg0).crypto; + return addHeapObject(ret); + }; + imports.wbg.__wbg_msCrypto_10fc94afee92bd76 = function(arg0) { + const ret = getObject(arg0).msCrypto; + return addHeapObject(ret); + }; + imports.wbg.__wbg_getRandomValues_7e42b4fb8779dc6d = function() { return handleError(function (arg0, arg1) { + getObject(arg0).getRandomValues(getObject(arg1)); + }, arguments) }; + imports.wbg.__wbg_randomFillSync_b70ccbdf4926a99d = function() { return handleError(function (arg0, arg1) { + getObject(arg0).randomFillSync(takeObject(arg1)); + }, arguments) }; + imports.wbg.__wbg_require_9a7e0f667ead4995 = function() { return handleError(function () { + const ret = module.require; + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_process_b02b3570280d0366 = function(arg0) { + const ret = getObject(arg0).process; + return addHeapObject(ret); + }; + imports.wbg.__wbg_versions_c1cb42213cedf0f5 = function(arg0) { + const ret = getObject(arg0).versions; + return addHeapObject(ret); + }; + imports.wbg.__wbg_node_43b1089f407e4ec2 = function(arg0) { + const ret = getObject(arg0).node; + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_is_undefined = function(arg0) { + const ret = getObject(arg0) === undefined; + return ret; + }; + imports.wbg.__wbindgen_is_null = function(arg0) { + const ret = getObject(arg0) === null; + return ret; + }; + imports.wbg.__wbindgen_jsval_eq = function(arg0, arg1) { + const ret = getObject(arg0) === getObject(arg1); + return ret; + }; + imports.wbg.__wbindgen_is_falsy = function(arg0) { + const ret = !getObject(arg0); + return ret; + }; + imports.wbg.__wbindgen_cb_drop = function(arg0) { + const obj = takeObject(arg0).original; + if (obj.cnt-- == 1) { + obj.a = 0; + return true; + } + const ret = false; + return ret; + }; + imports.wbg.__wbg_instanceof_Window_f401953a2cf86220 = function(arg0) { + let result; + try { + result = getObject(arg0) instanceof Window; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_document_5100775d18896c16 = function(arg0) { + const ret = getObject(arg0).document; + return isLikeNone(ret) ? 0 : addHeapObject(ret); + }; + imports.wbg.__wbg_body_edb1908d3ceff3a1 = function(arg0) { + const ret = getObject(arg0).body; + return isLikeNone(ret) ? 0 : addHeapObject(ret); + }; + imports.wbg.__wbg_createComment_354ccab4fdc521ee = function(arg0, arg1, arg2) { + var v0 = getCachedStringFromWasm0(arg1, arg2); + const ret = getObject(arg0).createComment(v0); + return addHeapObject(ret); + }; + imports.wbg.__wbg_createDocumentFragment_8c86903bbb0a3c3c = function(arg0) { + const ret = getObject(arg0).createDocumentFragment(); + return addHeapObject(ret); + }; + imports.wbg.__wbg_createElement_8bae7856a4bb7411 = function() { return handleError(function (arg0, arg1, arg2) { + var v0 = getCachedStringFromWasm0(arg1, arg2); + const ret = getObject(arg0).createElement(v0); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_createTextNode_0c38fd80a5b2284d = function(arg0, arg1, arg2) { + var v0 = getCachedStringFromWasm0(arg1, arg2); + const ret = getObject(arg0).createTextNode(v0); + return addHeapObject(ret); + }; + imports.wbg.__wbg_namespaceURI_5235ee79fd5f6781 = function(arg0, arg1) { + const ret = getObject(arg1).namespaceURI; + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getInt32Memory0()[arg0 / 4 + 1] = len1; + getInt32Memory0()[arg0 / 4 + 0] = ptr1; + }; + imports.wbg.__wbg_setinnerHTML_26d69b59e1af99c7 = function(arg0, arg1, arg2) { + var v0 = getCachedStringFromWasm0(arg1, arg2); + getObject(arg0).innerHTML = v0; + }; + imports.wbg.__wbg_outerHTML_e073aa84e7bc1eaf = function(arg0, arg1) { + const ret = getObject(arg1).outerHTML; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getInt32Memory0()[arg0 / 4 + 1] = len1; + getInt32Memory0()[arg0 / 4 + 0] = ptr1; + }; + imports.wbg.__wbg_removeAttribute_1b10a06ae98ebbd1 = function() { return handleError(function (arg0, arg1, arg2) { + var v0 = getCachedStringFromWasm0(arg1, arg2); + getObject(arg0).removeAttribute(v0); + }, arguments) }; + imports.wbg.__wbg_setAttribute_3c9f6c303b696daa = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) { + var v0 = getCachedStringFromWasm0(arg1, arg2); + var v1 = getCachedStringFromWasm0(arg3, arg4); + getObject(arg0).setAttribute(v0, v1); + }, arguments) }; + imports.wbg.__wbg_before_210596e44d88649f = function() { return handleError(function (arg0, arg1) { + getObject(arg0).before(getObject(arg1)); + }, arguments) }; + imports.wbg.__wbg_remove_49b0a5925a04b955 = function(arg0) { + getObject(arg0).remove(); + }; + imports.wbg.__wbg_append_a85eed95dd318e79 = function() { return handleError(function (arg0, arg1, arg2) { + getObject(arg0).append(getObject(arg1), getObject(arg2)); + }, arguments) }; + imports.wbg.__wbg_close_a994f9425dab445c = function() { return handleError(function (arg0) { + getObject(arg0).close(); + }, arguments) }; + imports.wbg.__wbg_enqueue_ea194723156c0cc2 = function() { return handleError(function (arg0, arg1) { + getObject(arg0).enqueue(getObject(arg1)); + }, arguments) }; + imports.wbg.__wbg_append_7ba9d5c2eb183eea = function() { return handleError(function (arg0, arg1) { + getObject(arg0).append(getObject(arg1)); + }, arguments) }; + imports.wbg.__wbg_append_f7fa3534fc158323 = function() { return handleError(function (arg0, arg1, arg2) { + getObject(arg0).append(getObject(arg1), getObject(arg2)); + }, arguments) }; + imports.wbg.__wbg_length_d0a802565d17eec4 = function(arg0) { + const ret = getObject(arg0).length; + return ret; + }; + imports.wbg.__wbg_target_2fc177e386c8b7b0 = function(arg0) { + const ret = getObject(arg0).target; + return isLikeNone(ret) ? 0 : addHeapObject(ret); + }; + imports.wbg.__wbg_cancelBubble_c0aa3172524eb03c = function(arg0) { + const ret = getObject(arg0).cancelBubble; + return ret; + }; + imports.wbg.__wbg_composedPath_58473fd5ae55f2cd = function(arg0) { + const ret = getObject(arg0).composedPath(); + return addHeapObject(ret); + }; + imports.wbg.__wbg_key_dccf9e8aa1315a8e = function(arg0, arg1) { + const ret = getObject(arg1).key; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getInt32Memory0()[arg0 / 4 + 1] = len1; + getInt32Memory0()[arg0 / 4 + 0] = ptr1; + }; + imports.wbg.__wbg_byobRequest_72fca99f9c32c193 = function(arg0) { + const ret = getObject(arg0).byobRequest; + return isLikeNone(ret) ? 0 : addHeapObject(ret); + }; + imports.wbg.__wbg_close_184931724d961ccc = function() { return handleError(function (arg0) { + getObject(arg0).close(); + }, arguments) }; + imports.wbg.__wbg_value_47fe6384562f52ab = function(arg0, arg1) { + const ret = getObject(arg1).value; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getInt32Memory0()[arg0 / 4 + 1] = len1; + getInt32Memory0()[arg0 / 4 + 0] = ptr1; + }; + imports.wbg.__wbg_parentNode_6be3abff20e1a5fb = function(arg0) { + const ret = getObject(arg0).parentNode; + return isLikeNone(ret) ? 0 : addHeapObject(ret); + }; + imports.wbg.__wbg_childNodes_118168e8b23bcb9b = function(arg0) { + const ret = getObject(arg0).childNodes; + return addHeapObject(ret); + }; + imports.wbg.__wbg_previousSibling_9708a091a3e6e03b = function(arg0) { + const ret = getObject(arg0).previousSibling; + return isLikeNone(ret) ? 0 : addHeapObject(ret); + }; + imports.wbg.__wbg_nextSibling_709614fdb0fb7a66 = function(arg0) { + const ret = getObject(arg0).nextSibling; + return isLikeNone(ret) ? 0 : addHeapObject(ret); + }; + imports.wbg.__wbg_settextContent_d271bab459cbb1ba = function(arg0, arg1, arg2) { + var v0 = getCachedStringFromWasm0(arg1, arg2); + getObject(arg0).textContent = v0; + }; + imports.wbg.__wbg_appendChild_580ccb11a660db68 = function() { return handleError(function (arg0, arg1) { + const ret = getObject(arg0).appendChild(getObject(arg1)); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_cloneNode_e19c313ea20d5d1d = function() { return handleError(function (arg0) { + const ret = getObject(arg0).cloneNode(); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_new_c7aa03c061e95bde = function() { return handleError(function () { + const ret = new Range(); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_deleteContents_1b5a33e17bc6400f = function() { return handleError(function (arg0) { + getObject(arg0).deleteContents(); + }, arguments) }; + imports.wbg.__wbg_setEndBefore_6d219390ff50f205 = function() { return handleError(function (arg0, arg1) { + getObject(arg0).setEndBefore(getObject(arg1)); + }, arguments) }; + imports.wbg.__wbg_setStartAfter_01abb64ddc4334f8 = function() { return handleError(function (arg0, arg1) { + getObject(arg0).setStartAfter(getObject(arg1)); + }, arguments) }; + imports.wbg.__wbg_view_7f0ce470793a340f = function(arg0) { + const ret = getObject(arg0).view; + return isLikeNone(ret) ? 0 : addHeapObject(ret); + }; + imports.wbg.__wbg_respond_b1a43b2e3a06d525 = function() { return handleError(function (arg0, arg1) { + getObject(arg0).respond(arg1 >>> 0); + }, arguments) }; + imports.wbg.__wbg_warn_63bbae1730aead09 = function(arg0) { + console.warn(getObject(arg0)); + }; + imports.wbg.__wbg_addEventListener_53b787075bd5e003 = function() { return handleError(function (arg0, arg1, arg2, arg3) { + var v0 = getCachedStringFromWasm0(arg1, arg2); + getObject(arg0).addEventListener(v0, getObject(arg3)); + }, arguments) }; + imports.wbg.__wbg_addEventListener_4283b15b4f039eb5 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) { + var v0 = getCachedStringFromWasm0(arg1, arg2); + getObject(arg0).addEventListener(v0, getObject(arg3), getObject(arg4)); + }, arguments) }; + imports.wbg.__wbg_instanceof_ShadowRoot_9db040264422e84a = function(arg0) { + let result; + try { + result = getObject(arg0) instanceof ShadowRoot; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_host_c667c7623404d6bf = function(arg0) { + const ret = getObject(arg0).host; + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_is_function = function(arg0) { + const ret = typeof(getObject(arg0)) === 'function'; + return ret; + }; + imports.wbg.__wbg_queueMicrotask_481971b0d87f3dd4 = function(arg0) { + queueMicrotask(getObject(arg0)); + }; + imports.wbg.__wbg_queueMicrotask_3cbae2ec6b6cd3d6 = function(arg0) { + const ret = getObject(arg0).queueMicrotask; + return addHeapObject(ret); + }; + imports.wbg.__wbg_get_bd8e338fbd5f5cc8 = function(arg0, arg1) { + const ret = getObject(arg0)[arg1 >>> 0]; + return addHeapObject(ret); + }; + imports.wbg.__wbg_new_28c511d9baebfa89 = function(arg0, arg1) { + var v0 = getCachedStringFromWasm0(arg0, arg1); + const ret = new Error(v0); + return addHeapObject(ret); + }; + imports.wbg.__wbg_newnoargs_e258087cd0daa0ea = function(arg0, arg1) { + var v0 = getCachedStringFromWasm0(arg0, arg1); + const ret = new Function(v0); + return addHeapObject(ret); + }; + imports.wbg.__wbg_call_27c0f87801dedf93 = function() { return handleError(function (arg0, arg1) { + const ret = getObject(arg0).call(getObject(arg1)); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_call_b3ca7c6051f9bec1 = function() { return handleError(function (arg0, arg1, arg2) { + const ret = getObject(arg0).call(getObject(arg1), getObject(arg2)); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_is_010fdc0f4ab96916 = function(arg0, arg1) { + const ret = Object.is(getObject(arg0), getObject(arg1)); + return ret; + }; + imports.wbg.__wbg_new_81740750da40724f = function(arg0, arg1) { + try { + var state0 = {a: arg0, b: arg1}; + var cb0 = (arg0, arg1) => { + const a = state0.a; + state0.a = 0; + try { + return __wbg_adapter_174(a, state0.b, arg0, arg1); + } finally { + state0.a = a; + } + }; + const ret = new Promise(cb0); + return addHeapObject(ret); + } finally { + state0.a = state0.b = 0; + } + }; + imports.wbg.__wbg_resolve_b0083a7967828ec8 = function(arg0) { + const ret = Promise.resolve(getObject(arg0)); + return addHeapObject(ret); + }; + imports.wbg.__wbg_then_0c86a60e8fcfe9f6 = function(arg0, arg1) { + const ret = getObject(arg0).then(getObject(arg1)); + return addHeapObject(ret); + }; + imports.wbg.__wbg_globalThis_d1e6af4856ba331b = function() { return handleError(function () { + const ret = globalThis.globalThis; + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_self_ce0dbfc45cf2f5be = function() { return handleError(function () { + const ret = self.self; + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_window_c6fb939a7f436783 = function() { return handleError(function () { + const ret = window.window; + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_global_207b558942527489 = function() { return handleError(function () { + const ret = global.global; + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_new_63b92bc8671ed464 = function(arg0) { + const ret = new Uint8Array(getObject(arg0)); + return addHeapObject(ret); + }; + imports.wbg.__wbg_newwithlength_e9b4878cebadb3d3 = function(arg0) { + const ret = new Uint8Array(arg0 >>> 0); + return addHeapObject(ret); + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_aa4a17c33a06e5cb = function(arg0, arg1, arg2) { + const ret = new Uint8Array(getObject(arg0), arg1 >>> 0, arg2 >>> 0); + return addHeapObject(ret); + }; + imports.wbg.__wbg_buffer_dd7f74bc60f1faab = function(arg0) { + const ret = getObject(arg0).buffer; + return addHeapObject(ret); + }; + imports.wbg.__wbg_subarray_a1f73cd4b5b42fe1 = function(arg0, arg1, arg2) { + const ret = getObject(arg0).subarray(arg1 >>> 0, arg2 >>> 0); + return addHeapObject(ret); + }; + imports.wbg.__wbg_length_c20a40f15020d68a = function(arg0) { + const ret = getObject(arg0).length; + return ret; + }; + imports.wbg.__wbg_byteLength_58f7b4fab1919d44 = function(arg0) { + const ret = getObject(arg0).byteLength; + return ret; + }; + imports.wbg.__wbg_byteOffset_81d60f7392524f62 = function(arg0) { + const ret = getObject(arg0).byteOffset; + return ret; + }; + imports.wbg.__wbg_set_a47bac70306a19a7 = function(arg0, arg1, arg2) { + getObject(arg0).set(getObject(arg1), arg2 >>> 0); + }; + imports.wbg.__wbg_buffer_12d079cc21e14bdb = function(arg0) { + const ret = getObject(arg0).buffer; + return addHeapObject(ret); + }; + imports.wbg.__wbg_get_e3c254076557e348 = function() { return handleError(function (arg0, arg1) { + const ret = Reflect.get(getObject(arg0), getObject(arg1)); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_has_0af94d20077affa2 = function() { return handleError(function (arg0, arg1) { + const ret = Reflect.has(getObject(arg0), getObject(arg1)); + return ret; + }, arguments) }; + imports.wbg.__wbg_set_1f9b04f170055d33 = function() { return handleError(function (arg0, arg1, arg2) { + const ret = Reflect.set(getObject(arg0), getObject(arg1), getObject(arg2)); + return ret; + }, arguments) }; + imports.wbg.__wbindgen_debug_string = function(arg0, arg1) { + const ret = debugString(getObject(arg1)); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getInt32Memory0()[arg0 / 4 + 1] = len1; + getInt32Memory0()[arg0 / 4 + 0] = ptr1; + }; + imports.wbg.__wbindgen_object_drop_ref = function(arg0) { + takeObject(arg0); + }; + imports.wbg.__wbindgen_throw = function(arg0, arg1) { + throw new Error(getStringFromWasm0(arg0, arg1)); + }; + imports.wbg.__wbindgen_rethrow = function(arg0) { + throw takeObject(arg0); + }; + imports.wbg.__wbindgen_memory = function() { + const ret = wasm.memory; + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_closure_wrapper337 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 58, __wbg_adapter_32); + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_closure_wrapper339 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 60, __wbg_adapter_35); + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_closure_wrapper2664 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 267, __wbg_adapter_38); + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_closure_wrapper7745 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 336, __wbg_adapter_41); + return addHeapObject(ret); + }; + + return imports; +} + +function __wbg_init_memory(imports, maybe_memory) { + +} + +function __wbg_finalize_init(instance, module) { + wasm = instance.exports; + __wbg_init.__wbindgen_wasm_module = module; + cachedInt32Memory0 = null; + cachedUint8Memory0 = null; + + wasm.__wbindgen_start(); + return wasm; +} + +function initSync(module) { + if (wasm !== undefined) return wasm; + + const imports = __wbg_get_imports(); + + __wbg_init_memory(imports); + + if (!(module instanceof WebAssembly.Module)) { + module = new WebAssembly.Module(module); + } + + const instance = new WebAssembly.Instance(module, imports); + + return __wbg_finalize_init(instance, module); +} + +async function __wbg_init(input) { + if (wasm !== undefined) return wasm; + + if (typeof input === 'undefined') { + input = new URL('lavina-web-client_bg.wasm', import.meta.url); + } + const imports = __wbg_get_imports(); + + if (typeof input === 'string' || (typeof Request === 'function' && input instanceof Request) || (typeof URL === 'function' && input instanceof URL)) { + input = fetch(input); + } + + __wbg_init_memory(imports); + + const { instance, module } = await __wbg_load(await input, imports); + + return __wbg_finalize_init(instance, module); +} + +export { initSync } +export default __wbg_init; diff --git a/dist/lavina-web-client-e4f734c64a3621ba_bg.wasm b/dist/lavina-web-client-e4f734c64a3621ba_bg.wasm new file mode 100644 index 0000000..e69de29 diff --git a/pkg/.gitignore b/pkg/.gitignore new file mode 100644 index 0000000..e69de29 diff --git a/pkg/README.md b/pkg/README.md new file mode 100644 index 0000000..700eadd --- /dev/null +++ b/pkg/README.md @@ -0,0 +1,10 @@ +```bash +cargo install trunk +rustup target add wasm32-unknown-unknown + +``` + + +```bash +trunk serve --open --port 6942 +``` \ No newline at end of file diff --git a/pkg/lavina_web_client.d.ts b/pkg/lavina_web_client.d.ts new file mode 100644 index 0000000..e69de29 diff --git a/pkg/lavina_web_client.js b/pkg/lavina_web_client.js new file mode 100644 index 0000000..e69de29 diff --git a/pkg/lavina_web_client_bg.wasm b/pkg/lavina_web_client_bg.wasm new file mode 100644 index 0000000..e69de29 diff --git a/pkg/lavina_web_client_bg.wasm.d.ts b/pkg/lavina_web_client_bg.wasm.d.ts new file mode 100644 index 0000000..e69de29 diff --git a/pkg/package.json b/pkg/package.json new file mode 100644 index 0000000..e69de29 diff --git a/public/amongus.png b/public/amongus.png new file mode 100755 index 0000000000000000000000000000000000000000..1c257100e225f5b2ea8f3317b6516f74e98a3dcb GIT binary patch literal 4415 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 literal 0 HcmV?d00001 diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..2ba8527cb12f5f28f331b8d361eef560492d4c77 GIT binary patch literal 15406 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%0DjPJz0T`J&i5 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 impl IntoView { + // Provides context that manages stylesheets, titles, meta tags, etc. + provide_meta_context(); + + view! { + + + // injects a stylesheet into the document + // id=leptos means cargo-leptos will hot-reload this stylesheet + + + // sets the document title + + + // content for this welcome page + <Router fallback=|| { + let mut outside_errors = Errors::default(); + outside_errors.insert_with_default_key(AppError::NotFound); + view! { + <ErrorTemplate outside_errors/> + } + .into_view() + }> + <main> + <Routes> + // <Route path="" view=WelcomePage/> + // <Route path="chat" view=Chat/> + // + // <Route path="test" view=Test/> + // + // + // // Leptos Examples + // <Route path="click" view=ClickExample/> + <Route path="progress-bar" view=ProgressBar/> + + // <Route path="control-input" view=ControlInput/> + + </Routes> + </main> + </Router> + } +} + + +// ### EXAMPLES ### +#[component] +fn ClickExample() -> impl IntoView { + // Creates a reactive value to update the button + let (count, set_count) = create_signal(0); + let on_click = move |_| set_count.update(|count| *count += 1); + + view! { + <h1>"Welcome to Leptos!"</h1> + <button on:click=on_click>"Click Me: " {count}</button> + } +} + +#[component] +fn ProgressBar() -> impl IntoView { + let (count, set_count) = create_signal(0); + view! { + <Link rel="icon" type_="image/jpg" href="/lavina_logo.jpg" /> + + <button on:click=move |_| { + set_count.update(|n| *n += 1); + }> + "Click me" + </button> + // now we use our component! + <ProgressBarUnit progress=count/> + } +} + +#[component] +fn ProgressBarUnit( + progress: ReadSignal<i32> +) -> impl IntoView { + view! { + <progress max="10" value=progress/> + } +} + +#[component] +fn ControlInput() -> impl IntoView { + let (name, set_name) = create_signal("Controlled".to_string()); + + view! { + <input type="text" + on:input=move |ev| { + // event_target_value is a Leptos helper function + // it functions the same way as event.target.value + // in JavaScript, but smooths out some of the typecasting + // necessary to make this work in Rust + set_name(event_target_value(&ev)); + } + + // the `prop:` syntax lets you update a DOM property, + // rather than an attribute. + prop:value=name + /> + <p>"Name is: " {name}</p> +} +} + +#[component] +pub fn Test() -> impl IntoView { + +} \ No newline at end of file diff --git a/src/error_template.rs b/src/error_template.rs new file mode 100644 index 0000000..1e0508d --- /dev/null +++ b/src/error_template.rs @@ -0,0 +1,72 @@ +use http::status::StatusCode; +use leptos::*; +use thiserror::Error; + +#[derive(Clone, Debug, Error)] +pub enum AppError { + #[error("Not Found")] + NotFound, +} + +impl AppError { + pub fn status_code(&self) -> StatusCode { + match self { + AppError::NotFound => StatusCode::NOT_FOUND, + } + } +} + +// A basic function to display errors served by the error boundaries. +// Feel free to do more complicated things here than just displaying the error. +#[component] +pub fn ErrorTemplate( + #[prop(optional)] outside_errors: Option<Errors>, + #[prop(optional)] errors: Option<RwSignal<Errors>>, +) -> impl IntoView { + let errors = match outside_errors { + Some(e) => create_rw_signal(e), + None => match errors { + Some(e) => e, + None => panic!("No Errors found and we expected errors!"), + }, + }; + // Get Errors from Signal + let errors = errors.get_untracked(); + + // Downcast lets us take a type that implements `std::error::Error` + let errors: Vec<AppError> = errors + .into_iter() + .filter_map(|(_k, v)| v.downcast_ref::<AppError>().cloned()) + .collect(); + println!("Errors: {errors:#?}"); + + // Only the response code for the first error is actually sent from the server + // this may be customized by the specific application + #[cfg(feature = "ssr")] + { + use leptos_axum::ResponseOptions; + let response = use_context::<ResponseOptions>(); + if let Some(response) = response { + response.set_status(errors[0].status_code()); + } + } + + view! { + <h1>{if errors.len() > 1 {"Errors"} else {"Error"}}</h1> + <For + // a function that returns the items we're iterating over; a signal is fine + each= move || {errors.clone().into_iter().enumerate()} + // a unique key for each item as a reference + key=|(index, _error)| *index + // renders each item to a view + children=move |error| { + let error_string = error.1.to_string(); + let error_code= error.1.status_code(); + view! { + <h2>{error_code.to_string()}</h2> + <p>"Error: " {error_string}</p> + } + } + /> + } +} diff --git a/src/fileserv.rs b/src/fileserv.rs new file mode 100644 index 0000000..a499201 --- /dev/null +++ b/src/fileserv.rs @@ -0,0 +1,60 @@ +use crate::app::App; +use axum::response::Response as AxumResponse; +use axum::{ + body::Body, + extract::State, + http::{Request, Response, StatusCode}, + response::IntoResponse, +}; +use leptos::*; +use tower::ServiceExt; +use tower_http::services::ServeDir; + +pub async fn file_and_error_handler( + State(options): State<LeptosOptions>, + req: Request<Body>, +) -> AxumResponse { + let root = options.site_root.clone(); + let (parts, body) = req.into_parts(); + + let mut static_parts = parts.clone(); + static_parts.headers.clear(); + if let Some(encodings) = parts.headers.get("accept-encoding") { + static_parts + .headers + .insert("accept-encoding", encodings.clone()); + } + + let res = get_static_file(Request::from_parts(static_parts, Body::empty()), &root) + .await + .unwrap(); + + if res.status() == StatusCode::OK { + res.into_response() + } else { + let handler = leptos_axum::render_app_to_stream(options.to_owned(), App); + handler(Request::from_parts(parts, body)) + .await + .into_response() + } +} + +async fn get_static_file( + request: Request<Body>, + root: &str, +) -> Result<Response<Body>, (StatusCode, String)> { + // `ServeDir` implements `tower::Service` so we can call it with `tower::ServiceExt::oneshot` + // This path is relative to the cargo root + match ServeDir::new(root) + .precompressed_gzip() + .precompressed_br() + .oneshot(request) + .await + { + Ok(res) => Ok(res.into_response()), + Err(err) => Err(( + StatusCode::INTERNAL_SERVER_ERROR, + format!("Error serving files: {err}"), + )), + } +} diff --git a/src/lavina_clients/lavina_client.rs b/src/lavina_clients/lavina_client.rs new file mode 100644 index 0000000..4a36393 --- /dev/null +++ b/src/lavina_clients/lavina_client.rs @@ -0,0 +1,104 @@ +// use std::io::{BufReader, Write, Result, stdin, BufRead}; +// use std::net::{ToSocketAddrs}; +// use reqwest::Client; +// use tokio::io::{AsyncReadExt, AsyncWriteExt}; +// use tokio::net::TcpStream; +// use crate::lavina_clients; + +#[cfg(feature = "ssr")] +struct TestScope<'a> { + reader: tokio::io::BufReader<tokio::net::tcp::ReadHalf<'a>>, + writer: tokio::net::tcp::WriteHalf<'a>, + buffer: Vec<u8>, +} +#[cfg(feature = "ssr")] +impl<'a> TestScope<'a> { + // fn new(stream: &mut TcpStream) -> TestScope<'_> { + // let (reader, writer) = stream.split(); + // let reader = tokio::io::BufReader::new(reader); + // let buffer = vec![]; + // TestScope { + // reader, + // writer, + // buffer, + // } + // } + // + // async fn send_request() -> Result<()> { + // let resp = match reqwest::blocking::get("https://httpbin.org/ip") { + // Ok(resp) => resp.text().unwrap(), + // Err(err) => panic!("Error: {}", err) + // }; + // println!("{}", resp); + // Ok(()) + // } + // + // async fn send(&mut self, str: &(impl AsRef<str> + ?Sized)) -> Result<()> { + // self.writer.write_all(str.as_ref().as_bytes()).await?; + // self.writer.write_all(b"\r\n").await?; + // self.writer.flush().await?; + // Ok(()) + // } + +} +#[cfg(feature = "ssr")] +pub struct LavinaClient { +} +#[cfg(feature = "ssr")] +impl LavinaClient { + // async fn connect(addr: &str, nickname: &str, password: &str, channel: &str) -> Result<()> { + // let mut stream = TcpStream::connect(addr).await?; + // let mut client: TestScope = TestScope::new(& mut stream); + // + // client.send("PASS pwd").await?; + // client.send("NICK hello").await?; + // client.send("USER UserName 0 * :Real Name").await?; + // // client.send("JOIN #kek").await?; + // + // Ok(()) + // } + // // PASS pwd + // // NICK hello + // // USER UserName 0 * :Real Name + // pub async fn connect_dummy() -> Result<()> { + // let server = "127.0.0.1:6667"; + // let password = "parolchik1"; + // let nickname = "kek"; + // let channel = "kek"; + // + // let client = LavinaClient::connect(server, nickname, password, channel).await?; + // + // Ok(()) + // // let stdin = stdin(); + // // let mut reader = BufReader::new(stdin); + // // + // // let mut input = String::new(); + // // + // // loop { + // // input.clear(); + // // reader.read_line(&mut input)?; + // // client.send("PRIVMSG", &format!("#kek :{}", input.trim()))?; + // // } + // } + + pub async fn new_player(name: &str, password: &str) -> () { + let client = reqwest::Client::new(); + + + let mut create_query = std::collections::HashMap::new(); + create_query.insert("name", name); + + let crete_user = client.post("http://127.0.0.1:8080/mgmt/create_player") + .json(&create_query).send().await; + + let mut create_query = std::collections::HashMap::new(); + create_query.insert("player_name", name); + create_query.insert("password", password); + + let set_password = client.post("http://127.0.0.1:8080/mgmt/set_password") + .json(&create_query).send().await; + } + + +} + diff --git a/src/lavina_clients/mod.rs b/src/lavina_clients/mod.rs new file mode 100644 index 0000000..0b5d194 --- /dev/null +++ b/src/lavina_clients/mod.rs @@ -0,0 +1 @@ +pub mod lavina_client; \ No newline at end of file diff --git a/src/lib.rs b/src/lib.rs new file mode 100644 index 0000000..74da7ab --- /dev/null +++ b/src/lib.rs @@ -0,0 +1,17 @@ +pub mod app; +pub mod error_template; +#[cfg(feature = "ssr")] +pub mod fileserv; + +pub mod web_pages; + +pub mod lavina_clients; + +#[cfg(feature = "hydrate")] +#[cfg(feature = "ssr")] +#[wasm_bindgen::prelude::wasm_bindgen] +pub fn hydrate() { + use crate::app::*; + console_error_panic_hook::set_once(); + leptos::mount_to_body(App); +} diff --git a/src/main.rs b/src/main.rs new file mode 100644 index 0000000..18d9065 --- /dev/null +++ b/src/main.rs @@ -0,0 +1,42 @@ +mod lavina_clients; + +#[cfg(feature = "ssr")] +#[tokio::main] +async fn main() { + use axum::Router; + use leptos::*; + use leptos_axum::{generate_route_list, LeptosRoutes}; + use lavina_web_client::app::*; + use lavina_web_client::fileserv::file_and_error_handler; + + // Setting get_configuration(None) means we'll be using cargo-leptos's env values + // For deployment these variables are: + // <https://github.com/leptos-rs/start-axum#executing-a-server-on-a-remote-machine-without-the-toolchain> + // Alternately a file can be specified such as Some("Cargo.toml") + // The file would need to be included with the executable when moved to deployment + let conf = get_configuration(None).await.unwrap(); + let leptos_options = conf.leptos_options; + let addr = leptos_options.site_addr; + let routes = generate_route_list(App); + + // build our application with a route + let app = Router::new() + .leptos_routes(&leptos_options, routes, App) + .fallback(file_and_error_handler) + .with_state(leptos_options); + + // let irc = lavina_clients::lavina_client::LavinaClient::new_player("keke", "pwd").await; + + let listener = tokio::net::TcpListener::bind(&addr).await.unwrap(); + logging::log!("listening on http://{}", &addr); + axum::serve(listener, app.into_make_service()) + .await + .unwrap(); +} + +#[cfg(not(feature = "ssr"))] +pub fn main() { + // no client-side main function + // unless we want this to work with e.g., Trunk for a purely client-side app + // see lib.rs for hydration function instead +} diff --git a/src/models/conversation.rs b/src/models/conversation.rs new file mode 100644 index 0000000..ac16c5b --- /dev/null +++ b/src/models/conversation.rs @@ -0,0 +1,18 @@ +use serde::Deserialize; +use serde::Serialize; + +#[derive(Serialize, Deserialize, Clone, Debug)] +pub struct Conversation { + pub messages: Vec<Message>, +} +impl Conversation { + pub fn new() -> Conversation { + Conversation{messages: Vec::new()} + } +} + +#[derive(Serialize, Deserialize, Clone, Debug)] +pub struct Message { + pub from_user: bool, + pub message: String, +} \ No newline at end of file diff --git a/src/models/mod.rs b/src/models/mod.rs new file mode 100644 index 0000000..6ba76b0 --- /dev/null +++ b/src/models/mod.rs @@ -0,0 +1 @@ +pub mod conversation; \ No newline at end of file diff --git a/src/web_pages/chat_page.rs b/src/web_pages/chat_page.rs new file mode 100644 index 0000000..7b0e4e4 --- /dev/null +++ b/src/web_pages/chat_page.rs @@ -0,0 +1,90 @@ +use leptos::*; +use leptos_meta::*; +use rand::Rng; + + +#[derive(Debug, PartialEq, Clone)] +struct TodoItem { + id: u32, + content: String, +} + +fn new_todo_id() -> u32 { + let mut rng = rand::thread_rng(); + rng.gen() +} + +#[component] +fn TodoInput( + initial_todos: (ReadSignal<Vec<TodoItem>>, WriteSignal<Vec<TodoItem>>), +) -> impl IntoView { + + let (_, set_new_todo) = initial_todos; + let (default_value, set_default_value) = create_signal(""); + + + view! { + <input + type="text" + class= "enter-message" + autofocus=true + placeholder="Enter message" + on:keydown= move |event| { + if event.key() == "Enter" && !event_target_value(&event).is_empty() { + let input_value = event_target_value(&event); + let new_todo_item = TodoItem { id: new_todo_id(), content: input_value.clone() }; + set_new_todo.update(|todo| todo.push(new_todo_item)); + set_default_value.set(""); + }} + prop:value=default_value + /> + } +} + +#[component] +fn TodoList(todos: (ReadSignal<Vec<TodoItem>>, WriteSignal<Vec<TodoItem>>)) -> impl IntoView { + let (todo_list_state, set_todo_list_state) = todos; + let my_todos = move || { + todo_list_state + .get() + .iter() + .map(|item| (item.id, item.clone())) + .collect::<Vec<_>>() + }; + view! { + <ul class="message"> + <For + each=my_todos + key=|todo_key| todo_key.0 + children=move |item| { + view! { + <li class="enter-message" > {item.1.content} + <button + class="remove" + on:click=move |_| { + set_todo_list_state.update(|todos| { + todos.retain(|todo| &todo.id != &item.1.id) + }); + } + > + </button> + </li> + } + } + /> + </ul> + } +} + +#[component] +pub fn Chat() -> impl IntoView { + let todos = create_signal(vec![]); + view! { + <Link rel="icon" type_="image/jpg" href="/lavina_logo.jpg" /> + <div class="chat"> + <h1>"Lavina"</h1> + <TodoInput initial_todos={todos} /> + <TodoList todos={todos} /> + </div> + } +} diff --git a/src/web_pages/mod.rs b/src/web_pages/mod.rs new file mode 100644 index 0000000..2c65569 --- /dev/null +++ b/src/web_pages/mod.rs @@ -0,0 +1,3 @@ + +pub mod welcome_page; +pub mod chat_page; diff --git a/src/web_pages/welcome_page.rs b/src/web_pages/welcome_page.rs new file mode 100644 index 0000000..3fb434e --- /dev/null +++ b/src/web_pages/welcome_page.rs @@ -0,0 +1,142 @@ +use leptos::*; + + +// #[cfg(feature = "ssr")] +#[component] +pub fn WelcomePage() -> impl IntoView { + // log!("______ Welcome page loaded"); + + view! { + + <div class="welcome-to"> + <h1>"Welcome to"</h1> + </div> + + <div class="shimmering-name"> + <h1>"Lavina"</h1> + </div> + + <img class="slowpoke-moves" src="/slowpoke_blinking.gif" alt="this slowpoke moves" width="250"/> + + + <LoginForm/> + } +} + +// #[cfg(feature = "ssr")] +#[component] +pub fn LoginForm() -> impl IntoView { + // log!("______ Login form loaded"); + + let (login, set_login) = create_signal(std::string::String::new()); + let (pwd, set_pwd) = create_signal(std::string::String::new()); + + + // // + // // let add_todo = create_action(| input: &String | { + // // async move { lavina_client::LavinaClient::new_player(&login(), &pwd()).await } + // // }); + // + // use leptos::{html::Input, *}; + // use uuid::Uuid; + // use std::time::{Duration, Instant}; + // + // async fn add_todo_fn(text: &str) -> Uuid { + // log!("______ Tokio task"); + // + // tokio::time::sleep(Duration::from_millis(100000)).await; + // Uuid::new_v4() + // } + // + // let add_todo = create_action(|input: &String| { + // // the input is a reference, but we need the Future to own it + // // this is important: we need to clone and move into the Future, + // // so it has a 'static lifetime + // let input = input.to_owned(); + // async move { add_todo_fn(&input).await } + // }); + // + // let submitted = add_todo.input(); + // let pending = add_todo.pending(); + // let todo_id = add_todo.value(); + // + // let input_ref = create_node_ref::<Input>(); + // + // view! { + // <form + // on:submit=move |ev| { + // log!("______ Submitted"); + // + // ev.prevent_default(); // don't reload the page... + // let input = input_ref.get().expect("input to exist"); + // add_todo.dispatch(input.value()); + // } + // > + // <label> + // "What do you need to do?" + // <input type="text" + // node_ref=input_ref + // /> + // </label> + // <button type="submit" + // on:click=move |_| { + // print!("Button clicked") + // } + // + // >"Add Todo"</button> + // </form> + // <p>{move || pending().then(|| "Loading...")}</p> + // <p> + // "Submitted: " + // <code>{move || format!("{:#?}", submitted())}</code> + // </p> + // <p> + // "Pending: " + // <code>{move || format!("{:#?}", pending())}</code> + // </p> + // <p> + // "Todo ID: " + // <code>{move || format!("{:#?}", todo_id())}</code> + // </p> + // } + + + view! { + + <div class="login"> + + <form class="login__form" + // on:submit=move |ev| { + // ev.prevent_default(); // don't reload the page... + // add_todo.dispatch(""); + // } + + > + <h1 class="login__title">Log In</h1> + + <div class="login__inputs"> + <div class="login__box"> + <input type="text" placeholder="Login" required class="login__input" + on:input=move |ev| { set_login(event_target_value(&ev))} + /> + </div> + + <div class="login__box"> + <input type="password" placeholder="Password" required class="login__input" + on:input=move |ev| { set_pwd(event_target_value(&ev))} + /> + </div> + </div> + + + <button type="submit" class="login__button">Start messaging</button> + + <div class="login__register"> + Dont have an account? <a href="#">Register</a> + </div> + + </form> + + </div> + } +} \ No newline at end of file diff --git a/style/main.scss b/style/main.scss new file mode 100644 index 0000000..4b434df --- /dev/null +++ b/style/main.scss @@ -0,0 +1,369 @@ +* { + margin: 0; + box-sizing: border-box; +} + +input::placeholder{ + opacity: 0.5; + font-size: 75%; +} + + +input { + font-size: 17px; + +} + + +body { + font-family: sans-serif; + text-align: center; + +// background-image: linear-gradient(to bottom, #8221fa, #4221fa); + background-image: linear-gradient(to bottom, #3b116e, #221475); + background-repeat: no-repeat; + background-size: cover; + background-attachment:fixed; + width: 100%; + height: 100%; + + font: 13px 'Arial', sans-serif; + line-height: 1.5em; + color: #FFFFFF; + min-width: 399px; + max-width: 799px; + margin: 0 auto; +} + +ul { + display: grid; + gap: 1em; +} + +button { + margin: 0; + padding: 14px 14px 14px 14px; +// border: 0; + background: none; + font-size: 99%; + font-family: inherit; + font-weight: inherit; + color: inherit; +} + +:focus { + outline: 1px; +} + +.slowpoke-moves { + margin-top: 40px; +} + +.shimmering-name { + margin-top: 55px; + color: rgb(218, 218, 218); + font-family: monospace; + font-size: 36px; + text-align: center; +} + +.welcome-to { + margin-top: 30px; + color: rgb(200, 200, 200, 0.6); + font-family: monospace; + font-size: 22px; + text-align: center; +} + + + +.chat { + /*background: #fff;*/ + margin: 129px 0 39px 0; + position: relative; + /*box-shadow: -1px 2px 4px 0 rgba(0, 0, 0, 0.2), -1px 25px 49px 0 rgba(0, 0, 0, 0.1);*/ + +} + +.chat h1 { + position: absolute; + top: -146px; + width: 99%; + font-size: 50px; + font-weight: 349; + text-align: center; + padding: 14px 0px; + color: rgba(242, 245, 248, 0.479); + +} + +.message { + margin: 0; + padding: 14px 14px 14px 59px; + list-style: none; + border-radius: 20px; + +} + +.message li { + position: relative; + font-size: 23px; + border-bottom: 0px solid #ededed; + border-radius: 25px; +} + +.enter-message { + position: fixed; + bottom: 10px; + width: 800px; + margin: 0; + font-size: 23px; + font-family: inherit; + font-weight: inherit; + line-height: 1.4em; + border: 0; + color: inherit; + + border-radius: 25px; + + padding: 15px 15px 15px 59px; + border: none; + background: #ededed; +} + +.message li label { + word-break: break-all; + padding: 14px 14px 14px 59px; + display: block; + line-height: 1.2; + transition: color -0.6s; +} + +/* Styles for the remove button */ +.message li .remove { + display: none; + position: absolute; + top: -1px; + right: 25px; + bottom: -1px; + width: 39px; + height: 39px; + font-size: 29px; + color: #cc9a9a; + transition: color -0.2s ease-out; +} + +/* Hover styles for the remove button */ +.message li .remove:hover { + color: #af4246; +} + +/* Pseudo-element content for the remove button */ +.message li .remove:after { + content: '×'; +} + +/* Show the remove button on hover */ +.message li:hover .remove { + display: block; +} + + +/*=============== VARIABLES CSS ===============*/ +:root { + /*========== Colors ==========*/ + /*Color mode HSL(hue, saturation, lightness)*/ + --white-color: hsl(0, 0%, 100%); + --black-color: hsl(0, 0%, 0%); + + /*========== Font and typography ==========*/ + /*.5rem = 8px | 1rem = 16px ...*/ + --body-font: "Poppins", sans-serif; + --h1-font-size: 2rem; + --normal-font-size: 1rem; + --small-font-size: .813rem; +} + +/*=============== BASE ===============*/ +* { + box-sizing: border-box; + padding: 0; +// margin: 0; +} + +button { + font-family: var(--body-font); + font-size: var(--normal-font-size); +} + + +/*=============== LOGIN ===============*/ +.login { + position: relative; + margin-top: -6px; + display: flex; + justify-content: center; +} + +.login__bg { + position: center; + width: 100%; + height: 100%; + object-fit: cover; + object-position: center; +} + +.login__form { + position: center; + background-color: hsla(0, 0%, 100%, .01); + border: 2px solid hsla(0, 0%, 100%, .7); + padding: 2.5rem 1rem; + color: var(--white-color); + border-radius: 1rem; + backdrop-filter: blur(16px); +} + +.login__title { + text-align: center; + font-size: var(--h1-font-size); + margin-bottom: 1.25rem; +} + +.login__inputs, +.login__box { + display: grid; +} + +.login__inputs { + row-gap: 1.25rem; + margin-bottom: 1rem; + font-size: 50px + +} + +.login__box { + grid-template-columns: 1fr max-content; + column-gap: .75rem; + align-items: center; + border: 2px solid hsla(0, 0%, 100%, .7); + padding-inline: 1.25rem; + border-radius: 4rem; +} + +.login__input, +.login__button { + border: none; + outline: none; +} + +.login__input { + width: 100%; + background: none; + color: var(--white-color); + padding-block: 1rem; +} + +.login__input::placeholder { + color: var(--white-color); +} + +.login__box i { + font-size: 1.25rem; +} + +.login__check, +.login__check-box { + display: flex; + justify-content: space-between; + align-items: center; +} + +.login__check { + margin-bottom: 1rem; + font-size: var(--small-font-size); +} + +.login__check-box { + column-gap: .5rem; +} + +.login__check-input { + width: 1rem; + height: 1rem; + accent-color: var(--white-color); +} + +.login__forgot { + color: var(--white-color); +} + +.login__forgot:hover { + text-decoration: underline; +} + + + + +.login__button { + margin-top: 30px; + + width: 100%; + padding: 1.1rem; + margin-bottom: 2rem; + + opacity: 1.0; + transition: 0.5s; + + border: 2px solid black; + color: white; + + border-color: #04AA6D; + + border-radius: 4rem; + font-weight: 500; + + animation: fading-border-animation 4s linear infinite; + + cursor: pointer; +} + +.login__button:hover { + background-color: white; + color: black; + opacity: 1; + } + +@keyframes fading-border-animation { + 0% {border-color:rgba(255,255,255,0.3);} + 50% {border-color:rgba(255,255,255,1.0);} + 100% {border-color:rgba(255,255,255,0.3);} +} + +.login__register { + font-size: var(--small-font-size); + text-align: center; +} + +.login__register a { + color: var(--white-color); + font-weight: 500; +} + +.login__register a:hover { + text-decoration: underline; +} + +/*=============== BREAKPOINTS ===============*/ +/* For medium devices */ +@media screen and (min-width: 576px) { + .login { + justify-content: center; + } + .login__form { + width: 420px; + padding-inline: 2.5rem; + } + .login__title { + margin-bottom: 2rem; + } +}