Resto·Ka — tous les restaurants du Québec, menus complets et prix réels (famille ·Ka)
Python 69.3%
TypeScript 16.7%
CSS 7.9%
JavaScript 4.7%
HTML 1.4%
1// ==============================================================================2// Author: Simon-Pierre Boucher <contact@spboucher.ai>3// File: account.tsx4// Desc: Contexte de compte membre (« Se connecter avec KA » — hub Groupe KA) :5// profil de session, comme le account.tsx de Lou·Ka. Les favoris ♥6// vivent au hub Groupe KA (« Mon univers Ka ») — voir favorites.tsx.7// ==============================================================================8import {9 createContext, useCallback, useContext, useEffect, useMemo, useState,10} from "react";11import { Me, fetchMe } from "./api";1213interface AccountCtx {14 me: Me | null;15 refresh: () => void;16}1718const Ctx = createContext<AccountCtx>({ me: null, refresh: () => {} });1920export const useAccount = () => useContext(Ctx);2122export function AccountProvider({ children }: { children: React.ReactNode }) {23 const [me, setMe] = useState<Me | null>(null);2425 const refresh = useCallback(() => {26 fetchMe().then((m) => setMe(m));27 }, []);2829 useEffect(() => { refresh(); }, [refresh]);3031 const value = useMemo(() => ({ me, refresh }), [me, refresh]);32 return <Ctx.Provider value={value}>{children}</Ctx.Provider>;33}34