|
|
@ -520,27 +520,20 @@ export default function NewMatchClient() { |
|
|
return ( |
|
|
return ( |
|
|
<> |
|
|
<> |
|
|
<PageBackground /> |
|
|
<PageBackground /> |
|
|
<main |
|
|
|
|
|
style={{ |
|
|
|
|
|
paddingBottom: `${profile?.can_edit_profile === false ? 76 + bottom : 16}px`, |
|
|
|
|
|
paddingTop: `${Math.max(12, top + 4)}px`, |
|
|
|
|
|
}} |
|
|
|
|
|
className="-mx-[17px] flex h-full min-h-full flex-col justify-between overflow-hidden text-center px-4" |
|
|
|
|
|
> |
|
|
|
|
|
<PageHeader profile={profile} /> |
|
|
|
|
|
|
|
|
<main className="-mx-[17px] flex min-h-screen flex-col px-[23px] pt-[max(12px,calc(var(--safe-top)+4px))] pb-[calc(20px+var(--safe-bottom))] text-center"> |
|
|
|
|
|
<PageHeader className="-mx-[6px]" profile={profile} /> |
|
|
|
|
|
|
|
|
<div className="flex flex-1 flex-col justify-between"> |
|
|
|
|
|
|
|
|
<div className="flex flex-1 flex-col justify-between gap-4 pt-2"> |
|
|
{/* Header Section Skeleton */} |
|
|
{/* Header Section Skeleton */} |
|
|
<section className="flex flex-col items-center mt-9"> |
|
|
|
|
|
|
|
|
<section className="flex flex-col items-center"> |
|
|
<LoadingSkeleton className="h-[60px] w-[60px] rounded-full" /> |
|
|
<LoadingSkeleton className="h-[60px] w-[60px] rounded-full" /> |
|
|
<LoadingSkeleton className="h-6 w-[220px] mt-4" /> |
|
|
|
|
|
<LoadingSkeleton className="h-4 w-[280px] mt-3" /> |
|
|
|
|
|
<LoadingSkeleton className="h-4 w-[240px] mt-1.5" /> |
|
|
|
|
|
|
|
|
<LoadingSkeleton className="h-6 w-[220px] mt-3" /> |
|
|
|
|
|
<LoadingSkeleton className="h-4 w-[280px] mt-2" /> |
|
|
|
|
|
<LoadingSkeleton className="h-4 w-[240px] mt-1" /> |
|
|
</section> |
|
|
</section> |
|
|
|
|
|
|
|
|
<div className="flex flex-col justify-between"> |
|
|
|
|
|
{/* Match Card Skeleton */} |
|
|
{/* Match Card Skeleton */} |
|
|
<section className="mt-[36px] rounded-[15px] border border-white/80 bg-white px-[17px] pt-[18px] pb-[17px] shadow-[0_18px_45px_rgba(15,23,42,0.06)] flex flex-col items-center"> |
|
|
|
|
|
|
|
|
<section className="rounded-[15px] border border-white/80 bg-white px-[17px] pt-[18px] pb-[17px] shadow-[0_18px_45px_rgba(15,23,42,0.06)] flex flex-col items-center"> |
|
|
{/* Name line */} |
|
|
{/* Name line */} |
|
|
<LoadingSkeleton className="h-5 w-[140px]" /> |
|
|
<LoadingSkeleton className="h-5 w-[140px]" /> |
|
|
|
|
|
|
|
|
@ -556,7 +549,7 @@ export default function NewMatchClient() { |
|
|
</section> |
|
|
</section> |
|
|
|
|
|
|
|
|
{/* Advisor Card Skeleton */} |
|
|
{/* Advisor Card Skeleton */} |
|
|
<section className="mt-[36px]"> |
|
|
|
|
|
|
|
|
<section> |
|
|
<div className="rounded-[13px] border border-white/80 bg-white px-3 py-3.5 text-left shadow-[0_18px_45px_rgba(15,23,42,0.06)] backdrop-blur-sm"> |
|
|
<div className="rounded-[13px] border border-white/80 bg-white px-3 py-3.5 text-left shadow-[0_18px_45px_rgba(15,23,42,0.06)] backdrop-blur-sm"> |
|
|
<LoadingSkeleton className="h-[16px] w-[140px]" /> |
|
|
<LoadingSkeleton className="h-[16px] w-[140px]" /> |
|
|
<div className="mt-2 space-y-1"> |
|
|
<div className="mt-2 space-y-1"> |
|
|
@ -577,7 +570,6 @@ export default function NewMatchClient() { |
|
|
</div> |
|
|
</div> |
|
|
</section> |
|
|
</section> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
</main> |
|
|
</main> |
|
|
</> |
|
|
</> |
|
|
); |
|
|
); |
|
|
@ -610,17 +602,11 @@ export default function NewMatchClient() { |
|
|
<> |
|
|
<> |
|
|
<PageBackground /> |
|
|
<PageBackground /> |
|
|
|
|
|
|
|
|
<main |
|
|
|
|
|
style={{ |
|
|
|
|
|
paddingBottom: `${profile?.can_edit_profile === false ? 76 + bottom : 16}px`, |
|
|
|
|
|
paddingTop: `${Math.max(12, top + 4)}px`, |
|
|
|
|
|
}} |
|
|
|
|
|
className="-mx-[17px] flex h-full min-h-full flex-col justify-between overflow-hidden text-center px-4" |
|
|
|
|
|
> |
|
|
|
|
|
<PageHeader profile={profile} /> |
|
|
|
|
|
|
|
|
<main className="-mx-[17px] flex min-h-screen flex-col px-[23px] pt-[max(12px,calc(var(--safe-top)+4px))] pb-[calc(20px+var(--safe-bottom))] text-center"> |
|
|
|
|
|
<PageHeader className="-mx-[6px]" profile={profile} /> |
|
|
|
|
|
|
|
|
<div className="flex flex-1 flex-col justify-between"> |
|
|
|
|
|
<section className="flex flex-col items-center mt-9"> |
|
|
|
|
|
|
|
|
<div className="flex flex-1 flex-col justify-between gap-4 pt-2"> |
|
|
|
|
|
<section className="flex flex-col items-center"> |
|
|
<div |
|
|
<div |
|
|
aria-hidden="true" |
|
|
aria-hidden="true" |
|
|
className="relative flex h-[60px] w-[60px] items-center justify-center rounded-full bg-[#FF4E67] shadow-[0_12px_28px_rgba(240,68,91,0.22)]" |
|
|
className="relative flex h-[60px] w-[60px] items-center justify-center rounded-full bg-[#FF4E67] shadow-[0_12px_28px_rgba(240,68,91,0.22)]" |
|
|
@ -632,17 +618,16 @@ export default function NewMatchClient() { |
|
|
alt="notification" |
|
|
alt="notification" |
|
|
/> |
|
|
/> |
|
|
</div> |
|
|
</div> |
|
|
<h2 className="text-[22px] font-bold mt-3.5"> |
|
|
|
|
|
|
|
|
<h1 className="mt-3 text-center text-[20px] font-bold leading-[1.25] text-[#1A1A1A]"> |
|
|
{matchHeadingTitle} |
|
|
{matchHeadingTitle} |
|
|
</h2> |
|
|
|
|
|
<p className="mt-[11px] max-w-[322px] text-[12px] leading-[1.35] font-semibold text-[#7C7C7C]"> |
|
|
|
|
|
|
|
|
</h1> |
|
|
|
|
|
<p className="mt-2 max-w-[315px] text-center text-[12px] leading-[1.35] font-semibold text-[#7C7C7C]"> |
|
|
{matchHeadingDescription} |
|
|
{matchHeadingDescription} |
|
|
</p> |
|
|
</p> |
|
|
</section> |
|
|
</section> |
|
|
|
|
|
|
|
|
<div className="flex flex-col justify-between"> |
|
|
|
|
|
{isLoading ? ( |
|
|
{isLoading ? ( |
|
|
<section className="mt-[36px] rounded-[15px] border border-white/80 bg-white px-[17px] pt-[18px] pb-[17px] shadow-[0_18px_45px_rgba(15,23,42,0.06)]"> |
|
|
|
|
|
|
|
|
<section className="rounded-[15px] border border-white/80 bg-white px-[17px] pt-[18px] pb-[17px] shadow-[0_18px_45px_rgba(15,23,42,0.06)]"> |
|
|
<div className="flex flex-col items-center py-2"> |
|
|
<div className="flex flex-col items-center py-2"> |
|
|
{/* Name line */} |
|
|
{/* Name line */} |
|
|
<LoadingSkeleton className="h-5 w-[140px]" /> |
|
|
<LoadingSkeleton className="h-5 w-[140px]" /> |
|
|
@ -659,9 +644,9 @@ export default function NewMatchClient() { |
|
|
</div> |
|
|
</div> |
|
|
</section> |
|
|
</section> |
|
|
) : ( |
|
|
) : ( |
|
|
<section className="mt-[36px] rounded-[15px] bg-[linear-gradient(180deg,#F0445B_0%,#F4556E_100%)] px-[17px] pt-[18px] pb-[17px] text-white shadow-[0_18px_38px_rgba(240,68,91,0.25)]"> |
|
|
|
|
|
|
|
|
<section className="rounded-[15px] bg-[linear-gradient(180deg,#F0445B_0%,#F4556E_100%)] px-[17px] pt-[16px] pb-[16px] text-white shadow-[0_18px_38px_rgba(240,68,91,0.25)]"> |
|
|
{isError ? ( |
|
|
{isError ? ( |
|
|
<p className="py-8 text-[13px] font-semibold"> |
|
|
|
|
|
|
|
|
<p className="py-6 text-[13px] font-semibold"> |
|
|
Unable to load match summary. |
|
|
Unable to load match summary. |
|
|
</p> |
|
|
</p> |
|
|
) : matchSummary ? ( |
|
|
) : matchSummary ? ( |
|
|
@ -670,7 +655,7 @@ export default function NewMatchClient() { |
|
|
<span>{matchDisplay.name}</span> |
|
|
<span>{matchDisplay.name}</span> |
|
|
</h2> |
|
|
</h2> |
|
|
|
|
|
|
|
|
<div className="mt-[6px] min-h-[48px] space-y-0.5 text-left"> |
|
|
|
|
|
|
|
|
<div className="mt-[6px] min-h-[44px] space-y-0.5 text-left"> |
|
|
{matchDisplay.age ? ( |
|
|
{matchDisplay.age ? ( |
|
|
<FieldLine field={matchDisplay.age} /> |
|
|
<FieldLine field={matchDisplay.age} /> |
|
|
) : null} |
|
|
) : null} |
|
|
@ -720,21 +705,20 @@ export default function NewMatchClient() { |
|
|
openProfile(); |
|
|
openProfile(); |
|
|
} |
|
|
} |
|
|
}} |
|
|
}} |
|
|
className="mt-[15px] inline-flex w-full items-center justify-center rounded-[10px] border-none bg-white h-[40px] text-[16px] font-semibold text-[#F0445B] no-underline shadow-none hover:bg-white/95 transition-colors cursor-pointer" |
|
|
|
|
|
|
|
|
className="mt-[14px] inline-flex w-full items-center justify-center rounded-[10px] border-none bg-white h-[40px] text-[16px] font-semibold text-[#F0445B] no-underline shadow-none hover:bg-white/95 transition-colors cursor-pointer" |
|
|
> |
|
|
> |
|
|
{t["View more details"]} |
|
|
{t["View more details"]} |
|
|
</button> |
|
|
</button> |
|
|
</> |
|
|
</> |
|
|
) : ( |
|
|
) : ( |
|
|
<p className="py-8 text-[13px] font-semibold"> |
|
|
|
|
|
|
|
|
<p className="py-6 text-[13px] font-semibold"> |
|
|
No match summary is available yet. |
|
|
No match summary is available yet. |
|
|
</p> |
|
|
</p> |
|
|
)} |
|
|
)} |
|
|
</section> |
|
|
</section> |
|
|
)} |
|
|
)} |
|
|
<div className="w-full space-y-3"> |
|
|
|
|
|
|
|
|
|
|
|
<AdvisorActionsCard |
|
|
<AdvisorActionsCard |
|
|
className="mt-[36px]" |
|
|
|
|
|
title={t["Get an advisor"]} |
|
|
title={t["Get an advisor"]} |
|
|
description={ |
|
|
description={ |
|
|
t[ |
|
|
t[ |
|
|
@ -747,8 +731,6 @@ export default function NewMatchClient() { |
|
|
onGetAdvisor={openAdvisors} |
|
|
onGetAdvisor={openAdvisors} |
|
|
/> |
|
|
/> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
</div> |
|
|
|
|
|
</main> |
|
|
</main> |
|
|
|
|
|
|
|
|
{profile?.can_edit_profile === false && ( |
|
|
{profile?.can_edit_profile === false && ( |
|
|
|