Skip to content

fix(web): restore login footer with API status indicator#107

Merged
FSM1 merged 3 commits into
mainfrom
fix/login-footer-status-indicator
Feb 11, 2026
Merged

fix(web): restore login footer with API status indicator#107
FSM1 merged 3 commits into
mainfrom
fix/login-footer-status-indicator

Conversation

@FSM1

@FSM1 FSM1 commented Feb 11, 2026

Copy link
Copy Markdown
Owner

Summary

  • Restore the footer on the login page that was lost during matrix rain changes (quick task 010)
  • Move StatusIndicator from inside the login panel to the footer
  • Disable the Connect button and show [API OFFLINE] when the API health check fails

Changes

  • Login.tsx: Added useHealthControllerCheck hook, derived isApiDown state, moved StatusIndicator to new footer element, passed apiDown prop to AuthButton
  • AuthButton.tsx: Added optional apiDown prop — disables button and shows [API OFFLINE] text with red border styling when API is unreachable
  • App.css: Added .login-footer positioning styles and .login-button--api-down visual styling

Test plan

  • Login page shows footer at bottom with copyright, links, and status indicator
  • StatusIndicator is in the footer, not inside the login panel
  • With API running: button shows [CONNECT] and is clickable
  • With API stopped: button shows [API OFFLINE], is disabled, has red border
  • Button re-enables within 30s when API comes back up
  • Build passes (pnpm --filter web build)

🤖 Generated with Claude Code

Summary by CodeRabbit

Release Notes

  • New Features
    • Login page footer restored with status indicator positioned in the footer area.
    • Login button displays [API OFFLINE] state and is disabled when API is unavailable.
    • Footer includes links and branding consistent with app design.
    • Real-time API health monitoring integrated into the login experience for better visibility.

@coderabbitai

coderabbitai Bot commented Feb 11, 2026

Copy link
Copy Markdown

Caution

Review failed

The pull request is closed.

Walkthrough

This PR implements a login footer with API health status awareness. The Login component is enhanced to use the useHealthControllerCheck hook to monitor API availability. Based on the health status, an apiDown prop is passed to AuthButton, which displays an [API OFFLINE] state with disabled behavior when the API is unavailable. The StatusIndicator is repositioned to the login footer, and corresponding CSS styling is added for the footer layout and API-down button appearance.

Changes

Cohort / File(s) Summary
Planning Documentation
.planning/STATE.md, .planning/quick/011-login-footer-status-indicator/011-PLAN.md, .planning/quick/011-login-footer-status-indicator/011-SUMMARY.md
Updated planning and state tracking documents to reflect completion of quick task 011 (login footer status indicator); documents outline the feature scope including health check integration and footer positioning.
Login & Auth Components
apps/web/src/routes/Login.tsx, apps/web/src/components/auth/AuthButton.tsx
Login.tsx now imports and uses useHealthControllerCheck to derive isApiDown flag, passes it to AuthButton, and renders footer with StatusIndicator. AuthButton accepts new optional apiDown prop, disables button when API is down, and displays [API OFFLINE] label with login-button--api-down styling class.
Styling
apps/web/src/App.css
Added .login-footer styles for absolute positioning with flex layout and .login-button--api-down styles for API-down button state (red border, disabled cursor, no shadow/transform on hover). Includes focus-visible accessibility styling for footer links.

Sequence Diagram

sequenceDiagram
    participant Login as Login.tsx
    participant HealthAPI as Health API<br/>(useHealthControllerCheck)
    participant AuthButton as AuthButton
    participant User as User
    
    Login->>HealthAPI: Poll API health status
    activate HealthAPI
    HealthAPI-->>Login: Return health data & loading state
    deactivate HealthAPI
    
    Login->>Login: Derive isApiDown from<br/>health data/loading state
    
    Login->>AuthButton: Render with apiDown={isApiDown}
    
    alt API is Down
        AuthButton->>AuthButton: Apply login-button--api-down class<br/>Display [API OFFLINE]<br/>Set disabled=true
    else API is Up
        AuthButton->>AuthButton: Display [CONNECT]<br/>Set disabled based on isLoading
    end
    
    AuthButton-->>User: Show button state
    
    User->>AuthButton: Click button (if enabled)
    AuthButton->>AuthButton: Attempt login<br/>(if not apiDown)
Loading

Estimated Code Review Effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

  • Phase 6.3 - UI restructure #53: Involves similar footer and StatusIndicator integration patterns, with health-check wiring into login/footer UI layout.
  • Restyle #47: Modifies the same authentication UI files (AuthButton.tsx and Login.tsx), requiring alignment on component prop signatures and styling changes.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch fix/login-footer-status-indicator

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.

FSM1 and others added 2 commits February 11, 2026 21:03
- Move StatusIndicator from login panel to new footer element
- Add useHealthControllerCheck hook to derive API status
- Disable connect button and show [API OFFLINE] when API is down
- Add login-footer CSS positioning and api-down button styling

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@FSM1 FSM1 force-pushed the fix/login-footer-status-indicator branch from c5f5f21 to 4ec6efc Compare February 11, 2026 20:04
@FSM1 FSM1 temporarily deployed to fix/login-footer-status-indicator - cipher-box PR #107 February 11, 2026 20:04 — with Render Destroyed
@FSM1 FSM1 merged commit 3eaeb89 into main Feb 11, 2026
6 of 7 checks passed
@FSM1 FSM1 mentioned this pull request Feb 11, 2026
@FSM1 FSM1 deleted the fix/login-footer-status-indicator branch February 11, 2026 22:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant