webui: Material 3 redesign with real API integration and SVG logo#193
Conversation
- Replace the minimal Tailwind table UI with a full Material 3 React UI
built on React 18 + Babel Standalone (CDN, no build step). Features
include a KPI hero bar, ring chart, filter/search, bulk actions, a
JSON object-data drawer, timeline view, toast rail, light/dark themes,
five tonal colour seeds, density modes, and keyboard shortcuts.
- Switch home.go from html/template to text/template with [[ ]] delimiters
so JSX {{ }} syntax and arrow-function attributes pass through unmodified.
- Wire up real API calls (list, update, objectData) via window.__API_PATHS
injected by the Go template; remove all mock-data generation.
- Add SVG logo files (light + dark variants) and update README and the
webui sidebar brand to use them, with CSS-based theme switching.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
📝 WalkthroughWalkthroughThe pull request includes two updates: the README logo asset reference is switched from PNG to SVG format, and the home handler in the frontend adapter is refactored to remove JavaScript template embedding and dynamic script generation. The handler now parses Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@adapters/webui/internal/frontend/home.go`:
- Line 6: Replace the use of text/template with html/template to ensure proper
HTML/JS escaping for data injected into JavaScript string literals; update the
import from "text/template" to "html/template" and keep the template creation
calls (e.g., template.New(...).Delims("[[", "]]").Funcs(...).Parse...) unchanged
so Delims("[[", "]]") and any template functions continue to work while
html/template performs safe escaping for the Paths fields that are injected at
the JavaScript string sites (lines ~530–534).
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 873f410a-1b3b-4c7b-9f4b-b56421c26431
⛔ Files ignored due to path filters (2)
logo/logo.svgis excluded by!**/*.svglogo/logo_dark.svgis excluded by!**/*.svg
📒 Files selected for processing (3)
README.mdadapters/webui/internal/frontend/home.goadapters/webui/internal/frontend/home.html



Summary
home.gofromhtml/templatetotext/templatewith[[ ]]delimiters so JSX{{ }}syntax and arrow-function attributes pass through unmodified at compile time.list,update, andobjectDataendpoints viawindow.__API_PATHSinjected by the Go template.logo/logo.svgandlogo/logo_dark.svg; updates the README reference from PNG and renders the correct variant in the webui sidebar based on the active theme.🤖 Generated with Claude Code