[Issue #8] Dashboard example #18

Merged
HugoNijhuis merged 1 commits from issue-8-dashboard-example into main 2026-01-09 16:11:38 +00:00
Owner

Summary

  • Adds a comprehensive dashboard example demonstrating a realistic internal tool admin panel
  • Showcases all key Iris features: routing, auth guards, reactive data, form inputs, and component composition

Changes

  • Add examples/dashboard/main.go with a complete dashboard implementation including:
    • Home page with reactive metric cards and quick actions
    • User management with search, list, and detail views
    • Settings page with checkboxes, text inputs, and sliders
    • Auth-protected admin section with role-based access
    • Login page with simulated authentication
    • Navigation sidebar with reactive user status
    • Custom 404 not found page

Test plan

  • Build with GOOS=js GOARCH=wasm go build ./examples/dashboard/...
  • Run with iris host server and navigate through all pages
  • Test login with admin/admin (full access) and user/user (limited access)
  • Verify protected routes redirect to login when unauthenticated
  • Verify admin section only accessible with admin role

Closes #8

Generated with Claude Code

## Summary - Adds a comprehensive dashboard example demonstrating a realistic internal tool admin panel - Showcases all key Iris features: routing, auth guards, reactive data, form inputs, and component composition ## Changes - Add `examples/dashboard/main.go` with a complete dashboard implementation including: - Home page with reactive metric cards and quick actions - User management with search, list, and detail views - Settings page with checkboxes, text inputs, and sliders - Auth-protected admin section with role-based access - Login page with simulated authentication - Navigation sidebar with reactive user status - Custom 404 not found page ## Test plan - [ ] Build with `GOOS=js GOARCH=wasm go build ./examples/dashboard/...` - [ ] Run with iris host server and navigate through all pages - [ ] Test login with admin/admin (full access) and user/user (limited access) - [ ] Verify protected routes redirect to login when unauthenticated - [ ] Verify admin section only accessible with admin role Closes #8 Generated with Claude Code
HugoNijhuis added 1 commit 2026-01-09 16:03:27 +00:00
Add dashboard example showing realistic admin panel
All checks were successful
CI / build (pull_request) Successful in 33s
79f994e6e8
This example demonstrates all key Iris features for internal tool teams:
- Multiple pages with client-side routing
- Auth-protected sections with route guards
- Reactive data display with signals
- Form inputs (text, checkbox, slider, select)
- Component composition with reusable layouts

Test credentials: admin/admin (full access) or user/user (limited access)

Closes #8

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Author
Owner

Code Review - LGTM

Summary

Excellent comprehensive dashboard example demonstrating a realistic internal tool admin panel.

Highlights

  • Well-organized code with clear separation of concerns
  • Demonstrates most Iris features: routing, guards, reactive data, forms
  • Role-based access control (admin vs user roles)
  • Uses only public APIs - no internal package imports
  • Reusable component patterns (metricCard, settingsSection, etc.)
  • Includes manual test plan in PR description

Minor Notes

  • Custom string helpers could use stdlib, but works fine
  • Direct innerHTML clearing is acceptable for this use case

Approved for merge.

## Code Review - LGTM ### Summary Excellent comprehensive dashboard example demonstrating a realistic internal tool admin panel. ### Highlights - Well-organized code with clear separation of concerns - Demonstrates most Iris features: routing, guards, reactive data, forms - Role-based access control (admin vs user roles) - **Uses only public APIs** - no internal package imports - Reusable component patterns (metricCard, settingsSection, etc.) - Includes manual test plan in PR description ### Minor Notes - Custom string helpers could use stdlib, but works fine - Direct innerHTML clearing is acceptable for this use case Approved for merge.
HugoNijhuis merged commit 27f0154bc9 into main 2026-01-09 16:11:38 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: flowmade-one/iris#18