diff --git a/.gitea/workflows/build-and-deploy.yml b/.gitea/workflows/build-and-deploy.yml index 2de41b2..c6fccb0 100644 --- a/.gitea/workflows/build-and-deploy.yml +++ b/.gitea/workflows/build-and-deploy.yml @@ -53,13 +53,15 @@ jobs: shell: bash env: NEXT_PUBLIC_API_URL: ${{ secrets.NEXT_PUBLIC_API_URL }} - NEXT_PUBLIC_MARKETPLACE_URL: ${{ secrets.NEXT_PUBLIC_MARKETPLACE_URL }} + NEXT_PUBLIC_HOMEPAGE_URL: ${{ secrets.NEXT_PUBLIC_HOMEPAGE_URL }} + NEXT_PUBLIC_STOREFRONT_URL: ${{ secrets.NEXT_PUBLIC_STOREFRONT_URL }} NEXT_PUBLIC_DASHBOARD_URL: ${{ secrets.NEXT_PUBLIC_DASHBOARD_URL }} NEXT_PUBLIC_ADMIN_URL: ${{ secrets.NEXT_PUBLIC_ADMIN_URL }} run: | for variable in \ NEXT_PUBLIC_API_URL \ - NEXT_PUBLIC_MARKETPLACE_URL \ + NEXT_PUBLIC_HOMEPAGE_URL \ + NEXT_PUBLIC_STOREFRONT_URL \ NEXT_PUBLIC_DASHBOARD_URL \ NEXT_PUBLIC_ADMIN_URL do @@ -99,7 +101,8 @@ jobs: DASHBOARD_INTERNAL_URL=http://dashboard:3001 ADMIN_INTERNAL_URL=http://admin:3002 NEXT_PUBLIC_API_URL=${{ secrets.NEXT_PUBLIC_API_URL }} - NEXT_PUBLIC_MARKETPLACE_URL=${{ secrets.NEXT_PUBLIC_MARKETPLACE_URL }} + NEXT_PUBLIC_HOMEPAGE_URL=${{ secrets.NEXT_PUBLIC_HOMEPAGE_URL }} + NEXT_PUBLIC_STOREFRONT_URL=${{ secrets.NEXT_PUBLIC_STOREFRONT_URL }} NEXT_PUBLIC_DASHBOARD_URL=${{ secrets.NEXT_PUBLIC_DASHBOARD_URL }} NEXT_PUBLIC_ADMIN_URL=${{ secrets.NEXT_PUBLIC_ADMIN_URL }} diff --git a/Dockerfile.production b/Dockerfile.production index 2eae5b3..f731733 100644 --- a/Dockerfile.production +++ b/Dockerfile.production @@ -17,14 +17,16 @@ ARG ADMIN_INTERNAL_URL=http://admin:3002 # NEXT_PUBLIC_* vars must be present at build time — they are inlined into JS bundles ARG NEXT_PUBLIC_API_URL -ARG NEXT_PUBLIC_MARKETPLACE_URL +ARG NEXT_PUBLIC_HOMEPAGE_URL +ARG NEXT_PUBLIC_STOREFRONT_URL ARG NEXT_PUBLIC_DASHBOARD_URL ARG NEXT_PUBLIC_ADMIN_URL ENV API_INTERNAL_URL=$API_INTERNAL_URL \ DASHBOARD_INTERNAL_URL=$DASHBOARD_INTERNAL_URL \ ADMIN_INTERNAL_URL=$ADMIN_INTERNAL_URL \ NEXT_PUBLIC_API_URL=$NEXT_PUBLIC_API_URL \ - NEXT_PUBLIC_MARKETPLACE_URL=$NEXT_PUBLIC_MARKETPLACE_URL \ + NEXT_PUBLIC_HOMEPAGE_URL=$NEXT_PUBLIC_HOMEPAGE_URL \ + NEXT_PUBLIC_STOREFRONT_URL=$NEXT_PUBLIC_STOREFRONT_URL \ NEXT_PUBLIC_DASHBOARD_URL=$NEXT_PUBLIC_DASHBOARD_URL \ NEXT_PUBLIC_ADMIN_URL=$NEXT_PUBLIC_ADMIN_URL diff --git a/apps/api/src/modules/reservations/reservation.lifecycle.service.ts b/apps/api/src/modules/reservations/reservation.lifecycle.service.ts index 01163f2..1a76af2 100644 --- a/apps/api/src/modules/reservations/reservation.lifecycle.service.ts +++ b/apps/api/src/modules/reservations/reservation.lifecycle.service.ts @@ -193,7 +193,7 @@ export async function closeReservation(id: string, companyId: string, closedBy: const lang = (company?.brand?.defaultLocale ?? 'fr') as Lang const companyName = company?.brand?.displayName ?? company?.name ?? 'the rental company' const vehicleLabel = `${updated.vehicle.year} ${updated.vehicle.make} ${updated.vehicle.model}` - const reviewUrl = `${process.env.MARKETPLACE_URL ?? 'http://localhost:3000'}/review?token=${reservation.reviewToken}` + const reviewUrl = `${process.env.STOREFRONT_URL ?? 'http://localhost:3000'}/review?token=${reservation.reviewToken}` sendTransactionalEmail({ to: customer.email, diff --git a/apps/api/src/modules/reviews/review.service.test.ts b/apps/api/src/modules/reviews/review.service.test.ts index 4d72020..d0ecf12 100644 --- a/apps/api/src/modules/reviews/review.service.test.ts +++ b/apps/api/src/modules/reviews/review.service.test.ts @@ -49,7 +49,7 @@ describe('review.service', () => { beforeEach(() => { vi.clearAllMocks() vi.setSystemTime(new Date('2026-06-08T12:00:00.000Z')) - process.env.MARKETPLACE_URL = 'https://market.example' + process.env.STOREFRONT_URL = 'https://market.example' }) it('returns reviews with rating filters and pagination metadata', async () => { diff --git a/apps/api/src/modules/reviews/review.service.ts b/apps/api/src/modules/reviews/review.service.ts index 63677b4..cfd94c7 100644 --- a/apps/api/src/modules/reviews/review.service.ts +++ b/apps/api/src/modules/reviews/review.service.ts @@ -61,7 +61,7 @@ export async function sendReviewReminder(id: string, companyId: string) { const companyName = company?.brand?.displayName ?? company?.name ?? 'the rental company' const vehicle = reservation.vehicle const vehicleLabel = vehicle ? `${vehicle.year} ${vehicle.make} ${vehicle.model}` : 'your rental vehicle' - const reviewUrl = `${process.env.MARKETPLACE_URL ?? 'http://localhost:3000'}/review?token=${reservation.reviewToken}` + const reviewUrl = `${process.env.STOREFRONT_URL ?? 'http://localhost:3000'}/review?token=${reservation.reviewToken}` await sendTransactionalEmail({ to: customer.email, diff --git a/apps/api/src/modules/site/site.service.ts b/apps/api/src/modules/site/site.service.ts index 098e732..b7605f0 100644 --- a/apps/api/src/modules/site/site.service.ts +++ b/apps/api/src/modules/site/site.service.ts @@ -30,7 +30,7 @@ function assertAllowedPaymentRedirect(urlValue: string, company: any) { allowedHosts.add('127.0.0.1:3000') allowedHosts.add('127.0.0.1:4000') } - for (const value of [process.env.MARKETPLACE_URL, process.env.DASHBOARD_URL, process.env.NEXT_PUBLIC_MARKETPLACE_URL, process.env.NEXT_PUBLIC_DASHBOARD_URL]) { + for (const value of [process.env.STOREFRONT_URL, process.env.DASHBOARD_URL, process.env.NEXT_PUBLIC_STOREFRONT_URL, process.env.NEXT_PUBLIC_DASHBOARD_URL]) { if (!value) continue try { allowedHosts.add(new URL(value).host) } catch {} } diff --git a/apps/dashboard/src/app/forgot-password/ForgotPasswordPageClient.tsx b/apps/dashboard/src/app/forgot-password/ForgotPasswordPageClient.tsx index 1fcf1a1..c10f2e7 100644 --- a/apps/dashboard/src/app/forgot-password/ForgotPasswordPageClient.tsx +++ b/apps/dashboard/src/app/forgot-password/ForgotPasswordPageClient.tsx @@ -6,7 +6,7 @@ import { useState } from "react"; import { useDashboardI18n } from "@/components/I18nProvider"; import PublicShell from "@/components/layout/PublicShell"; import { API_BASE } from "@/lib/api"; -import { marketplaceUrl } from "@/lib/urls"; +import { storefrontUrl } from "@/lib/urls"; const DASHBOARD_LOGO_SRC = "/dashboard/rentaldrivego.png"; @@ -97,7 +97,7 @@ export default function ForgotPasswordPageClient({