Skip to content

feat: add Crew Union Strike Management UI - #461

Merged
SRV30 merged 1 commit into
SRV30:mainfrom
ishhwarrii:feat/union-manager-ui
Aug 7, 2026
Merged

feat: add Crew Union Strike Management UI#461
SRV30 merged 1 commit into
SRV30:mainfrom
ishhwarrii:feat/union-manager-ui

Conversation

@ishhwarrii

Copy link
Copy Markdown
Contributor

📄 Description

Adds a dedicated frontend page for the crew union strike system that already exists on the backend but has never been surfaced in the UI. Follows the existing thin-page pattern used by InsuranceManager.jsx (fetch on mount via axios, render based on response state).

  • Added UnionManager.jsx following the InsuranceManager.jsx thin-page pattern
  • Wired the /studio/union route into App.jsx
  • Added a "Crew Union" entry to the Sidebar.jsx menu
  • Shows current crew satisfaction when there's no active strike; shows a warning banner with a "Settle Strike" button (with a confirmation modal before calling the settle endpoint) when a strike is active
  • Refetches status after settling so the banner clears immediately without a full page reload

Related Issue: Closes #389


🚀 Open Source Program

  • ECSOC 2026
  • ELUSOC 2026
  • General Contribution

🛠 Type of Change

  • New Feature
  • Bug Fix
  • Documentation
  • Refactoring
  • Performance Improvement
  • UI/UX Improvement
  • Breaking Change

📸 Screenshots (If Applicable)

Attach a screenshot/recording of both states: no active strike (satisfaction shown) and active strike (banner + confirm modal).


🧪 Testing

  • Tested locally
  • Existing functionality verified
  • No console errors
  • Build passes successfully

Additional notes:

🌿 Target Branch

  • ecsoc
  • elusoc

⚠️ Important: Pull Requests opened against the main branch are automatically closed by repository automation. Please ensure your PR targets either the ecsoc or elusoc branch.


🏷 Labels

ECSOC

  • ECSOC2026
  • ECSoC26

ELUSOC

  • ELUSOC2026

✅ Checklist

  • I have requested assignment before starting work.
  • My Pull Request targets the correct branch (ecsoc or elusoc).
  • I have linked the related issue.
  • My code follows the project's coding standards.
  • I have performed a self-review of my code.
  • I have tested my changes locally.
  • My changes introduce no new warnings or errors.
  • I have updated documentation where necessary.
  • I have added screenshots for UI changes (if applicable).
  • If this is an ECSOC contribution, I have requested the ECSoC26 label before merge.

- Add UnionManager.jsx following the InsuranceManager.jsx thin-page pattern
- Wire /studio/union route into App.jsx
- Add Crew Union entry to Sidebar.jsx menu
- Shows satisfaction when no strike; banner + confirm modal to settle when striking

Closes SRV30#389
@ishhwarrii
ishhwarrii requested a review from SRV30 as a code owner August 7, 2026 06:22
@vercel

vercel Bot commented Aug 7, 2026

Copy link
Copy Markdown

@ishhwarrii is attempting to deploy a commit to the srv30's projects Team on Vercel.

A member of the Team first needs to authorize it.

@SRV30 SRV30 added ECSoC26 Mandatory tracking label for ECSoC Sentinel scoring ECSOC2026 Issues open for ECSOC 2026 contributors labels Aug 7, 2026
@SRV30
SRV30 merged commit 9793005 into SRV30:main Aug 7, 2026
2 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ECSoC26-L2 ECSoC26 Mandatory tracking label for ECSoC Sentinel scoring ECSOC2026 Issues open for ECSOC 2026 contributors

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: Add Crew Union Strike Management UI

2 participants