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 ClientPreviousStays from "./Client"
import EmptyPreviousStaysBlock from "./EmptyPreviousStays"

import type { AccountPageComponentProps } from "@/types/components/myPages/myPage/accountPage"

export default async function PreviousStays({
  title,
  subtitle,
  link,
}: AccountPageComponentProps) {
  const initialPreviousStays = await serverClient().user.stays.previous()
  if (!initialPreviousStays?.data) {
    return null
  }
  return (
    <SectionContainer>
      <SectionHeader title={title} subtitle={subtitle} link={link} />
      {initialPreviousStays.data.length ? (
        <ClientPreviousStays initialPreviousStays={initialPreviousStays} />
      ) : (
        <EmptyPreviousStaysBlock />
      )}
      <SectionLink link={link} variant="mobile" />
    </SectionContainer>
  )
}
