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

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

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

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