diff --git a/src/app/(dashboard)/dashboard/providers/[id]/ConnectionRow.js b/src/app/(dashboard)/dashboard/providers/[id]/ConnectionRow.js index d79cdc85..15096050 100644 --- a/src/app/(dashboard)/dashboard/providers/[id]/ConnectionRow.js +++ b/src/app/(dashboard)/dashboard/providers/[id]/ConnectionRow.js @@ -71,10 +71,15 @@ export default function ConnectionRow({ connection, proxyPools, isOAuth, isFirst const isCookieConnection = rowAuthType === "cookie"; const authIcon = isCookieConnection ? "cookie" : isOAuthConnection ? "lock" : "key"; const authLabel = isOAuthConnection ? "OAuth" : isCookieConnection ? "Cookie" : "API Key"; - const isEmail = (v) => typeof v === "string" && /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(v); - const displayName = isOAuthConnection - ? (isEmail(connection.email) ? connection.email : (isEmail(connection.name) ? connection.name : (connection.name || connection.email || connection.displayName || "OAuth Account"))) - : (connection.name || connection.email || connection.displayName || "API Key"); + const displayName = connection.name?.trim() + || connection.email?.trim() + || connection.displayName?.trim() + || (isOAuthConnection ? "OAuth Account" : isCookieConnection ? "Cookie Account" : "API Key"); + const secondaryDisplayName = connection.name?.trim() && connection.email?.trim() && connection.name.trim() !== connection.email.trim() + ? connection.email.trim() + : connection.name?.trim() && connection.displayName?.trim() && connection.name.trim() !== connection.displayName.trim() + ? connection.displayName.trim() + : null; // Use useState + useEffect for impure Date.now() to avoid calling during render const [isCooldown, setIsCooldown] = useState(false); @@ -152,6 +157,9 @@ export default function ConnectionRow({ connection, proxyPools, isOAuth, isFirst
{displayName}
+ {secondaryDisplayName && ( +{secondaryDisplayName}
+ )}+ {getConnectionSecondaryLabel(conn)} +
+ ) : null} {isCodex && (Reset eligible: {resetCreditCount} diff --git a/src/app/(dashboard)/dashboard/usage/components/ProviderLimits/utils.js b/src/app/(dashboard)/dashboard/usage/components/ProviderLimits/utils.js index df5edab5..d6a4cf14 100644 --- a/src/app/(dashboard)/dashboard/usage/components/ProviderLimits/utils.js +++ b/src/app/(dashboard)/dashboard/usage/components/ProviderLimits/utils.js @@ -21,11 +21,10 @@ export const QUOTA_SORT_OPTIONS = [ // ─── Pure helpers ───────────────────────────────────────────────────────────── export function getConnectionLabel(connection) { - const isEmail = (value) => - typeof value === "string" && /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(value); - if (isEmail(connection.email)) return connection.email; - if (isEmail(connection.name)) return connection.name; - return connection.name; + return connection.name?.trim() + || connection.email?.trim() + || connection.displayName?.trim() + || null; } export function getConnectionQuotaRemaining(connection, quotaData) {