Skip to content

Issue 170 - add settings page for admins to edit team settings#230

Merged
Flapjacck merged 1 commit intomainfrom
issue-170
Feb 9, 2026
Merged

Issue 170 - add settings page for admins to edit team settings#230
Flapjacck merged 1 commit intomainfrom
issue-170

Conversation

@hunterShierman
Copy link
Contributor

📋 PR Summary

This PR adds a comprehensive Admin Settings page that allows team moderators to manage team-level configurations, moderators, roles, and departments.

🎯 Purpose

Provides a centralized interface for team administrators to configure scheduling preferences and manage team structure without requiring database access or backend changes.

✨ Features Added

1. Team Moderator Management

  • Display all current moderators with visual distinction for main moderator
  • Invite new moderators via email
  • Remove secondary moderators (main moderator is protected)
  • Email validation for new moderator invites

2. Auto-Scheduling Preferences

  • Set number of interviewers per interviewee (number input only)
  • Configure max interviews per day per interviewer (number input only)
  • Input validation ensures only positive integers

3. Interview Role Management

  • View all available roles for interviewees
  • Add new roles with inline input field
  • Remove existing roles
  • Real-time UI updates

4. Department Management

  • View all departments for interviewers
  • Add new departments with inline input field
  • Remove existing departments
  • Real-time UI updates

5. Settings Persistence

  • Save all changes with single "Save Changes" button
  • Confirmation alerts for user feedback

🔧 Technical Changes

New Files

  • frontend/src/components/AdminSettings.tsx - Main admin settings component

Modified Files

  • frontend/src/App.tsx - Added route for /admin-settings
  • frontend/src/components/interviewerSchedule.tsx - removed file and changed name to be more descriptive
    Now it is
  • frontend/src/components/dashboards/AdminDashboard2.tsx

📸 Screenshots

image

🧪 Testing Checklist

  • Moderator invite functionality
  • Main moderator cannot be removed
  • Secondary moderators can be removed
  • Role add/remove functionality
  • Department add/remove functionality
  • Number inputs only accept integers
  • Save button triggers correctly
  • Navigation to admin settings works
  • Responsive layout on different screen sizes

🔗 Related Issues

Closes #170

📝 Additional Notes

  • Uses inline input forms for better UX (no modals required)
  • Consistent styling with existing dashboard components
  • All state management handled locally (ready for backend integration)
  • Input validation prevents invalid data entry

🚀 Deployment Notes

No database migrations or environment variable changes required. This is purely a frontend feature.


- - Implement moderator management (view, invite, remove)
- Add auto-scheduling preference inputs (interviewers per interviewee, max interviews per day)
- Implement role management for interviewees (add/remove)
- Implement department management for interviewers (add/remove)
- Protect main moderator from removal
- Add navigation route to /admin-settings
- Update InterviewerSchedule sidebar with admin settings link
- Add number validation for scheduling preference inputs
- Include save functionality with confirmation alerts
Copy link
Member

@Flapjacck Flapjacck left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@Flapjacck Flapjacck merged commit 5eb4274 into main Feb 9, 2026
1 check passed
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.

[FE Feature] Team Settings

2 participants