feat: initial draft and components creation

This commit is contained in:
Raul Lugo
2026-09-06 12:49:29 +02:00
parent 7a45111420
commit 64fb24d87c
44 changed files with 1922 additions and 416 deletions
+47
View File
@@ -0,0 +1,47 @@
import { DetailsSection } from "@/components/invite/details-section"
import { FaqSection } from "@/components/invite/faq-section"
import { HeroSection } from "@/components/invite/hero-section"
import { IntroductionSection } from "@/components/invite/introduction-section"
import { RsvpSection } from "@/components/invite/rsvp-section"
import { ScheduleSection } from "@/components/invite/schedule-section"
import { StorySection } from "@/components/invite/story-section"
import type { InvitationDetail } from "@/lib/db/queries/invitations"
import type { ToastRequest } from "@/lib/db/types"
import type { GuestDictionary } from "@/lib/i18n/dictionaries"
import type { InvitePageContent } from "@/lib/i18n/invite-page/content"
export function WeddingInvite({
action,
detail,
token,
dictionary,
content,
closed,
toastRequest,
filename,
submitted,
error,
}: {
action: (formData: FormData) => void | Promise<void>
detail: InvitationDetail
token: string
dictionary: GuestDictionary
content: InvitePageContent
closed: boolean
toastRequest: ToastRequest | undefined
filename: string | null
submitted?: string
error?: string
}) {
return (
<main className="overflow-x-hidden bg-wedding-ivory text-wedding-ink">
<HeroSection content={content.hero} />
<IntroductionSection content={content.introduction} />
<StorySection content={content.story} />
<DetailsSection content={content.details} />
<ScheduleSection content={content.schedule} />
<FaqSection content={content.faq} />
<RsvpSection action={action} detail={detail} token={token} dictionary={dictionary} content={content.rsvp} closed={closed} toastRequest={toastRequest} filename={filename} submitted={submitted} error={error} />
</main>
)
}