From 733c45d061cda8dee493e05d6d0034f65a413bd4 Mon Sep 17 00:00:00 2001 From: Tero Halla-aho Date: Thu, 18 Dec 2025 21:28:04 +0200 Subject: [PATCH] Fix login link type for contact visibility --- app/listings/[slug]/page.tsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/listings/[slug]/page.tsx b/app/listings/[slug]/page.tsx index a681e93..c97aafd 100644 --- a/app/listings/[slug]/page.tsx +++ b/app/listings/[slug]/page.tsx @@ -10,6 +10,7 @@ import { getCalendarRanges, expandBlockedDates } from '../../../lib/calendar'; import { verifyAccessToken } from '../../../lib/jwt'; import AvailabilityCalendar from '../../components/AvailabilityCalendar'; import { getSiteSettings } from '../../../lib/settings'; +import type { UrlObject } from 'url'; type ListingPageProps = { params: { slug: string }; @@ -118,7 +119,7 @@ export default async function ListingPage({ params }: ListingPageProps) { const contactParts = [listing.contactName, listing.contactEmail, listing.contactPhone].filter(Boolean) as string[]; const contactLine = contactParts.length ? contactParts.join(' · ') : '—'; const canViewContact = !siteSettings.requireLoginForContactDetails || Boolean(viewerId); - const loginRedirectUrl = `/auth/login?redirect=${encodeURIComponent(`/listings/${params.slug}`)}`; + const loginRedirectUrl: UrlObject = { pathname: '/auth/login', query: { redirect: `/listings/${params.slug}` } }; const coverImage = listing.images.find((img) => img.isCover) ?? listing.images[0] ?? null; const priceCandidates = [listing.priceWeekdayEuros, listing.priceWeekendEuros].filter((p): p is number => typeof p === 'number'); const startingFromEuros = priceCandidates.length ? Math.min(...priceCandidates) : null;