topic-outing+fixes

This commit is contained in:
Untone 2024-07-13 13:33:49 +03:00
parent 24e594138f
commit 95612eb7b8
3 changed files with 12 additions and 14 deletions

View File

@ -1,14 +1,6 @@
import { RouteDefinition, RouteSectionProps, createAsync, useLocation } from '@solidjs/router' import { RouteDefinition, RouteSectionProps, createAsync, useLocation } from '@solidjs/router'
import { HttpStatusCode } from '@solidjs/start' import { HttpStatusCode } from '@solidjs/start'
import { import { ErrorBoundary, Show, Suspense, createEffect, createSignal, on, onMount } from 'solid-js'
ErrorBoundary,
Show,
Suspense,
createEffect,
createSignal,
on,
onMount
} from 'solid-js'
import { FourOuFourView } from '~/components/Views/FourOuFour' import { FourOuFourView } from '~/components/Views/FourOuFour'
import { Loading } from '~/components/_shared/Loading' import { Loading } from '~/components/_shared/Loading'
import { gaIdentity } from '~/config' import { gaIdentity } from '~/config'
@ -41,7 +33,7 @@ export const ArticlePage = (props: RouteSectionProps<ArticlePageProps>) => {
const loc = useLocation() const loc = useLocation()
const { t } = useLocalize() const { t } = useLocalize()
const [scrollToComments, setScrollToComments] = createSignal<boolean>(false) const [scrollToComments, setScrollToComments] = createSignal<boolean>(false)
const data = createAsync(async () => props.data?.article || await fetchShout(props.params.slug)) const data = createAsync(async () => props.data?.article || (await fetchShout(props.params.slug)))
onMount(async () => { onMount(async () => {
if (gaIdentity && data()?.id) { if (gaIdentity && data()?.id) {
@ -100,7 +92,13 @@ export const ArticlePage = (props: RouteSectionProps<ArticlePageProps>) => {
) )
} }
type SlugPageProps = { article?: Shout; comments?: Reaction[]; votes?: Reaction[]; author?: Author, topics: Topic[] } type SlugPageProps = {
article?: Shout
comments?: Reaction[]
votes?: Reaction[]
author?: Author
topics: Topic[]
}
export default (props: RouteSectionProps<SlugPageProps>) => { export default (props: RouteSectionProps<SlugPageProps>) => {
if (props.params.slug.startsWith('@')) { if (props.params.slug.startsWith('@')) {

View File

@ -34,7 +34,7 @@ export const route = {
} }
} }
} }
export type TopicPageProps = { articles?: Shout[]; topics: Topic[], authors?: Author[] } export type TopicPageProps = { articles?: Shout[]; topics: Topic[]; authors?: Author[] }
export default function TopicPage(props: RouteSectionProps<TopicPageProps>) { export default function TopicPage(props: RouteSectionProps<TopicPageProps>) {
const { t } = useLocalize() const { t } = useLocalize()