import { site } from "@/content/site";

export const emailTokens = {
  colors: {
    canvas: "#F4F4F5",
    card: "#FFFFFF",
    textPrimary: "#0A0A0A",
    textSecondary: "#3F3F46",
    textMuted: "#71717A",
    border: "#E4E4E7",
    borderLight: "#F4F4F5",
    calloutBg: "#F8F8F9",
    tagBg: "#F4F4F5",
    buttonBg: "#0A0A0A",
    buttonText: "#FFFFFF",
  },
  fonts: {
    display: "'Fraunces', Georgia, 'Times New Roman', serif",
    body: "-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif",
    mono: "'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace",
  },
  layout: {
    maxWidth: "580px",
    cardRadius: "16px",
    buttonRadius: "9999px",
  },
} as const;

/**
 * Returns the canonical absolute origin for email links and assets.
 * Guarantees no localhost links in production emails.
 */
export function getEmailBaseUrl(): string {
  const envUrl = process.env.NEXT_PUBLIC_SITE_URL || process.env.SITE_URL;
  if (envUrl && envUrl.trim().length > 0) {
    return envUrl.trim().replace(/\/+$/, "");
  }
  return site.url.replace(/\/+$/, "");
}

export function getEmailLogoUrl(): string {
  // PNG (not WebP): email clients such as Gmail and Outlook do not render WebP.
  return `${getEmailBaseUrl()}/images/quto-logo.png`;
}
