Skip to content

Issue 171/admin dashboard#239

Open
hunterShierman wants to merge 2 commits intomainfrom
issue-171/admin-dashboard
Open

Issue 171/admin dashboard#239
hunterShierman wants to merge 2 commits intomainfrom
issue-171/admin-dashboard

Conversation

@hunterShierman
Copy link
Contributor

@hunterShierman hunterShierman commented Mar 7, 2026

Summary

This PR implements several frontend features for the admin dashboard, including candidate availability viewing, interviewer/candidate invitations, and UI consistency improvements across all dashboard pages.

Changes

New Components

  • CandidateAvailability.tsx - Displays a searchable, filterable list of candidate cards with status badges and open slot counts. Clicking a card navigates to the detail view.
  • CandidateCalendar.tsx - Detail view showing a candidate's weekly availability grid with a back button to return to the candidate list.
  • AddInterviewers.tsx - Tabbed form component allowing admins to invite interviewers and candidates by entering their name, email, and department. Includes form validation and success/error feedback.
  • candidateTypes.ts - Shared types file exporting the Candidate interface, TimeSlot, DayAvailability, and statusConfig to avoid fast refresh warnings.

Modified Components

  • Dashboard.tsx - added conditional renders for AddInterviewers and CandidateAvailability pages
  • DashboardSidebar.tsx - Added UserPlus and updated nav items for Add Interviewers and Candidate Availability,
  • AdminSettings.tsx - Bumped all text from text-sm to text-base, increased padding from p-6 to p-8, updated card borders to match the design system used across other pages, capped width at max-w-5xl.

Notes

  • All candidate data is currently mocked in CandidateAvailability.tsx. Backend integration requires replacing the mock array with an authenticated fetch call to /candidates and ensuring the response shape matches the Candidate interface in index.ts within the admin types folder.
  • The Add Interviewers and Candidate Availability pages are protected behind !isCandidate role checks on both the sidebar and the dashboard render.

Photos

image image image

Testing

  • Sign in as an admin and verify all new sidebar items appear
  • Verify candidate and interviewer nav items do not appear when signed in as a candidate
  • Click through to candidate availability and verify the detail view loads and back button works
  • Test the Add Interviewers form with valid and invalid inputs on both tabs

- allow admin to add other interviewers by sending them an email
- basic form page to be used by the backend
- Add CandidateAvailability component with search and status filter tabs
- Add CandidateCalendar detail view accessible by clicking a candidate card
- Add candidateTypes.ts to share Candidate interface and statusConfig
- Add AddInterviewers component with tabbed form for interviewers and candidates
- Update AdminSettings with larger fonts and spacing to match design system
- Update DashboardSidebar with new nav items for candidate availability and add interviewers
- Update Dashboard to conditionally render new pages based on activePage and role
@hunterShierman hunterShierman requested a review from Flapjacck March 7, 2026 18:13
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