/**
 * Portal base URL for emails, WhatsApp, SLA alerts, and notifications.
 * Set `FRONTEND_URL` in backend `.env` (e.g. https://dealeronboarding-uat.royalenfield.com).
 */
export function getFrontendBaseUrl(): string {
    return (process.env.FRONTEND_URL || 'http://localhost:5173').replace(/\/$/, '');
}


/**
 * Portal URL for prospects / applicants — i.e. users with `Prospective Dealer` role.
 *
 * Internal pages like `/applications/:id` are admin-only and a prospect would just see
 * a forbidden page, so applicant-facing emails must always send them through their
 * own portal (`/prospective-login` → OTP → `/prospective-dashboard`).
 *
 * Pass `applicationId` to deep-link to a specific application — the login page reads
 * the `next` query parameter and routes the prospect there after OTP verification.
 *
 * Note: The route is `/prospective-login` (full word). Older code mistakenly used
 *       `/prospect-login` (singular) which 404s — use this helper to avoid the typo.
 */
export function getProspectPortalUrl(applicationId?: string): string {
    const base = getFrontendBaseUrl();
    if (!applicationId) return `${base}/prospective-login`;
    const next = encodeURIComponent(`/prospective-dashboard/application/${applicationId}`);
    return `${base}/prospective-login?next=${next}`;
}
