- {loading ? (
-
- progress_activity
- {tr("loadingQuotas", "Loading...")}
-
- ) : providerEntries.length === 0 ? (
-
- {tr("noProviders", "No Providers Connected")}
-
- {tr(
- "connectProvidersForQuota",
- "Connect to providers with OAuth to track your API quota limits and usage."
- )}
-
-
- ) : (
-
- {providerEntries.map(([provider, conns]) => {
- const firstConn = conns[0];
- const cache = quotaData[firstConn?.id];
- const hasQuota = cache?.quotas && Object.keys(cache.quotas).length > 0;
-
- return (
-
-
-
-
- {provider.charAt(0).toUpperCase() + provider.slice(1)}
-
-
- {conns.length}
-
-
-
- {hasQuota ? (
-
- {Object.keys(cache.quotas).length}
-
- ) : (
-
- {tr("refreshAll", "Refresh All")}
-
- )}
-
- {/* Future: embed small QuotaProgressBar for the primary window here */}
-
- );
- })}
-
- )}
-
-
+ ) : providerGroups.length === 0 ? (
+
+ {tr("noProviders", "No Providers Connected")}
+
+ ) : compact ? (
+ /* Compact mode: 3-column card grid, flat across all connections */
+
+ {connections.map((connection) => (
+
+
+
+
+ {PROVIDER_LABEL[connection.provider] || connection.provider}
+
+
+
+
+ ))}
+
+ ) : (
+
+ {providerGroups.map(([provider, providerConnections]) => (
+
+
+
+
+
+ {PROVIDER_LABEL[provider] || provider}
+
+
+ {providerConnections.length}{" "}
+ {providerConnections.length === 1 ? "account" : "accounts"}
+
+
+
+
+ {providerConnections.map((connection) => (
+
+ ))}
+
+
+ ))}
+
+ )}
);
}