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"