7 months ago
3313bd4Category legend now supports selecting multiple categories simultaneously instead of toggling one at a time. A single delegated click listener replaces per-item listeners, surviving reloadGraph rebuilds. A "CLEAR ALL" button appears at the top when any categories are active. When OAuth credentials are not configured (no GITHUB_CLIENT_ID), the app enters demo mode with a fallback user instead of showing a broken login screen. The server now returns oauthConfigured in /api/me so the client can decide. If the server is unreachable entirely (plain vite dev), demo mode also activates. renderAuthButton handles null avatars with an inline GitHub SVG fallback instead of a broken <img> tag.
Parent8f7908e