Skip to content

Commit

Permalink
🩹 CMS client and polls (#838)
Browse files Browse the repository at this point in the history
  • Loading branch information
paulsouche authored and bjlaa committed Feb 5, 2025
1 parent ff5b234 commit 8714bda
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 33 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -26,17 +26,15 @@ export default function CampagnePage() {

useHandleRedirectFromLegacy()

const {
data: poll,
isLoading,
isFetched,
} = useFetchPublicPoll({
const { data: poll, isLoading: isLoadingPoll } = useFetchPublicPoll({
enabled: !isRedirectFromLegacy,
})

const { data: dashboard } = useFetchPublicPollDashboard()
const { data: dashboard, isLoading: isLoadingDashboard } =
useFetchPublicPollDashboard()

const { data: simulations } = useFetchPublicPollSimulations()
const { data: simulations, isLoading: isLoadingSimulations } =
useFetchPublicPollSimulations()

const { ageFilters, postalCodeFilters } = useContext(FiltersContext)

Expand All @@ -54,44 +52,38 @@ export default function CampagnePage() {
postalCodeFilters,
})

if (isFetched && !poll) {
return <PollNotFound />
if (isLoadingPoll || isLoadingDashboard || isLoadingSimulations) {
return <PollLoader />
}

if (isLoading) {
return <PollLoader />
if (!poll) {
return <PollNotFound />
}

return (
<div className="mb-4 flex flex-col justify-between md:flex-nowrap">
<Title
title={
isLoading
? '...'
: poll?.name ?? (
<>
<span className="mr-2">
<Trans>Campagne de</Trans>{' '}
<span className="text-primary-700">
{poll?.organisation.name}
</span>
</span>{' '}
{!!poll?.organisation.administrators && (
<span className="text-sm text-gray-600">
<Trans>(définissez un titre dans les paramètres)</Trans>
</span>
)}
</>
)
<>
<span className="mr-2">
<Trans>Campagne de</Trans>{' '}
<span className="text-primary-700">{poll.organisation.name}</span>
</span>{' '}
{!!poll.organisation.administrators && (
<span className="text-sm text-gray-600">
<Trans>(définissez un titre dans les paramètres)</Trans>
</span>
)}
</>
}
subtitle={
poll ? (
<span>
<Trans>Campagne créée par</Trans>{' '}
<strong className="text-primary-700">
{poll?.organisation.name}
{poll.organisation.name}
</strong>
<Trans>, le</Trans> {dayjs(poll?.createdAt).format('DD/MM/YYYY')}
<Trans>, le</Trans> {dayjs(poll.createdAt).format('DD/MM/YYYY')}
</span>
) : (
''
Expand Down
2 changes: 1 addition & 1 deletion src/services/cms/fetchArticlePageContent.ts
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ export async function fetchArticlePageContent({
locale: defaultLocale,
'populate[0]': 'image',
'populate[1]': 'category',
'filters[category][slug][$eq]': categorySlug ?? '',
...(categorySlug ? { 'filters[category][slug][$eq]': categorySlug } : {}),
'filters[slug][$ne]': articleSlug,
sort: 'createdAt:desc',
'pagination[start]': '0',
Expand Down
6 changes: 4 additions & 2 deletions src/services/cms/fetchCategoryPageContent.ts
Original file line number Diff line number Diff line change
Expand Up @@ -55,15 +55,17 @@ export async function fetchCategoryPageContent({
data: [category],
} = categoryResponse

const { id: categoryId, mainArticle: { documentId } = {} } = category

const articlesSearchParams = new URLSearchParams({
locale: defaultLocale,
'fields[0]': 'title',
'fields[1]': 'description',
'fields[2]': 'slug',
'populate[0]': 'image',
'populate[1]': 'category',
'filters[documentId][$ne]': category?.mainArticle?.documentId || '',
'filters[category][$eq]': category?.id || '',
...(documentId ? { 'filters[documentId][$ne]': documentId } : {}),
...(categoryId ? { 'filters[category][$eq]': categoryId } : {}),
'pagination[page]': page.toString(),
'pagination[pageSize]': PAGE_SIZE.toString(),
sort: 'createdAt:desc',
Expand Down

0 comments on commit 8714bda

Please sign in to comment.