style: add eslint and prettier
Some checks failed
TrafficCue CI / check (push) Successful in 26s
TrafficCue CI / build (push) Has been cancelled

This commit is contained in:
Cfp
2025-06-22 17:53:32 +02:00
parent 16c0f0c399
commit f2348873fd
100 changed files with 5110 additions and 7344 deletions

View File

@ -5,49 +5,60 @@
import { getAuthURL, getOIDCUser } from "$lib/services/oidc";
import * as Avatar from "$lib/components/ui/avatar";
let user: any = $state(null);
interface OIDCUser {
sub: string;
preferred_username: string;
name?: string;
picture?: string;
}
let user: OIDCUser | null = $state(null);
onMount(() => {
if(!localStorage.getItem("lnv-token")) {
if (!localStorage.getItem("lnv-token")) {
user = null;
} else {
user = JSON.parse(atob((localStorage.getItem("lnv-id") || "").split(".")[1]));
user = JSON.parse(
atob((localStorage.getItem("lnv-id") || "").split(".")[1]),
);
}
})
});
</script>
{#if !user}
<SidebarHeader>
User
</SidebarHeader>
<SidebarHeader>User</SidebarHeader>
<Button onclick={async () => {
const auth = await getAuthURL();
// localStorage.setItem("lnv-codeVerifier", auth.codeVerifier);
// localStorage.setItem("lnv-oidcstate", auth.state);
const popup = window.open(auth.url, "Login", "width=500,height=600");
window.addEventListener("message", async (e) => {
if(e.origin !== window.location.origin) return;
<Button
onclick={async () => {
const auth = await getAuthURL();
// localStorage.setItem("lnv-codeVerifier", auth.codeVerifier);
// localStorage.setItem("lnv-oidcstate", auth.state);
const popup = window.open(auth.url, "Login", "width=500,height=600");
window.addEventListener("message", async (e) => {
if (e.origin !== window.location.origin) return;
const { code, state } = e.data;
console.log("Received data from popup:", e.data);
if(!code || !state) {
console.error("Invalid response from popup");
return;
}
popup?.close();
if(state !== auth.state) {
alert("State mismatch. Please try again.");
return;
}
const { code, state } = e.data;
console.log("Received data from popup:", e.data);
if (!code || !state) {
console.error("Invalid response from popup");
return;
}
popup?.close();
if (state !== auth.state) {
alert("State mismatch. Please try again.");
return;
}
const token = await getOIDCUser(code, auth.codeVerifier);
localStorage.setItem("lnv-id", token.id_token);
localStorage.setItem("lnv-token", token.access_token);
localStorage.setItem("lnv-refresh", token.refresh_token);
user = JSON.parse(atob((localStorage.getItem("lnv-id") || "").split(".")[1]));
})
}}>Login</Button>
const token = await getOIDCUser(code, auth.codeVerifier);
localStorage.setItem("lnv-id", token.id_token);
localStorage.setItem("lnv-token", token.access_token);
localStorage.setItem("lnv-refresh", token.refresh_token);
user = JSON.parse(
atob((localStorage.getItem("lnv-id") || "").split(".")[1]),
);
});
}}>Login</Button
>
{:else}
<SidebarHeader>
<Avatar.Root>
@ -58,4 +69,4 @@
</SidebarHeader>
<pre>{user.sub}</pre>
{JSON.stringify(user, null, 2)}
{/if}
{/if}