minor fixes
Some checks failed
deploy / test (push) Failing after 59s
deploy / deploy (push) Has been skipped

This commit is contained in:
Untone 2023-12-10 16:59:50 +03:00
parent e00086ee70
commit 9d93ee0a6c
6 changed files with 36 additions and 36 deletions

View File

@ -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>

View File

@ -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) => {

View File

@ -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()
}) })

View File

@ -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()

View File

@ -16,7 +16,7 @@ export default gql`
pic pic
created_at created_at
} }
communitites { communities {
id id
name name
slug slug

View File

@ -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)