private-routestore-fix

This commit is contained in:
tonyrewin 2022-09-14 17:43:26 +03:00
parent c804efb323
commit 9d054fcef9

View File

@ -1,21 +1,14 @@
import { createSignal, onMount } from 'solid-js'
import type { Author } from '../../graphql/types.gen' import type { Author } from '../../graphql/types.gen'
import Userpic from '../Author/Userpic' import Userpic from '../Author/Userpic'
import Icon from './Icon' import Icon from './Icon'
import './Private.scss' import './Private.scss'
import { isServer } from 'solid-js/web'
import { session as sesstore } from '../../stores/auth' import { session as sesstore } from '../../stores/auth'
import { useStore } from '@nanostores/solid' import { useStore } from '@nanostores/solid'
import { router } from '../../stores/router'
export default () => { export default () => {
const session = useStore(sesstore) const session = useStore(sesstore)
const [resource, setResource] = createSignal('') const routing = useStore(router)
onMount(async () => {
if (!isServer) setResource(window.location.pathname)
console.log(`[private] mounting on ${resource()}`)
})
return ( return (
<div class="usercontrol col"> <div class="usercontrol col">
<div class="usercontrol__item usercontrol__item--write-post"> <div class="usercontrol__item usercontrol__item--write-post">
@ -31,14 +24,14 @@ export default () => {
</div> </div>
<div class="usercontrol__item usercontrol__item--inbox"> <div class="usercontrol__item usercontrol__item--inbox">
<a href="/inbox"> <a href="/inbox">
<div classList={{ entered: resource() === '/inbox' }}> <div classList={{ entered: routing().path === '/inbox' }}>
<Icon name="inbox-white" counter={session().info?.unread || 0} /> <Icon name="inbox-white" counter={session().info?.unread || 0} />
</div> </div>
</a> </a>
</div> </div>
<div class="usercontrol__item"> <div class="usercontrol__item">
<a href={`/${session().user?.slug}`}> <a href={`/${session().user?.slug}`}>
<div classList={{ entered: resource() === `/${session().user?.slug}` }}> <div classList={{ entered: routing().path === `/${session().user?.slug}` }}>
<Userpic user={session().user as Author} /> <Userpic user={session().user as Author} />
</div> </div>
</a> </a>