Spaces:
Build error
Build error
Commit History
-
Add read-only Data Sources page (D7, scoped to transparency only)
What: a new /datasets page listing every official source this platform draws from -- name, official URL, what kind of data, live record count in the graph, and loaded/pending status -- with click-to-expand sample records per source. Reachable from the navbar between Forensics and About. Real discovery that reshaped this: api/routes/sources.py's /sources and /sources/{dataset} endpoints already existed, fully built and already registered in main.py, computing exactly this data (real per-source graph counts, loaded/pending status, sample records) -- just with no frontend ever calling them. So this commit is entirely frontend: two new Api client methods over the existing endpoints, two small CSS badge modifiers reusing existing color tokens (not a new palette), and one new Views.datasets page mirroring the Views.forensics page's exact structure (skeleton loaders, Api call, then/catch, sanitize() everywhere). Deliberately scoped to read-only, and this is worth being explicit about rather…5761f57
-
Add provenance badges to the entity profile view (D8)
What: a colored badge next to the entity-type badge on every profile page, showing graph/schema.py's SOURCE_TYPES value (OFFICIAL today; UNOFFICIAL/COMMUNITY/USER_CREATED are provenance for D7's future user-import paths). Mirrors the existing badge/risk-badge pattern exactly -- same component style (Components.ProvenanceBadge, container appended post-render), same CSS structure, reuses existing color tokens rather than inventing a new palette (OFFICIAL reuses badge--company's green, COMMUNITY reuses badge--contract's blue, USER_CREATED reuses risk-badge--MODERATE's amber, UNOFFICIAL reuses risk-badge--NONE's neutral gray). One commit, not several, because the two halves are inert alone: the backend field with no UI renders nothing, and the UI with no field has nothing to render. Real gap found and fixed, not assumed: source_type was already being read off every node (p = dict(pol['p'])) but silently dropped by the Politician and Company profile handlers' hand-curated overview dicts -…66bf6f4
-
fix(UI-1): add hamburger button and mobile nav drawer -- users can now navigate on screens narrower than 768px
9376839 -
fix(LOGIC-5): add .risk-badge--NONE CSS rule -- entities with score=0 had unstyled badge
bba794a
-
fix(M-03): add @media overrides for inline grid-template-columns -- fixes mobile layout overflow
13a53d3
-
fix(M-03,M-06,M-08): add mobile CSS overrides for inline grid layouts; add NONE risk level for score=0; clamp risk score to 0-100
b0e0450
-
fix(BUG-10,NEW-A2): add missing --color-ashoka-blue and --color-india-green CSS vars; fixes invisible corporate/financial timeline events
411cbe1
-
feat(frontend): patriotic HTML/CSS/JS dashboard with component architecture
Implements a production-grade frontend without Node.js, React, or build tooling. The component architecture mirrors React functional components: each factory function returns an HTMLElement; state changes trigger targeted re-renders on the affected DOM subtree only. Design system: - CSS custom properties token layer covering all colour, spacing, typography, shadow, radius, and transition values - Dark theme: deep navy #0A0F2E background, saffron #FF9933 accent - Light theme: white background, India green #138808 accent - WCAG AA contrast ratios enforced via design token choices - System font stack with Inter loaded via Google Fonts Files added: - frontend/index.html: semantic HTML5 shell, hash-based routing, D3.js from cdnjs.cloudflare.com, no inline scripts except API URL config - frontend/css/design-system.css: token layer, dark/light themes, grid utilities - frontend/css/components.css: 25+ component classes covering navbar, buttons, cards, search bar, result cards, risk bad…7ca91b2