connect theme toggle
This commit is contained in:
parent
4c51513cfe
commit
bce4089903
4 changed files with 22 additions and 10 deletions
|
|
@ -43,7 +43,7 @@ function AuthHTTPWrapper() {
|
||||||
<AuthWrapper setToken={setToken}>
|
<AuthWrapper setToken={setToken}>
|
||||||
{ token ?
|
{ token ?
|
||||||
<HTTPProvider token={token}>
|
<HTTPProvider token={token}>
|
||||||
<UserWrapper/>
|
<UserWrapper toggleTheme={toggleTheme}/>
|
||||||
</HTTPProvider>
|
</HTTPProvider>
|
||||||
:
|
:
|
||||||
<LoadingScreen
|
<LoadingScreen
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ import { useUserAPI } from '../providers/pond/userAPI'
|
||||||
import { useAuth0 } from '@auth0/auth0-react'
|
import { useAuth0 } from '@auth0/auth0-react'
|
||||||
import { or } from '../utils/types'
|
import { or } from '../utils/types'
|
||||||
import LoadingScreen from './LoadingScreen'
|
import LoadingScreen from './LoadingScreen'
|
||||||
import { pond } from "protobuf-ts/pond";
|
// import { pond } from "protobuf-ts/pond";
|
||||||
import NavigationContainer from '../navigation/NavigationContainer'
|
import NavigationContainer from '../navigation/NavigationContainer'
|
||||||
import { GlobalState, GlobalStateAction, StateProvider } from '../providers/StateContainer'
|
import { GlobalState, GlobalStateAction, StateProvider } from '../providers/StateContainer'
|
||||||
import { User } from '../models/user'
|
import { User } from '../models/user'
|
||||||
|
|
@ -28,14 +28,19 @@ const globalDefault = {
|
||||||
backgroundTasksComplete: false
|
backgroundTasksComplete: false
|
||||||
}
|
}
|
||||||
|
|
||||||
export default function UserWrapper() {
|
interface Props {
|
||||||
|
toggleTheme: () => void;
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function UserWrapper(props: Props) {
|
||||||
|
const { toggleTheme } = props;
|
||||||
const [count, setCount] = useState(0)
|
const [count, setCount] = useState(0)
|
||||||
const [loading, setLoading] = useState(false)
|
const [loading, setLoading] = useState(false)
|
||||||
const userAPI = useUserAPI();
|
const userAPI = useUserAPI();
|
||||||
const useAuth = useAuth0();
|
const useAuth = useAuth0();
|
||||||
const hasFetched = useRef(false);
|
const hasFetched = useRef(false);
|
||||||
// const [user, setUser] = useState<pond.User | undefined>(undefined)
|
// const [user, setUser] = useState<pond.User | undefined>(undefined)
|
||||||
const [message, setMessage] = useState("Loading user profile...")
|
// const [message, setMessage] = useState("Loading user profile...")
|
||||||
const [global, setGlobal] = useState<undefined | GlobalState>(undefined)
|
const [global, setGlobal] = useState<undefined | GlobalState>(undefined)
|
||||||
|
|
||||||
let user_id = or(useAuth.user?.sub, "")
|
let user_id = or(useAuth.user?.sub, "")
|
||||||
|
|
@ -72,14 +77,12 @@ export default function UserWrapper() {
|
||||||
console.log(loading)
|
console.log(loading)
|
||||||
console.log(global)
|
console.log(global)
|
||||||
if (loading || !global) return (
|
if (loading || !global) return (
|
||||||
<LoadingScreen
|
<LoadingScreen />
|
||||||
message={message}
|
|
||||||
/>
|
|
||||||
)
|
)
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<StateProvider state={global} reducer={reducer}>
|
<StateProvider state={global} reducer={reducer}>
|
||||||
<NavigationContainer>
|
<NavigationContainer toggleTheme={toggleTheme}>
|
||||||
<div>
|
<div>
|
||||||
<a href="https://vitejs.dev" target="_blank">
|
<a href="https://vitejs.dev" target="_blank">
|
||||||
<img src={viteLogo} className="logo" alt="Vite logo" />
|
<img src={viteLogo} className="logo" alt="Vite logo" />
|
||||||
|
|
|
||||||
|
|
@ -9,13 +9,14 @@ import React, { PropsWithChildren, useState } from "react";
|
||||||
// import NotificationBanner from "common/NotificationBanner";
|
// import NotificationBanner from "common/NotificationBanner";
|
||||||
|
|
||||||
interface Props extends PropsWithChildren {
|
interface Props extends PropsWithChildren {
|
||||||
// toggleTheme: () => void;
|
toggleTheme: () => void;
|
||||||
// teams: Team[];
|
// teams: Team[];
|
||||||
// setTeams: React.Dispatch<React.SetStateAction<Team[]>>;
|
// setTeams: React.Dispatch<React.SetStateAction<Team[]>>;
|
||||||
}
|
}
|
||||||
|
|
||||||
export default function NavigationContainer(props: Props) {
|
export default function NavigationContainer(props: Props) {
|
||||||
// const { toggleTheme, teams, setTeams } = props;
|
// const { toggleTheme, teams, setTeams } = props;
|
||||||
|
const { toggleTheme } = props;
|
||||||
const { children } = props;
|
const { children } = props;
|
||||||
const [sideNavigatorOpen, setSideNavigatorOpen] = useState<boolean>(false);
|
const [sideNavigatorOpen, setSideNavigatorOpen] = useState<boolean>(false);
|
||||||
// const isMobile = useMobile();
|
// const isMobile = useMobile();
|
||||||
|
|
@ -34,7 +35,7 @@ export default function NavigationContainer(props: Props) {
|
||||||
<Header
|
<Header
|
||||||
sideIsOpen={sideNavigatorOpen}
|
sideIsOpen={sideNavigatorOpen}
|
||||||
openSide={openSideNavigator}
|
openSide={openSideNavigator}
|
||||||
// toggleTheme={toggleTheme}
|
toggleTheme={toggleTheme}
|
||||||
// teams={teams}
|
// teams={teams}
|
||||||
// setTeams={setTeams}
|
// setTeams={setTeams}
|
||||||
/>
|
/>
|
||||||
|
|
|
||||||
|
|
@ -67,6 +67,14 @@ export default function UserMenu(props: Props) {
|
||||||
setLockIsHovered(false);
|
setLockIsHovered(false);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
console.log(theme.palette.mode)
|
||||||
|
}, [theme.palette.mode])
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
console.log(theme)
|
||||||
|
}, [theme])
|
||||||
|
|
||||||
const unauthenticatedUserMenu = () => {
|
const unauthenticatedUserMenu = () => {
|
||||||
return (
|
return (
|
||||||
<React.Fragment>
|
<React.Fragment>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue