diff options
Diffstat (limited to 'frontend/app/hooks')
| -rw-r--r-- | frontend/app/hooks/useAuth.ts | 44 | ||||
| -rw-r--r-- | frontend/app/hooks/usePageTitle.test.ts | 24 | ||||
| -rw-r--r-- | frontend/app/hooks/usePageTitle.ts | 6 |
3 files changed, 37 insertions, 37 deletions
diff --git a/frontend/app/hooks/useAuth.ts b/frontend/app/hooks/useAuth.ts index 7913a0e..35eafaa 100644 --- a/frontend/app/hooks/useAuth.ts +++ b/frontend/app/hooks/useAuth.ts @@ -3,31 +3,31 @@ import { apiGetMe, apiLogin, apiLogout } from "../api/client"; import type { User } from "../auth"; export function useAuth(): { - user: User | null; - isLoggedIn: boolean; - isLoading: boolean; - login: (username: string, password: string) => Promise<void>; - logout: () => Promise<void>; + user: User | null; + isLoggedIn: boolean; + isLoading: boolean; + login: (username: string, password: string) => Promise<void>; + logout: () => Promise<void>; } { - const [user, setUser] = useState<User | null>(null); - const [isLoading, setIsLoading] = useState(true); + const [user, setUser] = useState<User | null>(null); + const [isLoading, setIsLoading] = useState(true); - useEffect(() => { - apiGetMe() - .then((data) => setUser(data?.user ?? null)) - .catch(() => setUser(null)) - .finally(() => setIsLoading(false)); - }, []); + useEffect(() => { + apiGetMe() + .then((data) => setUser(data?.user ?? null)) + .catch(() => setUser(null)) + .finally(() => setIsLoading(false)); + }, []); - const login = useCallback(async (username: string, password: string) => { - const { user } = await apiLogin(username, password); - setUser(user); - }, []); + const login = useCallback(async (username: string, password: string) => { + const { user } = await apiLogin(username, password); + setUser(user); + }, []); - const logout = useCallback(async () => { - await apiLogout(); - setUser(null); - }, []); + const logout = useCallback(async () => { + await apiLogout(); + setUser(null); + }, []); - return { user, isLoggedIn: user !== null, isLoading, login, logout }; + return { user, isLoggedIn: user !== null, isLoading, login, logout }; } diff --git a/frontend/app/hooks/usePageTitle.test.ts b/frontend/app/hooks/usePageTitle.test.ts index 2e1a3ec..ff9e510 100644 --- a/frontend/app/hooks/usePageTitle.test.ts +++ b/frontend/app/hooks/usePageTitle.test.ts @@ -6,18 +6,18 @@ import { describe, expect, test } from "vitest"; import { usePageTitle } from "./usePageTitle"; describe("usePageTitle", () => { - test("sets document title", () => { - renderHook(() => usePageTitle("Test Page")); - expect(document.title).toBe("Test Page"); - }); + test("sets document title", () => { + renderHook(() => usePageTitle("Test Page")); + expect(document.title).toBe("Test Page"); + }); - test("updates document title when value changes", () => { - const { rerender } = renderHook(({ title }) => usePageTitle(title), { - initialProps: { title: "First" }, - }); - expect(document.title).toBe("First"); + test("updates document title when value changes", () => { + const { rerender } = renderHook(({ title }) => usePageTitle(title), { + initialProps: { title: "First" }, + }); + expect(document.title).toBe("First"); - rerender({ title: "Second" }); - expect(document.title).toBe("Second"); - }); + rerender({ title: "Second" }); + expect(document.title).toBe("Second"); + }); }); diff --git a/frontend/app/hooks/usePageTitle.ts b/frontend/app/hooks/usePageTitle.ts index fb8def5..6cee3c7 100644 --- a/frontend/app/hooks/usePageTitle.ts +++ b/frontend/app/hooks/usePageTitle.ts @@ -1,7 +1,7 @@ import { useEffect } from "react"; export function usePageTitle(title: string) { - useEffect(() => { - document.title = title; - }, [title]); + useEffect(() => { + document.title = title; + }, [title]); } |
