feat: portfolios page

This commit is contained in:
DIYgod 2023-08-07 18:51:21 +01:00
parent f2f77a76b3
commit 3677a3507d
No known key found for this signature in database
2 changed files with 48 additions and 3 deletions

View File

@ -0,0 +1,39 @@
import { Hydrate, dehydrate } from "@tanstack/react-query"
import SiteHome from "~/components/site/SiteHome"
import getQueryClient from "~/lib/query-client"
import { PageVisibilityEnum } from "~/lib/types"
import { prefetchGetPagesBySite } from "~/queries/page.server"
import { fetchGetSite } from "~/queries/site.server"
async function SiteIndexPage({
params,
}: {
params: {
site: string
}
}) {
const queryClient = getQueryClient()
const site = await fetchGetSite(params.site, queryClient)
await prefetchGetPagesBySite(
{
characterId: site?.characterId,
type: "portfolio",
visibility: PageVisibilityEnum.Published,
useStat: true,
limit: 18,
},
queryClient,
)
const dehydratedState = dehydrate(queryClient)
return (
<Hydrate state={dehydratedState}>
<SiteHome handle={params.site} type="portfolio" />
</Hydrate>
)
}
export default SiteIndexPage

View File

@ -1,15 +1,21 @@
"use client"
import PostList from "~/components/site/PostList"
import { PageVisibilityEnum } from "~/lib/types"
import { NoteType, PageVisibilityEnum } from "~/lib/types"
import { useGetPagesBySiteLite, usePinnedPage } from "~/queries/page"
import { useGetSite } from "~/queries/site"
export default function SiteHome({ handle }: { handle: string }) {
export default function SiteHome({
handle,
type,
}: {
handle: string
type?: NoteType
}) {
const site = useGetSite(handle)
const posts = useGetPagesBySiteLite({
characterId: site.data?.characterId,
type: ["post", "portfolio"],
type: type || ["post", "portfolio"],
visibility: PageVisibilityEnum.Published,
useStat: true,
limit: 18,