feat: share oauth access token with svelte via LocalStorage component

This commit is contained in:
2026-02-26 15:21:34 +01:00
parent b32da63dd0
commit 9f3aca5a8d
2 changed files with 22 additions and 2 deletions
+19
View File
@@ -0,0 +1,19 @@
<script lang="ts">
let { set, remove }: { set: any; remove: any } = $props();
$effect(() => {
const toSet = Object.entries(set);
for (const [key, value] of toSet) {
localStorage.setItem(key, JSON.stringify(value));
}
});
$effect(() => {
const toRemove = Object.entries(remove);
for (const [key] of toRemove) {
localStorage.removeItem(key);
}
});
</script>
+3 -2
View File
@@ -1,5 +1,6 @@
---
import CSRF from "csrf";
import LocalStorage from "../../../components/LocalStorage.svelte";
const code = Astro.url.searchParams.get("code");
if (code === null) {
@@ -37,6 +38,6 @@ const accessToken = await fetch(oauth2Token, {
body: params,
headers: { "Content-Type": "application/x-www-form-urlencoded" },
}).then((res) => res.json());
console.log(accessToken);
---
<LocalStorage set={{ oauth2: accessToken }} client:load />