minor fixes
This commit is contained in:
parent
e00086ee70
commit
9d93ee0a6c
|
@ -41,6 +41,7 @@ import { SearchPage } from '../pages/search.page'
|
||||||
import { TopicPage } from '../pages/topic.page'
|
import { TopicPage } from '../pages/topic.page'
|
||||||
import { ROUTES, useRouter } from '../stores/router'
|
import { ROUTES, useRouter } from '../stores/router'
|
||||||
import { hideModal, MODALS, showModal } from '../stores/ui'
|
import { hideModal, MODALS, showModal } from '../stores/ui'
|
||||||
|
import { AuthorizerProvider } from '../context/authorizer'
|
||||||
|
|
||||||
// TODO: lazy load
|
// TODO: lazy load
|
||||||
// const SomePage = lazy(() => import('./Pages/SomePage'))
|
// const SomePage = lazy(() => import('./Pages/SomePage'))
|
||||||
|
@ -119,15 +120,17 @@ export const App = (props: Props) => {
|
||||||
<LocalizeProvider>
|
<LocalizeProvider>
|
||||||
<SnackbarProvider>
|
<SnackbarProvider>
|
||||||
<ConfirmProvider>
|
<ConfirmProvider>
|
||||||
<SessionProvider>
|
<AuthorizerProvider onStateChangeCallback={console.log}>
|
||||||
<ConnectProvider>
|
<SessionProvider>
|
||||||
<NotificationsProvider>
|
<ConnectProvider>
|
||||||
<EditorProvider>
|
<NotificationsProvider>
|
||||||
<Dynamic component={pageComponent()} {...props} />
|
<EditorProvider>
|
||||||
</EditorProvider>
|
<Dynamic component={pageComponent()} {...props} />
|
||||||
</NotificationsProvider>
|
</EditorProvider>
|
||||||
</ConnectProvider>
|
</NotificationsProvider>
|
||||||
</SessionProvider>
|
</ConnectProvider>
|
||||||
|
</SessionProvider>
|
||||||
|
</AuthorizerProvider>
|
||||||
</ConfirmProvider>
|
</ConfirmProvider>
|
||||||
</SnackbarProvider>
|
</SnackbarProvider>
|
||||||
</LocalizeProvider>
|
</LocalizeProvider>
|
||||||
|
|
|
@ -99,7 +99,7 @@ export const ArticleCard = (props: ArticleCardProps) => {
|
||||||
|
|
||||||
const canEdit = () =>
|
const canEdit = () =>
|
||||||
props.article.authors?.some((a) => a.slug === author()?.slug) ||
|
props.article.authors?.some((a) => a.slug === author()?.slug) ||
|
||||||
props.article.created_by?.id === author().id
|
props.article.created_by?.id === author()?.id
|
||||||
|
|
||||||
const { changeSearchParam } = useRouter()
|
const { changeSearchParam } = useRouter()
|
||||||
const scrollToComments = (event) => {
|
const scrollToComments = (event) => {
|
||||||
|
|
|
@ -29,7 +29,7 @@ type AuthorizerContextActions = {
|
||||||
}
|
}
|
||||||
const config: ConfigType = {
|
const config: ConfigType = {
|
||||||
authorizerURL: 'https://auth.discours.io',
|
authorizerURL: 'https://auth.discours.io',
|
||||||
redirectURL: 'https://discoursio-webapp.vercel.app',
|
redirectURL: 'https://discoursio-webapp.vercel.app/?modal=auth',
|
||||||
clientID: '9c113377-5eea-4c89-98e1-69302462fc08', // FIXME: use env?
|
clientID: '9c113377-5eea-4c89-98e1-69302462fc08', // FIXME: use env?
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -51,9 +51,6 @@ const AuthorizerContext = createContext<[AuthorizerState, AuthorizerContextActio
|
||||||
])
|
])
|
||||||
|
|
||||||
type AuthorizerProviderProps = {
|
type AuthorizerProviderProps = {
|
||||||
authorizerURL: string
|
|
||||||
redirectURL: string
|
|
||||||
clientID: string
|
|
||||||
onStateChangeCallback?: (stateData: AuthorizerState) => void
|
onStateChangeCallback?: (stateData: AuthorizerState) => void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -62,19 +59,14 @@ export const AuthorizerProvider: ParentComponent<AuthorizerProviderProps> = (pro
|
||||||
user: null,
|
user: null,
|
||||||
token: null,
|
token: null,
|
||||||
loading: true,
|
loading: true,
|
||||||
config: {
|
config,
|
||||||
authorizerURL: props.authorizerURL,
|
|
||||||
redirectURL: props.redirectURL,
|
|
||||||
clientID: props.clientID,
|
|
||||||
} as ConfigType,
|
|
||||||
})
|
})
|
||||||
const [redirect, setRedirect] = createSignal<string>()
|
|
||||||
const authorizer = createMemo(
|
const authorizer = createMemo(
|
||||||
() =>
|
() =>
|
||||||
new Authorizer({
|
new Authorizer({
|
||||||
authorizerURL: props.authorizerURL,
|
authorizerURL: state.config.authorizerURL,
|
||||||
redirectURL: redirect(),
|
redirectURL: state.config.redirectURL,
|
||||||
clientID: props.clientID,
|
clientID: state.config.clientID,
|
||||||
}),
|
}),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -157,7 +149,7 @@ export const AuthorizerProvider: ParentComponent<AuthorizerProviderProps> = (pro
|
||||||
}
|
}
|
||||||
|
|
||||||
onMount(() => {
|
onMount(() => {
|
||||||
setRedirect(window.location.origin)
|
setState('config', { ...config, redirectURL: window.location.origin + '/?modal=auth' })
|
||||||
!state.token && getToken()
|
!state.token && getToken()
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
|
@ -67,17 +67,18 @@ export const SessionProvider = (props: { children: JSX.Element }) => {
|
||||||
const getSession = async (): Promise<AuthToken> => {
|
const getSession = async (): Promise<AuthToken> => {
|
||||||
try {
|
try {
|
||||||
const token = getToken()
|
const token = getToken()
|
||||||
const authResult = await authorizer().getSession({
|
if (token) {
|
||||||
Authorization: token,
|
const authResult = await authorizer().getSession({
|
||||||
})
|
Authorization: token,
|
||||||
if (authResult && authResult.access_token) {
|
})
|
||||||
console.log(authResult)
|
if (authResult && authResult.access_token) {
|
||||||
setToken(authResult.access_token)
|
console.log(authResult)
|
||||||
loadSubscriptions()
|
setToken(authResult.access_token)
|
||||||
return authResult
|
loadSubscriptions()
|
||||||
} else {
|
return authResult
|
||||||
return null
|
}
|
||||||
}
|
}
|
||||||
|
return null
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('getSession error:', error)
|
console.error('getSession error:', error)
|
||||||
resetToken()
|
resetToken()
|
||||||
|
|
|
@ -16,7 +16,7 @@ export default gql`
|
||||||
pic
|
pic
|
||||||
created_at
|
created_at
|
||||||
}
|
}
|
||||||
communitites {
|
communities {
|
||||||
id
|
id
|
||||||
name
|
name
|
||||||
slug
|
slug
|
||||||
|
|
|
@ -42,7 +42,11 @@ export const ArticlePage = (props: PageProps) => {
|
||||||
script.src = 'https://ackee.discours.io/increment.js'
|
script.src = 'https://ackee.discours.io/increment.js'
|
||||||
script.dataset.ackeeServer = 'https://ackee.discours.io'
|
script.dataset.ackeeServer = 'https://ackee.discours.io'
|
||||||
script.dataset.ackeeDomainId = '1004abeb-89b2-4e85-ad97-74f8d2c8ed2d'
|
script.dataset.ackeeDomainId = '1004abeb-89b2-4e85-ad97-74f8d2c8ed2d'
|
||||||
document.body.appendChild(script)
|
try {
|
||||||
|
document.body.appendChild(script)
|
||||||
|
} catch (err) {
|
||||||
|
console.warn(err)
|
||||||
|
}
|
||||||
})
|
})
|
||||||
const [scrollToComments, setScrollToComments] = createSignal<boolean>(false)
|
const [scrollToComments, setScrollToComments] = createSignal<boolean>(false)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user