Commit Graph

7 Commits

Author SHA1 Message Date
Pit Friedrich 487c206411 fix: merge GridStackView into DashboardView (#19)
CI / build-and-test (pull_request) Successful in 2m22s
DashboardView and GridStackView rendered the same three charts from the
same hardcoded data, so every chart factory method existed twice. The
dashboard is now the GridStackLayout variant at @Route(""):

- GridStackView deleted, its grid/toolbar/chart factories moved into
  DashboardView, which keeps the point-click notifications the old
  dashboard had.
- Charts size to their widget (100%/100%) instead of a fixed 400px.
- MainLayout has one dashboard entry; nav.gridstack/page.gridstack keys
  dropped from all three bundles.
- Storage key is "dashboard" (was "gridstack-demo"), so a saved layout
  from the old route is not reused.
- GridStackViewTest renamed to DashboardViewTest, plus a test asserting
  the three charts render.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0124BiJikbhbiEsNfJxdWM69
2026-07-28 19:12:52 +02:00
Pit Friedrich 17396466a9 fix: add GridStackLayout showcase view (#7)
CI / build-and-test (pull_request) Successful in 1m13s
Adds a /gridstack route demonstrating GridStackLayout: four default
widgets (line/bar/pie chart cards plus a usage hint), buttons to add and
remove widgets at runtime, a reset-layout button and a layout-change
status line. Layout is persisted per browser via the existing
localStorage support. The view gets its own SideNavItem in MainLayout
and full de/en/es translations.

Fixes an infinite recursion in GridStackLayout.add(Component): a
single-argument add(item) resolves to that overload rather than the
varargs one, so its delegation to add(item) called itself. It now
appends through the element API and passes a GridStackItem through
unwrapped.

Adds the first test sources (browserless UI tests) covering the view's
widget count and the add/remove buttons.

Closes #7

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PYAcKoXKPN3rJ7nBroKZkc
2026-07-25 22:12:05 +02:00
Pit Friedrich aca411ca9e [FEATURE] FontAwesome Icons
CI / build-and-test (pull_request) Successful in 1m9s
2026-07-19 23:39:10 +02:00
Pit Friedrich 9114ea9800 [FEATURE] i18n
CI / build-and-test (pull_request) Successful in 1m14s
2026-07-19 21:15:23 +02:00
Pit Friedrich acb2f5964f [FEATURE] PWA + Showcase Grid
CI / build-and-test (pull_request) Successful in 10m36s
2026-07-12 18:10:26 +02:00
Pit Friedrich 9df764d065 [FEATURE] Dark Theme 2026-07-11 22:31:08 +02:00
Pit Friedrich d947833214 [FEATURE] Customn Theme
CI / build-and-test (pull_request) Successful in 10m26s
2026-07-07 19:55:42 +02:00