You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Aug 11, 2026. It is now read-only.
Issue #621 adds the visitor analytics API. This issue adds the admin UI so operators can see human visitor statistics, current online users, admin/public activity, device/browser distribution, and online geolocation when enabled.
The UI must follow existing AWCMS-Mini admin patterns: server-side permission checks, clear access-denied state, error state, empty state, responsive layout, and i18n.
Objective
Add /admin/analytics dashboard UI for visitor analytics.
Context
Issue #621 adds the visitor analytics API. This issue adds the admin UI so operators can see human visitor statistics, current online users, admin/public activity, device/browser distribution, and online geolocation when enabled.
The UI must follow existing AWCMS-Mini admin patterns: server-side permission checks, clear access-denied state, error state, empty state, responsive layout, and i18n.
Objective
Add
/admin/analyticsdashboard UI for visitor analytics.Scope
Add page:
Optional components:
src/components/admin/analytics/*Dashboard sections/cards:
Filters:
all,admin,public,api.human,bot,all.24h,7d,30d,12mwhere supported.Data loading:
Out of scope
Acceptance criteria
/admin/analyticsis registered in module navigation from feat(visitor-analytics): add module descriptor, permissions, and configuration gate #617.visitor_analytics.dashboard.readsees an access-denied state.visitor_analytics.raw_detail.readdoes not see raw IP, raw user-agent, detailed path history, or login identifier detail.bun run test:e2eis added/run if the UI is non-trivial and test environment supports it.bun run checkpasses.Security and privacy notes
Dependencies
Depends on #617 and #621. It becomes fully useful after #620 is collecting data.