Files
web/components/Blocks/DynamicContent/Stays/Upcoming/index.tsx
2024-09-24 09:47:31 +02:00

35 lines
1.0 KiB
TypeScript

import { serverClient } from "@/lib/trpc/server"
import SectionContainer from "@/components/Section/Container"
import SectionHeader from "@/components/Section/Header"
import SectionLink from "@/components/Section/Link"
import ClientUpcomingStays from "./Client"
import EmptyUpcomingStaysBlock from "./EmptyUpcomingStays"
import styles from "./upcoming.module.css"
import type { AccountPageComponentProps } from "@/types/components/myPages/myPage/accountPage"
export default async function UpcomingStays({
title,
subtitle,
link,
}: AccountPageComponentProps) {
const initialUpcomingStays = await serverClient().user.stays.upcoming({
limit: 6,
})
return (
<SectionContainer className={styles.container}>
<SectionHeader title={title} preamble={subtitle} link={link} />
{initialUpcomingStays?.data.length ? (
<ClientUpcomingStays initialUpcomingStays={initialUpcomingStays} />
) : (
<EmptyUpcomingStaysBlock />
)}
<SectionLink link={link} variant="mobile" />
</SectionContainer>
)
}