diff options
author | Vitaly Takmazov | 2022-10-31 22:48:30 +0300 |
---|---|---|
committer | Vitaly Takmazov | 2023-01-13 10:37:58 +0300 |
commit | 8887e1b51565b992f34c955c459125eb85b28483 (patch) | |
tree | 7fc8130f523014864e2d60aa9628e7a7ee7e7dd5 /vnext/src/App.js | |
parent | fc96a9a206a825171da87a7f23cc2ea16b1d645d (diff) |
`useVisitor` hook
Diffstat (limited to 'vnext/src/App.js')
-rw-r--r-- | vnext/src/App.js | 36 |
1 files changed, 15 insertions, 21 deletions
diff --git a/vnext/src/App.js b/vnext/src/App.js index 4e235c46..15e29017 100644 --- a/vnext/src/App.js +++ b/vnext/src/App.js @@ -18,6 +18,7 @@ import Login from './ui/Login'; import { useCookies } from 'react-cookie'; import { me, trends } from './api'; +import { useVisitor } from './ui/VisitorContext'; /** * @@ -32,6 +33,8 @@ export default function App({ footer }) { const [allTrends, setAllTrends] = useState([]); + const [visitor, setVisitor] = useVisitor(); + useEffect(() => { svg4everybody(); let params = qs.parse(window.location.search.substring(1)); @@ -42,15 +45,6 @@ export default function App({ footer }) { } }, [setCookie, footer]); - /** - * @type {import('./api').SecureUser} - */ - const unknownUser = { - uid: -1 - }; - - const [visitor, setVisitor] = useState(unknownUser); - let updateStatus = () => { // refresh server visitor state (unread counters) me().then(visitor => { @@ -116,7 +110,7 @@ export default function App({ footer }) { }; return ( <> - <Header visitor={visitor} /> + <Header /> <div id="content_wrapper"> { <aside id="sidebar"> @@ -161,19 +155,19 @@ export default function App({ footer }) { } <section id="content" ref={contentRef}> <Routes> - <Route exact path="/" element={<Discussions visitor={visitor} />} /> - <Route exact path="/home" element={<Home visitor={visitor} />} /> - <Route exact path="/discover" element={<Discover visitor={visitor} />} /> - <Route exact path="/settings" element={<Settings visitor={visitor} onChange={auth} />} /> - <Route exact path="/login" element={<Login visitor={visitor} onAuth={auth} />} /> - <Route exact path="/post" element={<Post visitor={visitor} />} /> - <Route exact path="/pm" element={<Contacts visitor={visitor} />} /> - <Route exact path="/pm/:user" element={<Chat connection={eventSource} visitor={visitor} />} /> + <Route exact path="/" element={<Discussions />} /> + <Route exact path="/home" element={<Home />} /> + <Route exact path="/discover" element={<Discover />} /> + <Route exact path="/settings" element={<Settings onChange={auth} />} /> + <Route exact path="/login" element={<Login onAuth={auth} />} /> + <Route exact path="/post" element={<Post />} /> + <Route exact path="/pm" element={<Contacts />} /> + <Route exact path="/pm/:user" element={<Chat connection={eventSource} />} /> <Route exact path="/:user/friends" element={<Friends />} /> <Route exact path="/:user/readers" element={<Readers />} /> - <Route exact path="/:user" element={<Blog visitor={visitor} />} /> - <Route exact path="/tag/:tag" element={<Tag visitor={visitor} />} /> - <Route exact path="/:user/:mid" element={<Thread connection={eventSource} visitor={visitor} />} /> + <Route exact path="/:user" element={<Blog />} /> + <Route exact path="/tag/:tag" element={<Tag />} /> + <Route exact path="/:user/:mid" element={<Thread connection={eventSource} />} /> </Routes> </section> </div> |