From f3a9b6fb52c6d25c2c9c20d2bba43d899f6a0b4e Mon Sep 17 00:00:00 2001 From: b1ek Date: Sun, 13 Aug 2023 11:09:34 +1000 Subject: [PATCH] add routing & state & welcome screen --- package.json | 5 +++- src/App.svelte | 19 ++++++++++++- src/main.ts | 3 -- src/page/Home/Home.svelte | 22 +++++++++++++++ src/page/Home/style.module.scss | 32 +++++++++++++++++++++ src/shared/blek.svelte | 2 +- src/shared/matrix.svelte | 1 + src/store/RouteStore.ts | 14 ++++++++++ yarn.lock | 49 +++++++++++++++++++++++++++++++++ 9 files changed, 141 insertions(+), 6 deletions(-) create mode 100644 src/page/Home/Home.svelte create mode 100644 src/page/Home/style.module.scss create mode 100644 src/shared/matrix.svelte create mode 100644 src/store/RouteStore.ts diff --git a/package.json b/package.json index e30679e..ee334ef 100644 --- a/package.json +++ b/package.json @@ -12,9 +12,12 @@ }, "dependencies": { "@fontsource-variable/red-hat-display": "^5.0.9", + "@reduxjs/toolkit": "^1.9.5", "@tauri-apps/api": "^1.4.0", + "redux": "^4.2.1", "svelte-icons-pack": "^2.1.0", - "svelte-loading-spinners": "^0.3.4" + "svelte-loading-spinners": "^0.3.4", + "svelte-routing": "^2.0.0" }, "devDependencies": { "@sveltejs/adapter-static": "^1.0.0-next.50", diff --git a/src/App.svelte b/src/App.svelte index 97c8a08..6d9b263 100644 --- a/src/App.svelte +++ b/src/App.svelte @@ -1,11 +1,28 @@
- + + + +
diff --git a/src/main.ts b/src/main.ts index 6589207..d076d8e 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,9 +1,6 @@ import "./root.css"; import App from "./App.svelte"; import '@fontsource-variable/red-hat-display'; -import { appWindow } from '@tauri-apps/api/window' - -appWindow.setDecorations(false); const app = new App({ target: document.getElementById("app"), diff --git a/src/page/Home/Home.svelte b/src/page/Home/Home.svelte new file mode 100644 index 0000000..9c4467f --- /dev/null +++ b/src/page/Home/Home.svelte @@ -0,0 +1,22 @@ + + +
+

+ Welcome to nox! +

+

+ A decentralyzed, e2e encrypted chat system powered by + + + +

+
\ No newline at end of file diff --git a/src/page/Home/style.module.scss b/src/page/Home/style.module.scss new file mode 100644 index 0000000..6ca1a9f --- /dev/null +++ b/src/page/Home/style.module.scss @@ -0,0 +1,32 @@ +@keyframes appear { + 0% { + opacity: 0; + transform: translateY(10px); + } + to { + opacity: 1; + transform: translateY(0px); + } +} + +.root { + text-align: center; + color: #c2c4c2; + a { + color: #c2c4c2; + text-decoration: none; + } + h1, h3 { + font-weight: 400; + } + .header_opacity { + opacity: 0; + } + .h1, .h2 { + animation: appear 1s ease; + &::before { + opacity: 0; + } + } + .h2 { animation-delay: 940ms; } +} \ No newline at end of file diff --git a/src/shared/blek.svelte b/src/shared/blek.svelte index 94f0d95..192bec8 100644 --- a/src/shared/blek.svelte +++ b/src/shared/blek.svelte @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/shared/matrix.svelte b/src/shared/matrix.svelte new file mode 100644 index 0000000..7176dc2 --- /dev/null +++ b/src/shared/matrix.svelte @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/store/RouteStore.ts b/src/store/RouteStore.ts new file mode 100644 index 0000000..71cfde5 --- /dev/null +++ b/src/store/RouteStore.ts @@ -0,0 +1,14 @@ +import { configureStore } from '@reduxjs/toolkit'; + +export interface RouteState { + path: string +} + +export default configureStore({ + reducer: { + path: (state = '/load', action) => { + if (action.type != 'setPath') return state; + return action.path ?? state; + } + }, +}) \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index 949afa3..c9fdae2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,6 +2,13 @@ # yarn lockfile v1 +"@babel/runtime@^7.9.2": + version "7.22.10" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.22.10.tgz#ae3e9631fd947cb7e3610d3e9d8fef5f76696682" + integrity sha512-21t/fkKLMZI4pqP2wlmsQAWnYW1PDyKyyUV4vCi+B25ydmdaYTKXPwCj0BzSUnZf4seIiYvSA3jcZ3gdsMFkLQ== + dependencies: + regenerator-runtime "^0.14.0" + "@esbuild/android-arm64@0.18.20": version "0.18.20" resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz#984b4f9c8d0377443cc2dfcef266d02244593622" @@ -156,6 +163,16 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" +"@reduxjs/toolkit@^1.9.5": + version "1.9.5" + resolved "https://registry.yarnpkg.com/@reduxjs/toolkit/-/toolkit-1.9.5.tgz#d3987849c24189ca483baa7aa59386c8e52077c4" + integrity sha512-Rt97jHmfTeaxL4swLRNPD/zV4OxTes4la07Xc4hetpUW/vc75t5m1ANyxG6ymnEQ2FsLQsoMlYB2vV1sO3m8tQ== + dependencies: + immer "^9.0.21" + redux "^4.2.1" + redux-thunk "^2.4.2" + reselect "^4.1.8" + "@sveltejs/adapter-static@^1.0.0-next.50": version "1.0.0-next.50" resolved "https://registry.yarnpkg.com/@sveltejs/adapter-static/-/adapter-static-1.0.0-next.50.tgz#ee4c7f2b2e7d5ed84f162464c7f575ecf275219d" @@ -439,6 +456,11 @@ graceful-fs@^4.1.3: resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== +immer@^9.0.21: + version "9.0.21" + resolved "https://registry.yarnpkg.com/immer/-/immer-9.0.21.tgz#1e025ea31a40f24fb064f1fef23e931496330176" + integrity sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA== + immutable@^4.0.0: version "4.3.2" resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.3.2.tgz#f89d910f8dfb6e15c03b2cae2faaf8c1f66455fe" @@ -615,6 +637,28 @@ readdirp@~3.6.0: dependencies: picomatch "^2.2.1" +redux-thunk@^2.4.2: + version "2.4.2" + resolved "https://registry.yarnpkg.com/redux-thunk/-/redux-thunk-2.4.2.tgz#b9d05d11994b99f7a91ea223e8b04cf0afa5ef3b" + integrity sha512-+P3TjtnP0k/FEjcBL5FZpoovtvrTNT/UXd4/sluaSyrURlSlhLSzEdfsTBW7WsKB6yPvgd7q/iZPICFjW4o57Q== + +redux@^4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/redux/-/redux-4.2.1.tgz#c08f4306826c49b5e9dc901dee0452ea8fce6197" + integrity sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w== + dependencies: + "@babel/runtime" "^7.9.2" + +regenerator-runtime@^0.14.0: + version "0.14.0" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz#5e19d68eb12d486f797e15a3c6a918f7cec5eb45" + integrity sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA== + +reselect@^4.1.8: + version "4.1.8" + resolved "https://registry.yarnpkg.com/reselect/-/reselect-4.1.8.tgz#3f5dc671ea168dccdeb3e141236f69f02eaec524" + integrity sha512-ab9EmR80F/zQTMNeneUr4cv+jSwPJgIlvEmVwLerwrWVbpLlBuls9XHzIeTFy4cegU2NHBp3va0LKOzU5qFEYQ== + resolve-from@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" @@ -734,6 +778,11 @@ svelte-preprocess@^5.0.0, svelte-preprocess@^5.0.4: sorcery "^0.11.0" strip-indent "^3.0.0" +svelte-routing@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/svelte-routing/-/svelte-routing-2.0.0.tgz#f3971471bf6d527879d998195efcbe84547f92c8" + integrity sha512-wkAzhBbXZko0vt1P/NOqJ00EP1Gz0Od6Ep1BXRwNhJl+xR+VWWlm0u/AyWt/tSwE1dwINkMeh/MhFY+b9N1obQ== + svelte@^3.54.0: version "3.59.2" resolved "https://registry.yarnpkg.com/svelte/-/svelte-3.59.2.tgz#a137b28e025a181292b2ae2e3dca90bf8ec73aec"