import { getDomain } from "tldts"; /** * Extract eTLD+1 domain from a URL string. * Returns null for invalid URLs. */ export function extractDomain(url: string): string | null { try { const normalized = url.startsWith("http") ? url : "https://" + url; const parsed = getDomain(normalized); return parsed ?? null; } catch { return null; } } /** * Get displayable domain from a URL string. */ export function getDisplayDomain(url: string): string { try { const normalized = url.startsWith("http") ? url : "https://" + url; const { hostname } = new URL(normalized); return hostname; } catch { return url; } }