Skip to content

Add support for half-credit HASS-A classes#339

Open
hanahmed05 wants to merge 3 commits into
sipb:mainfrom
hanahmed05:task1-half-hass
Open

Add support for half-credit HASS-A classes#339
hanahmed05 wants to merge 3 commits into
sipb:mainfrom
hanahmed05:task1-half-hass

Conversation

@hanahmed05
Copy link
Copy Markdown

Summary

This PR adds support for distinguishing half-credit HASS-A classes in Hydrant. Previously, these classes were displayed identically to full-credit HASS-A classes, which could mislead users when planning their schedules.

Changes

  • Added is_half_class field to the RawClass TypeScript interface
  • Extended override schema to support is_half_class
  • Updated backend packaging logic (package.py) to mark all 21M.1* and 21M.4* classes as half-credit
  • Updated frontend rendering to display "HASS-A (half)" for these classes

Testing

  • Regenerated dataset using python scrapers/package.py
  • Verified is_half_class appears in public/latest.json
  • Ran frontend (npm run dev) and confirmed:
    • Half-credit classes display "HASS-A (half)"
    • Full-credit HASS-A classes remain unchanged
  • Checked that search, scheduling, and other course displays are unaffected

@dtemkin1 dtemkin1 requested review from dtemkin1 and psvenk April 9, 2026 19:08
@dtemkin1 dtemkin1 linked an issue Apr 9, 2026 that may be closed by this pull request
@dtemkin1
Copy link
Copy Markdown
Collaborator

dtemkin1 commented Apr 9, 2026

Would it be possible to generalize this a bit? eg rather than having is_half_class count exclusively for HASS-A, it would apply to any of the HASS attributes? Not sure if any HASS-H's or HASS-S's are like that, but can't hurt to account for them in advance methinks, what do you think @psvenk ?

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.

Distinguish half classes

2 participants