feat(api): authentication

This commit is contained in:
2025-11-18 00:38:27 +02:00
parent 3f53c1e03f
commit baad24fecc
34 changed files with 910 additions and 234 deletions
+26
View File
@@ -0,0 +1,26 @@
"use client";
import type { RouterOutputs } from "@basango/api/trpc/routers/_app";
import { create } from "zustand";
import { createJSONStorage, persist } from "zustand/middleware";
type SessionUser = RouterOutputs["auth"]["session"];
type UserState = {
user: SessionUser | null;
setUser: (user: SessionUser | null) => void;
};
export const useUserStore = create<UserState>()(
persist(
(set) => ({
setUser: (user) => set({ user }),
user: null,
}),
{
name: "basango/user",
partialize: (state) => ({ user: state.user }),
storage: createJSONStorage(() => sessionStorage),
},
),
);