function normalizeUrl(url: string) {
  return url.replace(/\/$/, "");
}

function getEnvUrl(name: string, fallback: string) {
  const value = process.env[name];
  if (!value || !value.trim()) return fallback;
  return normalizeUrl(value.trim());
}

export function getMarketplaceBaseUrl() {
  return getEnvUrl("NEXT_PUBLIC_MARKETPLACE_BASE_URL", "http://localhost:3004");
}

export function getKtaloguPublicAppUrl() {
  return getEnvUrl("KATALOGU_PUBLIC_APP_URL", "http://localhost:3001");
}

export function getKtaloguAdminAppUrl() {
  return getEnvUrl("KATALOGU_ADMIN_APP_URL", "http://localhost:3002");
}

export function getKtaloguOwnerAppUrl() {
  return getEnvUrl("KATALOGU_OWNER_APP_URL", "http://localhost:3003");
}

export function getMarketplaceHosts() {
  const raw = process.env.MARKETPLACE_HOSTS || "";
  return raw
    .split(",")
    .map((item) => item.trim().toLowerCase())
    .filter(Boolean);
}

export function buildStorefrontUrl(slug: string, customDomain?: string | null) {
  if (customDomain) {
    return `https://${customDomain}`;
  }
  return `${getKtaloguPublicAppUrl()}/${slug}`;
}
