diff --git a/srcs/requirements/svelte/api_front/old_unused/primaryRoutes.svelte b/srcs/requirements/svelte/api_front/old_unused/primaryRoutes.svelte
new file mode 100644
index 00000000..4c254fec
--- /dev/null
+++ b/srcs/requirements/svelte/api_front/old_unused/primaryRoutes.svelte
@@ -0,0 +1,177 @@
+
\ No newline at end of file
diff --git a/srcs/requirements/svelte/api_front/src/App.svelte b/srcs/requirements/svelte/api_front/src/App.svelte
index bb5ca6eb..7a383eb1 100644
--- a/srcs/requirements/svelte/api_front/src/App.svelte
+++ b/srcs/requirements/svelte/api_front/src/App.svelte
@@ -3,6 +3,7 @@
// may not need {link} here
import Router, { link, replace } from "svelte-spa-router";
import { primaryRoutes } from "./routes/primaryRoutes.js";
+ // import primaryRoutes from "./routes/primaryRoutes.svelte";
const conditionsFailed = (event) => {
console.error('conditionsFailed event', event.detail);
diff --git a/srcs/requirements/svelte/api_front/src/pages/SplashPage.svelte b/srcs/requirements/svelte/api_front/src/pages/SplashPage.svelte
index d6901b2b..f50bb74a 100644
--- a/srcs/requirements/svelte/api_front/src/pages/SplashPage.svelte
+++ b/srcs/requirements/svelte/api_front/src/pages/SplashPage.svelte
@@ -3,6 +3,7 @@
import { push } from "svelte-spa-router";
import { onMount } from 'svelte';
import { userStore, userLogout } from '../stores/loginStatusStore.js';
+ import { get } from "svelte/store";
onMount(async () => {
@@ -15,9 +16,16 @@
// .catch( userLogout(); )
// yea ok i don't know how to use catch...
- // userStore.set(user);
- // console.log('user in userStore');
- // console.log($userStore);
+ // Testing Svelet get(store)
+
+ // let tmp = get(userStore);
+ // console.log('in SplashPage get(store)')
+ // console.log(tmp)
+
+
+ // userStore.set(user);
+ // console.log('user in userStore');
+ // console.log($userStore);
// console.log('now user in the local var');
// console.log(user);
// if (user && user.statusCode && user.statusCode === 403) {
@@ -44,7 +52,8 @@
await fetch('http://transcendance:8080/api/v2/user')
.then((resp) => resp.json())
- .then((data) => void userStore.set(data));
+ .then((data) => userStore.set(data));
+ // .then((data) => void userStore.set(data));
// decide if do this here on in backend
// push('/profile');
diff --git a/srcs/requirements/svelte/api_front/src/pages/profile/ProfileSettings.svelte b/srcs/requirements/svelte/api_front/src/pages/profile/ProfileSettings.svelte
index 124a32c0..3e3de3af 100644
--- a/srcs/requirements/svelte/api_front/src/pages/profile/ProfileSettings.svelte
+++ b/srcs/requirements/svelte/api_front/src/pages/profile/ProfileSettings.svelte
@@ -30,8 +30,8 @@
set.tfa = user.isEnabledTwoFactorAuth;
// tmp
- console.log('this is what is in the avatar before fetch')
- console.log(avatar)
+ // console.log('this is what is in the avatar before fetch')
+ // console.log(avatar)
await fetch("http://transcendance:8080/api/v2/user/avatar", {method: "GET"})
.then(response => {return response.blob()})
@@ -44,10 +44,10 @@
// .then(() => errors.avatar = '' ) // unnecessary i think cuz in on mount...
// tmp
- console.log('this is what is in the avatar')
- console.log(avatar)
- console.log('this is what is in the NEW Avatar')
- console.log(newAvatar)
+ // console.log('this is what is in the avatar')
+ // console.log(avatar)
+ // console.log('this is what is in the NEW Avatar')
+ // console.log(newAvatar)
})
const settingsHandler = async() => {
@@ -55,7 +55,7 @@
// I don't really care which i use at this point...
// if (set.username === nameTmp) {
- if (set.username === user.username || set.username.trim() === '') {
+ if (set.username === user.username || (set.username.trim() === '' && set.username !== '')) {
errors.username = 'Invalid new username';
valid = false;
} else {
@@ -90,7 +90,7 @@
}
const data = new FormData();
data.append("file", newAvatar[0]);
-
+
// tmp
console.log(data);
@@ -132,13 +132,6 @@
-
{#if avatar !== undefined}
{/if}
diff --git a/srcs/requirements/svelte/api_front/src/pieces/Header.svelte b/srcs/requirements/svelte/api_front/src/pieces/Header.svelte
index 89346a0d..c022852a 100644
--- a/srcs/requirements/svelte/api_front/src/pieces/Header.svelte
+++ b/srcs/requirements/svelte/api_front/src/pieces/Header.svelte
@@ -34,6 +34,9 @@
+
+
+
diff --git a/srcs/requirements/svelte/api_front/src/routes/primaryRoutes.js b/srcs/requirements/svelte/api_front/src/routes/primaryRoutes.js
index aba904fd..77651f68 100644
--- a/srcs/requirements/svelte/api_front/src/routes/primaryRoutes.js
+++ b/srcs/requirements/svelte/api_front/src/routes/primaryRoutes.js
@@ -3,10 +3,8 @@ import ProfilePage from "../pages/profile/ProfilePage.svelte";
import SplashPage from "../pages/SplashPage.svelte";
import TwoFactorAuthentication from '../pages/TwoFactorAuthentication.svelte';
import UnauthorizedAccessPage from '../pages/UnauthorizedAccessPage.svelte';
-import { loginStatus } from "../stores/loginStatusStore";
import { wrap } from 'svelte-spa-router/wrap'
import { get } from 'svelte/store';
-
import TestPage from '../pages/TmpTestPage.svelte';
import { userStore, userLogout } from "../stores/loginStatusStore";
@@ -93,17 +91,57 @@ export const primaryRoutes = {
component: TestPage,
conditions: [
(detail) => {
- const user = get(userStore);
- // console.log(fortyTwo);
- // console.log(tfa);
+ const user = get(userStore); // seems like get(store) is not an option
+ // // const user = userStore;
+ // // console.log(fortyTwo);
+ // // console.log(tfa);
+ // console.log('in /test what is in user')
+ // console.log(user)
+
+ // you moron $userStore is a Svelte Abreviation, this is .JS, duh
+ // let user = $userStore;
+ // let user;
+ // const unsub = userStore.subscribe(value => {
+ // console.log(value);
+ // user = value;
+ // });
+ console.log('in /test what is in userStore directly')
+ console.log(user)
+
// return true;
- if (user)
+ // obvi this doesn't work cuz skips to true after no user...
+ // you gotta make the condition the true and the everything else false
+ // if (user && user.statusCode && user.statusCode === 403)
+ // if (user && user.username) {
+ if (user !== null) {
+ unsub();
return true;
- else
+ } else {
+ unsub();
return false;
+ }
}
]
}),
+ // '/test': wrap({
+ // component: TestPage,
+ // conditions: [
+ // async(detail) => {
+ // // THIS SHIT TOTALLY WORKS
+ // // Yea in the end this might be the best thing, like also from a Security point of view
+ // const user = await fetch('http://transcendance:8080/api/v2/user')
+ // .then((resp) => resp.json())
+
+ // console.log('in /test what is in user')
+ // console.log(user)
+
+ // if (user && user.username)
+ // return true;
+ // else
+ // return false;
+ // }
+ // ]
+ // }),
'/2fa': TwoFactorAuthentication,
"/profile": ProfilePage,
"/profile/*": ProfilePage,
diff --git a/srcs/requirements/svelte/api_front/src/routes/profileRoutes.js b/srcs/requirements/svelte/api_front/src/routes/profileRoutes.js
index 7a70f0ff..6de8ea41 100644
--- a/srcs/requirements/svelte/api_front/src/routes/profileRoutes.js
+++ b/srcs/requirements/svelte/api_front/src/routes/profileRoutes.js
@@ -2,7 +2,6 @@
import NotFound from "../pages/NotFound.svelte";
import ProfileDisplay from '../pages/profile/ProfileDisplay.svelte';
import ProfileSettings from '../pages/profile/ProfileSettings.svelte';
-import { loginStatus } from "../stores/loginStatusStore";
import { wrap } from 'svelte-spa-router/wrap'
// establishing the prefix here very clearly so we can have a coherent repeatable structure
diff --git a/srcs/requirements/svelte/api_front/src/stores/loginStatusStore.js b/srcs/requirements/svelte/api_front/src/stores/loginStatusStore.js
index 4ef25d24..91b928c1 100644
--- a/srcs/requirements/svelte/api_front/src/stores/loginStatusStore.js
+++ b/srcs/requirements/svelte/api_front/src/stores/loginStatusStore.js
@@ -8,11 +8,17 @@ let _user = localStorage.getItem('42User');
// turns out a simple store is actually the easiest :)
export const userStore = writable(_user ? JSON.parse(_user) : null); // we start with no user, but go get one if one exists
+// export const userStore = writable(null);
// ok so this will happen no matter what, basically we are telling it what to do if the store containing the user changes
userStore.subscribe((value) => {
- if (value) localStorage.setItem('42User', JSON.stringify(value));
- else localStorage.removeItem('42User'); // for logout
+ if (value)
+ localStorage.setItem('42User', JSON.stringify(value));
+ else
+ localStorage.removeItem('42User'); // for logout
});
export const userLogout = () => userStore.set(null);
+
+
+// export const tmpStore = userStore
\ No newline at end of file