topic-outing+fixes
This commit is contained in:
parent
24e594138f
commit
95612eb7b8
|
@ -39,7 +39,7 @@ export const TopicView = (props: Props) => {
|
||||||
const { feedByTopic, addFeed } = useFeed()
|
const { feedByTopic, addFeed } = useFeed()
|
||||||
const { topicEntities } = useTopics()
|
const { topicEntities } = useTopics()
|
||||||
const { authorsByTopic } = useAuthors()
|
const { authorsByTopic } = useAuthors()
|
||||||
const [searchParams, changeSearchParams] = useSearchParams<{by: TopicFeedSortBy}>()
|
const [searchParams, changeSearchParams] = useSearchParams<{ by: TopicFeedSortBy }>()
|
||||||
const [isLoadMoreButtonVisible, setIsLoadMoreButtonVisible] = createSignal(false)
|
const [isLoadMoreButtonVisible, setIsLoadMoreButtonVisible] = createSignal(false)
|
||||||
const [favoriteTopArticles, setFavoriteTopArticles] = createSignal<Shout[]>([])
|
const [favoriteTopArticles, setFavoriteTopArticles] = createSignal<Shout[]>([])
|
||||||
const [reactedTopMonthArticles, setReactedTopMonthArticles] = createSignal<Shout[]>([])
|
const [reactedTopMonthArticles, setReactedTopMonthArticles] = createSignal<Shout[]>([])
|
||||||
|
|
|
@ -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) {
|
||||||
|
@ -82,7 +74,7 @@ export const ArticlePage = (props: RouteSectionProps<ArticlePageProps>) => {
|
||||||
}
|
}
|
||||||
>
|
>
|
||||||
<PageLayout
|
<PageLayout
|
||||||
title={`${t('Discours')}${data()?.title ? ' :: ' : ''}${data()?.title||''}`}
|
title={`${t('Discours')}${data()?.title ? ' :: ' : ''}${data()?.title || ''}`}
|
||||||
desc={descFromBody(data()?.body || '')}
|
desc={descFromBody(data()?.body || '')}
|
||||||
keywords={keywordsFromTopics(data()?.topics as { title: string }[])}
|
keywords={keywordsFromTopics(data()?.topics as { title: string }[])}
|
||||||
headerTitle={data()?.title || ''}
|
headerTitle={data()?.title || ''}
|
||||||
|
@ -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('@')) {
|
||||||
|
|
|
@ -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()
|
||||||
|
|
Loading…
Reference in New Issue
Block a user