Skip to content

Conversation

@PrachodK
Copy link
Contributor

@PrachodK PrachodK commented Nov 7, 2025

  • Add isMandatory checkbox to events modal
    • Show all staff members in event attendance tab with Present/Excused/Absent status
    • Add toggle button to mark staff as excused
    • Use isMandatory field for filtering mandatory events
    • Optimize API calls (50% faster loading)

PrachodK and others added 7 commits October 16, 2025 15:11
- Add isMandatory checkbox to events modal (defaults to checked for staff events)
- Show all staff members in event attendance tab with status indicators (Present/Excused/Absent)
- Add excuse button to mark staff as excused/absent with toggle functionality
- Update attendance page to use isMandatory field instead of event name filtering
- Optimize attendance loading by reducing redundant API calls (50% reduction)
- Use local state updates for excuse toggle to prevent page refresh
@netlify
Copy link

netlify bot commented Nov 7, 2025

Deploy Preview for hackillinois-admin ready!

Name Link
🔨 Latest commit a433b9e
🔍 Latest deploy log https://app.netlify.com/projects/hackillinois-admin/deploys/6911171f1c682900087510e2
😎 Deploy Preview https://deploy-preview-168--hackillinois-admin.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

Copy link
Contributor

@miguelaenlle miguelaenlle left a comment

Choose a reason for hiding this comment

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

Great work on this so far @PrachodK ! Once suggestions 1-3 are implemented we should be ready to ship this feature.

  1. Manually check someone in: Make the status clickable, so admin site users can manually set members as present if they have trouble signing in / forget to. Admin site users should also be able to uncheck someone as present, if they mark the wrong person as present, for instance.

Edit: We're currently blocked on this since there's no endpoint to do this.

Image
  1. Only display active members: We don't have an endpoint to do this. For now, I can send a list of all active members' emails for filtering them out. I'll send a list via Discord.

Edit: We're using a workaround right now -- a list of the emails of all 2026 HackIllinois staffmembers. This will be changed as soon as the API team has a working endpoint for this.

  • This should apply to the event attendance (the one pictured above) page and /attendances pages.
  1. Attendance modal:
  • Sort the dates in ascending order (1, 8, 15, ... -- opposite of what it is now)

Edit: These are done.

Image
  • Left-align the month with the dates

  • I tested with an AI-generated list of dummy attendances to see what this will look like a few months from now:

Screenshot 2025-11-08 at 12 21 17 PM
  • Can you increase the maximum width of the modal so that all of the months are visible? This was the list I tested with:
        { date: '2025-09-01', status: 'PRESENT', eventName: 'Sprint Planning' },
        { date: '2025-09-08', status: 'PRESENT', eventName: 'Guest Talk' },
        { date: '2025-09-15', status: 'PRESENT', eventName: 'Project Check-in' },
        { date: '2025-09-22', status: 'EXCUSED', eventName: 'Workshop: Git Basics' },
        { date: '2025-09-29', status: 'PRESENT', eventName: 'Demo Day Prep' },
        { date: '2025-10-06', status: 'PRESENT', eventName: 'Sprint Planning' },
        { date: '2025-10-13', status: 'PRESENT', eventName: 'Weekly Standup' },
        { date: '2025-10-20', status: 'PRESENT', eventName: 'Guest Talk' },
        { date: '2025-10-27', status: 'ABSENT', eventName: 'Project Check-in' },
        { date: '2025-11-03', status: 'PRESENT', eventName: 'Code Review' },
        { date: '2025-11-10', status: 'PRESENT', eventName: 'Workshop: Git Basics' },
        { date: '2025-11-17', status: 'EXCUSED', eventName: 'Demo Day Prep' },
        { date: '2025-11-24', status: 'PRESENT', eventName: 'Weekly Standup' },
        { date: '2025-12-01', status: 'PRESENT', eventName: 'Guest Talk' },
        { date: '2025-12-08', status: 'PRESENT', eventName: 'Project Check-in' },
        { date: '2025-12-15', status: 'ABSENT', eventName: 'Code Review' },
        { date: '2025-12-22', status: 'PRESENT', eventName: 'Sprint Planning' },
        { date: '2025-12-29', status: 'PRESENT', eventName: 'Weekly Standup' },
        { date: '2026-01-05', status: 'PRESENT', eventName: 'Workshop: Git Basics' },
        { date: '2026-01-12', status: 'EXCUSED', eventName: 'Guest Talk' },
        { date: '2026-01-19', status: 'PRESENT', eventName: 'Project Check-in' },
        { date: '2026-01-26', status: 'PRESENT', eventName: 'Demo Day Prep' },
        { date: '2026-02-02', status: 'ABSENT', eventName: 'Weekly Standup' },
        { date: '2026-02-09', status: 'PRESENT', eventName: 'Code Review' },
        { date: '2026-02-16', status: 'PRESENT', eventName: 'Guest Talk' },
        { date: '2026-02-23', status: 'PRESENT', eventName: 'Sprint Planning' },

Other issues we should address later:

  1. Speed up attendance page load times: The page takes 5 seconds to load. It would probably be faster if all queries were performed on the backend and we only made one call to the backend for the data.

@miguelaenlle
Copy link
Contributor

miguelaenlle commented Nov 8, 2025

Also, I merged in main since we've had some changes since this PR was opened. Additionally, make sure to get all tests to pass -- you probably just need to run the linter.

Prachod Kakatur and others added 3 commits November 9, 2025 14:59
- Sort attendance dates in ascending order
- Left-align month headers with dates
- Increase modal width to fit more months
- Filter to show only active staff members
- Fix linting and type errors
- Update SDK from latest API spec
AdmissionDecision,
AdmissionService,
RegistrationApplication,
RegistrationApplicationDraft,
Copy link
Contributor

Choose a reason for hiding this comment

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

This page broke as a result of the new registration drafts system. That's unrelated to this PR, but I changed RegistrationApplication to RegistrationApplicationDraft so the build test will pass.

Copy link
Contributor

Choose a reason for hiding this comment

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

This page should be fixed in a separate PR.

Copy link
Contributor

@miguelaenlle miguelaenlle left a comment

Choose a reason for hiding this comment

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

Let's ship this!

Once the API team completes the necessary endpoints, we need to add the following:

  • Ability to manually update check-in statuses
  • Only display attendances for active users
  • Page load time speed-up

@PrachodK PrachodK merged commit 3a2ce5e into main Nov 9, 2025
7 checks 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.

3 participants