Saving user to localstorage

This commit is contained in:
2026-01-03 00:44:49 +02:00
parent 927a6ccd80
commit 2c021db505
5 changed files with 21 additions and 3 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
<script setup>
import {ref} from "vue";
import {$user} from "./users.js";
import {$user} from "./stores/user.js";
const formData = ref({username: '', password: ''})
+17
View File
@@ -0,0 +1,17 @@
import {$user} from "../stores/user.js";
const LOCAL_STORAGE_KEY="user"
$user.subscribe(value => {
if(value == null) return;
localStorage[LOCAL_STORAGE_KEY] = JSON.stringify(value)
})
window.addEventListener('load', () => {
let data = localStorage[LOCAL_STORAGE_KEY]
if (data == null) { return }
data = JSON.parse(data)
if (data == null || data.token == null) { return }
if(Date.parse(data.expiresAt) < Date()) { return } // TODO: this should probably have more logic
$user.set(data)
})
+1
View File
@@ -12,6 +12,7 @@ const {title} = Astro.props
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
<meta name="generator" content={Astro.generator} />
<title>Subtle Storm</title>
<script src="../components/scripts/user_store.js"></script>
</head>
<body>
<h1>{title}</h1>
+1 -1
View File
@@ -10,7 +10,7 @@ import LoginForm from '../components/LoginForm.vue';
{import.meta.env.DEV &&
<script>
import { logger } from '@nanostores/logger'
import {$user} from "../components/users";
import {$user} from "../components/stores/user";
let _destroy = logger({user: $user})
</script>