Skip to content

feat: StatusPage admin route + sidebar + real analytics data#27

Merged
rafia9005 merged 1 commit into
mainfrom
dev
Jun 17, 2026
Merged

feat: StatusPage admin route + sidebar + real analytics data#27
rafia9005 merged 1 commit into
mainfrom
dev

Conversation

@rafia9005

@rafia9005 rafia9005 commented Jun 17, 2026

Copy link
Copy Markdown
Member

Add Status Pages management page with:

  • Route /app/status-pages + sidebar menu
  • Real uptime % and status from analytics module
  • Auth: user sees own pages, admin sees all
  • Landing: /contributing page, routing fixes in nav/footer

Summary by CodeRabbit

  • New Features
    • Added a new Contributing page with step-by-step contribution guidelines, development environment setup instructions, code conventions, and community support links
    • Introduced Status Pages dashboard section displaying uptime analytics for monitored services, including average uptime percentages and operational status indicators
    • Improved internal navigation routing for consistent link handling across pages

- Add /app/status-pages route with App.StatusPages.vue
- Add Status Pages menu in sidebar
- Pull real uptime/status from GET /api/analytics/dashboard
- Merge MonitorStats into StatusPage table monitors
- Show Avg Uptime % and status (operational/degraded/outage)
- Landing: add /contributing page, fix nav/footer routing

 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
@rafia9005 rafia9005 merged commit d027e77 into main Jun 17, 2026
1 of 2 checks passed
@coderabbitai

coderabbitai Bot commented Jun 17, 2026

Copy link
Copy Markdown

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 802e1ed8-2262-4a4b-958c-7859c4d71072

📥 Commits

Reviewing files that changed from the base of the PR and between 86710db and b0f0031.

📒 Files selected for processing (8)
  • landing/src/components/AppFooter.vue
  • landing/src/components/AppNavbar.vue
  • landing/src/router/index.ts
  • landing/src/views/ContributingPage.vue
  • web/src/components/status-page-table.vue
  • web/src/content/sidebar.ts
  • web/src/router/index.ts
  • web/src/views/App.StatusPages.vue

📝 Walkthrough

Walkthrough

Two independent features are added: (1) the landing site gains a /contributing route with a full ContributingPage.vue view, and AppNavbar/AppFooter are updated to use vue-router for internal path navigation; (2) the web app registers a status-pages route with sidebar entry and enriches the StatusPageTable with analytics-backed Avg Uptime and Status columns by merging useAnalytics data into each page's monitors.

Changes

Landing: Contributing Page

Layer / File(s) Summary
Router registration and nav/footer routing updates
landing/src/router/index.ts, landing/src/components/AppNavbar.vue, landing/src/components/AppFooter.vue
Registers /contributing in the landing router; adds vue-router and navigateTo helpers to both AppNavbar and AppFooter; distinguishes hash/internal/external link handling in click handlers, anchor attributes, and active-state logic; adds a Contributing nav link with external: true flag.
ContributingPage view
landing/src/views/ContributingPage.vue
Adds the full ContributingPage.vue SFC with script setup defining steps data and scroll-reveal wiring, plus template sections for hero, step-by-step flow, development setup, guidelines, issue reporting, and contact.

Web App: Status Pages Analytics

Layer / File(s) Summary
Status Pages route and sidebar wiring
web/src/router/index.ts, web/src/content/sidebar.ts
Registers the authenticated status-pages child route pointing to App.StatusPages.vue; adds a "Status Pages" sidebar item with the Globe icon under the Overview group.
Analytics data merge in App.StatusPages
web/src/views/App.StatusPages.vue
Imports useAnalytics, adds a pagesWithStats computed that merges monitorStats into each page's monitors by monitor_id (null-filling missing fields), runs data fetches concurrently via Promise.all, filters over pagesWithStats, and passes it to StatusPageTable.
StatusPageTable Avg Uptime and Status columns
web/src/components/status-page-table.vue
Introduces MonitorWithStats interface and updates the pages prop type; adds helpers to compute average uptime and derive status label/style; extends the table header and body with Avg Uptime and Status cells including empty-state handling.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Poem

🐇 Hoppity-hop, a new page appears,
Where contributors gather without any fears!
The navbar now pushes with router delight,
And uptime stats shimmer in status-page light. ✨
Two features at once? Just a bunny's day—
Merging analytics and docs, hip-hip-hooray! 🥕

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch dev

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant