Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ctf #1081

Merged
merged 20 commits into from
Sep 25, 2023
Merged

ctf #1081

merged 20 commits into from
Sep 25, 2023

Conversation

imagine-hussain
Copy link
Contributor

No description provided.

@github-actions
Copy link

github-actions bot commented Sep 25, 2023

Test Results

142 tests   142 ✔️  3m 47s ⏱️
  14 suites      0 💤
    2 files        0

Results for commit 2e08d2b.

♻️ This comment has been updated with latest results.

Copy link
Contributor

@leonardo-fan leonardo-fan left a comment

Choose a reason for hiding this comment

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

lgtm :) very cool stuff

@leonardo-fan leonardo-fan merged commit 4627002 into dev Sep 25, 2023
8 checks passed
@leonardo-fan leonardo-fan deleted the ctf branch September 25, 2023 17:04
Copy link

@zax-xyz zax-xyz left a comment

Choose a reason for hiding this comment

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

lgtm


return True

# TODO
Copy link

Choose a reason for hiding this comment

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

for year in data.plan:
for term in year:
for course in term:
_, marks = term[course] # type: ignore
Copy link

Choose a reason for hiding this comment

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

Copy link
Contributor Author

Choose a reason for hiding this comment

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

debugging stuff

Comment on lines +168 to +175
for year in data.plan:
for term in year:
for course in term:
_, marks = term[course] # type: ignore
if course == "COMP1511":
return marks == 100

return False
Copy link

Choose a reason for hiding this comment

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

thoughts on turning this into a generator comprehension with next?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

true, this can be triv-solved with

return any(
  course
  for term in year
  for course, mark in term
  if course == "COMP1511" and mark == 100
)

Copy link

Choose a reason for hiding this comment

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

true don't even need next, but what about simplifying this even further and doing

return any(
  course == "COMP1511" and mark == 100
  for term in year
  for course, mark in term
)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

THIS is incredibel +++EV!!!!!!

Comment on lines +207 to +212
num_math = len([
course
for term in year
for course in term
if course.startswith("MATH")
])
Copy link

Choose a reason for hiding this comment

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

thoughts on using sum with a generator comprehension where every item is 1 instead of course so we don't need to build an entire list?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

actly not bad idea


def six_threes_limit(data: PlannerData) -> bool:
"""
There can by at most 6 occurrences of the number 3 in the entire
Copy link

Choose a reason for hiding this comment

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

ummmmmmmmm by should be be

Copy link
Contributor Author

Choose a reason for hiding this comment

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

wrong

return False

# (validator_func, message, Optional<flag>)
requirements: list[tuple[Callable[[PlannerData], bool], str, Optional[str]]] = [
Copy link

Choose a reason for hiding this comment

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

thoughts on extracting the validator_func type to make this more readable?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

its already readable, skill diff

@@ -0,0 +1,109 @@
/* eslint-disable */
Copy link

Choose a reason for hiding this comment

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

Choose a reason for hiding this comment

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

Copy link
Contributor Author

Choose a reason for hiding this comment

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

eslint is literally evil

Comment on lines +71 to +81
{
<ol>
{result.passed.map((challenge, index) => (
<>
<li>
<TextBlock key={index}>{challenge}</TextBlock>
</li>
</>
))}
</ol>
}
Copy link

Choose a reason for hiding this comment

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

why is this in a js block ❓

Copy link
Contributor Author

Choose a reason for hiding this comment

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

TBH, i was running into mismatched braces and instead of reading the code, i just started adding things until it compiled

Copy link

Choose a reason for hiding this comment

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

average rust user 1v1ing the compiler

Comment on lines +74 to +78
<>
<li>
<TextBlock key={index}>{challenge}</TextBlock>
</li>
</>
Copy link

Choose a reason for hiding this comment

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

why is this in a fragment ❓
also the key should be on the outermost element being rendered in the list

Choose a reason for hiding this comment

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

Copy link
Contributor Author

Choose a reason for hiding this comment

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

ur a fragment

ollibowers added a commit that referenced this pull request Mar 29, 2024
* chore(deps): update dependency eslint to v8.36.0 (#957)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @testing-library/dom to v8.20.0 (#961)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: olli <[email protected]>

* chore(deps): update `renovate` config

Group minor, patches together.

* chore(deps): update mikefarah/yq action to v4.32.2 (#978)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): lock file maintenance (#945)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update weekly patch updates (#944)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): group `mypy`

* feat(frontend): cache course descriptions (#1004)

* cache `GET /courses/*` requests

* put types in `src/types`

* rename the cache ref variables

* chore(deps): update mypy to v1 (major) (#1029)

* chore(deps): update mypy to v1

* update tuple[int, int] -> tuple[int, optional[int]] for mypy

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: imagine-hussain <[email protected]>

* chore(deps): update dependency @testing-library/dom to v9 (#1020)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @testing-library/react to v14 (#1021)

* chore(deps): update dependency @testing-library/react to v14

* chore(fe-test): use act, fix degree search test

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Leonardo Fan <[email protected]>

* chore(deps): update dependency eslint-plugin-simple-import-sort to v10 (#1022)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency jsdom to v21 (#1023)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency typescript to v5 (#1028)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency @ant-design/colors to v7 (#1030)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency @ant-design/icons to v5 (#1031)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency framer-motion to v10 (#1040)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* feat: CF-400: dark mode improvements (#1003)

* feat: dark mode functionality added for editMarkModal's input and button elements

* feat: dark mode improvement for editMarkModal's cancel button

* feat: dark mode improvements for OptionHeader icons underneath the 'Term Planner' tab

* feat: dark mode added for the select menu in the settingsMenu tooltip under the TermPlanner tab

* feat: dark mode added to SettingMenu's DatePicker element

* feat: dark mode for export button done + editModalMark bug fixed

* fix: making sure the css for the select element in settingsMenu does not affect other select elements

* feat: dark mode improvement for popconfirm for unplan wanring, import tooltip, also moved the button for import and export tooltip to common styles

* feat: dark mode scrollbar added

* feat: dark mode scrollbar on courseSelector menu had ugly white padding, fixed it to be #333 color instead

* fix: href in courseSelector not very readable in dark mode, made the text a bit brighter and made a styled component for it

* feat: dark mode added for search bar

* feat: dark mode added for remove planner button

* fix: forgot to add the new styles.ts file

* feat: progressBar's text color and trailing color fixed

* feat: dividing line in courseDescription changed from white to a dark grey

* feat: bug icon turned into dark mode

* feat: dark mode added for quick add and remove buttons in course menu

* feat: courseProgression progress bar trailing color changed to dark grey

* feat: progress on dark mode for graph, need to save this commit before I merge in the latest changes since the graph was changed

* feat: dark mode for graph complete (nodes, arrows, hover states) + label now changes on hover (non-dark mode feature)

* feat: buttons on graphical selector are dark mode

* feat: saving progress on converting courseDescription panel to dark mode

* feat: dark mode added to the sidebar

* feat: sidebardrawer color changed, box shadow added to tabs so it looks more visible in dark mode

* feat: new images added in help menu in course selector, dark mode versions added too

* feat: TermPlanner's help menu tooltips now have dark mode pics and gifs

---------

Co-authored-by: Daysure <[email protected]>

* feat: CF-423: additional styling on course node hover (#1034)

* feat: dark mode functionality added for editMarkModal's input and button elements

* feat: dark mode improvement for editMarkModal's cancel button

* feat: dark mode improvements for OptionHeader icons underneath the 'Term Planner' tab

* feat: dark mode added for the select menu in the settingsMenu tooltip under the TermPlanner tab

* feat: dark mode added to SettingMenu's DatePicker element

* feat: dark mode for export button done + editModalMark bug fixed

* fix: making sure the css for the select element in settingsMenu does not affect other select elements

* feat: dark mode improvement for popconfirm for unplan wanring, import tooltip, also moved the button for import and export tooltip to common styles

* feat: dark mode scrollbar added

* feat: dark mode scrollbar on courseSelector menu had ugly white padding, fixed it to be #333 color instead

* fix: href in courseSelector not very readable in dark mode, made the text a bit brighter and made a styled component for it

* feat: dark mode added for search bar

* feat: dark mode added for remove planner button

* fix: forgot to add the new styles.ts file

* feat: progressBar's text color and trailing color fixed

* feat: dividing line in courseDescription changed from white to a dark grey

* feat: bug icon turned into dark mode

* feat: dark mode added for quick add and remove buttons in course menu

* feat: courseProgression progress bar trailing color changed to dark grey

* feat: progress on dark mode for graph, need to save this commit before I merge in the latest changes since the graph was changed

* feat: dark mode for graph complete (nodes, arrows, hover states) + label now changes on hover (non-dark mode feature)

* feat: buttons on graphical selector are dark mode

* feat: saving progress on converting courseDescription panel to dark mode

* feat: dark mode added to the sidebar

* feat: sidebardrawer color changed, box shadow added to tabs so it looks more visible in dark mode

* feat: new images added in help menu in course selector, dark mode versions added too

* feat: TermPlanner's help menu tooltips now have dark mode pics and gifs

* feat: highlight adjacent nodes and edges on hover

* feat: highlight adjacent nodes opacity updated

* refactor: graph.ts, changing function names and object names to be more readable:

* feat: implemented a function that checks if a course is a prereq based on GraphData without calling the backend

* fix: two graphs get rendered if you switch tabs fast enough

* feat: created a function to store a hashmap of prereqs for later use for node styling

* fix: updated the function that checks for coursePrerequisite

Other options are:
1. Rely on GraphData, however it gets laggy when you hover over too many nodes
2. API call - would get slow with multiple requests
3. CourseEdge info gets stored into a hashmap at initialisation, so checking for prereqs is fast afterwards

* refactor: graph.ts function and object names made more readable

* refactor: rewriting the returns and using spread operator to reduce repetition in graph.ts

* feat: highlight prerequisite nodes on hover

* refactor: splitting functions up as they were getting too long

* fix: if the dark mode button is toggled on and off, it repaints the canvas more than one time

* feat: highlighted incoming edge if it's a prerequisite as well

* feat: forgot to add pics into the HelpMenu for the new graphical selector hover node feature

---------

Co-authored-by: Daysure <[email protected]>
Co-authored-by: Leonardo Fan <[email protected]>

* chore(deps): update dependency mypy to v1.2.0 (#1049)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): remove react-svg as not used (#1044)

* chore(deps): group `vite`

* chore(deps): update dependency requests to v2.31.0 [security] (#1055)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Make course menu bar resizeable (#1042)

* hotfix: fix the type err in the run script

* feat: CF-356: unlocked course nodes added to graphical selector (#1035)

Different course node stylings added for the following states:
- course node is added to the planner
- course node is unlocked (i.e. meets the prereqs for that course)
- course node that is locked
https://csesoc.atlassian.net/browse/CF-356
---------

Co-authored-by: Daysure <[email protected]>
Co-authored-by: Leonardo Fan <[email protected]>

* fix(deps): update weekly minor updates (#1050)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): bump tough-cookie from 4.1.2 to 4.1.3 in /frontend (#1065)

Bumps [tough-cookie](https://github.com/salesforce/tough-cookie) from 4.1.2 to 4.1.3.
- [Release notes](https://github.com/salesforce/tough-cookie/releases)
- [Changelog](https://github.com/salesforce/tough-cookie/blob/master/CHANGELOG.md)
- [Commits](salesforce/tough-cookie@v4.1.2...v4.1.3)

---
updated-dependencies:
- dependency-name: tough-cookie
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix: CF-421: adding or removing courses now reflect in the graphical selector (#1037)

* feat: dark mode functionality added for editMarkModal's input and button elements

* feat: dark mode improvement for editMarkModal's cancel button

* feat: dark mode improvements for OptionHeader icons underneath the 'Term Planner' tab

* feat: dark mode added for the select menu in the settingsMenu tooltip under the TermPlanner tab

* feat: dark mode added to SettingMenu's DatePicker element

* feat: dark mode for export button done + editModalMark bug fixed

* fix: making sure the css for the select element in settingsMenu does not affect other select elements

* feat: dark mode improvement for popconfirm for unplan wanring, import tooltip, also moved the button for import and export tooltip to common styles

* feat: dark mode scrollbar added

* feat: dark mode scrollbar on courseSelector menu had ugly white padding, fixed it to be #333 color instead

* fix: href in courseSelector not very readable in dark mode, made the text a bit brighter and made a styled component for it

* feat: dark mode added for search bar

* feat: dark mode added for remove planner button

* fix: forgot to add the new styles.ts file

* feat: progressBar's text color and trailing color fixed

* feat: dividing line in courseDescription changed from white to a dark grey

* feat: bug icon turned into dark mode

* feat: dark mode added for quick add and remove buttons in course menu

* feat: courseProgression progress bar trailing color changed to dark grey

* feat: progress on dark mode for graph, need to save this commit before I merge in the latest changes since the graph was changed

* feat: dark mode for graph complete (nodes, arrows, hover states) + label now changes on hover (non-dark mode feature)

* feat: buttons on graphical selector are dark mode

* feat: saving progress on converting courseDescription panel to dark mode

* feat: dark mode added to the sidebar

* feat: sidebardrawer color changed, box shadow added to tabs so it looks more visible in dark mode

* feat: new images added in help menu in course selector, dark mode versions added too

* feat: TermPlanner's help menu tooltips now have dark mode pics and gifs

* feat: highlight adjacent nodes and edges on hover

* feat: highlight adjacent nodes opacity updated

* refactor: graph.ts, changing function names and object names to be more readable:

* feat: implemented a function that checks if a course is a prereq based on GraphData without calling the backend

* fix: two graphs get rendered if you switch tabs fast enough

* feat: created a function to store a hashmap of prereqs for later use for node styling

* fix: updated the function that checks for coursePrerequisite

Other options are:
1. Rely on GraphData, however it gets laggy when you hover over too many nodes
2. API call - would get slow with multiple requests
3. CourseEdge info gets stored into a hashmap at initialisation, so checking for prereqs is fast afterwards

* refactor: graph.ts function and object names made more readable

* refactor: rewriting the returns and using spread operator to reduce repetition in graph.ts

* feat: highlight prerequisite nodes on hover

* refactor: splitting functions up as they were getting too long

* fix: if the dark mode button is toggled on and off, it repaints the canvas more than one time

* feat: highlighted incoming edge if it's a prerequisite as well

* feat: forgot to add pics into the HelpMenu for the new graphical selector hover node feature

* feat: unlocked course nodes are now distinct from planned and locked courses

feat: HelpMenu pictures were also updated

* fix: adding and removing courses in graphical selector, updates the node in the graph without re-render

refactor: graph.ts duplicate function removed

* fix: endArrow opacity of graph was not changing on hover

* fix: instead of using courseSlicer, used axios request to update unlocked nodes after adding to planner

---------

Co-authored-by: Daysure <[email protected]>

* fix: CF-425: cleaning graph loading screen (#1039)

* feat: dark mode functionality added for editMarkModal's input and button elements

* feat: dark mode improvement for editMarkModal's cancel button

* feat: dark mode improvements for OptionHeader icons underneath the 'Term Planner' tab

* feat: dark mode added for the select menu in the settingsMenu tooltip under the TermPlanner tab

* feat: dark mode added to SettingMenu's DatePicker element

* feat: dark mode for export button done + editModalMark bug fixed

* fix: making sure the css for the select element in settingsMenu does not affect other select elements

* feat: dark mode improvement for popconfirm for unplan wanring, import tooltip, also moved the button for import and export tooltip to common styles

* feat: dark mode scrollbar added

* feat: dark mode scrollbar on courseSelector menu had ugly white padding, fixed it to be #333 color instead

* fix: href in courseSelector not very readable in dark mode, made the text a bit brighter and made a styled component for it

* feat: dark mode added for search bar

* feat: dark mode added for remove planner button

* fix: forgot to add the new styles.ts file

* feat: progressBar's text color and trailing color fixed

* feat: dividing line in courseDescription changed from white to a dark grey

* feat: bug icon turned into dark mode

* feat: dark mode added for quick add and remove buttons in course menu

* feat: courseProgression progress bar trailing color changed to dark grey

* feat: progress on dark mode for graph, need to save this commit before I merge in the latest changes since the graph was changed

* feat: dark mode for graph complete (nodes, arrows, hover states) + label now changes on hover (non-dark mode feature)

* feat: buttons on graphical selector are dark mode

* feat: saving progress on converting courseDescription panel to dark mode

* feat: dark mode added to the sidebar

* feat: sidebardrawer color changed, box shadow added to tabs so it looks more visible in dark mode

* feat: new images added in help menu in course selector, dark mode versions added too

* feat: TermPlanner's help menu tooltips now have dark mode pics and gifs

* feat: highlight adjacent nodes and edges on hover

* feat: highlight adjacent nodes opacity updated

* refactor: graph.ts, changing function names and object names to be more readable:

* feat: implemented a function that checks if a course is a prereq based on GraphData without calling the backend

* fix: two graphs get rendered if you switch tabs fast enough

* feat: created a function to store a hashmap of prereqs for later use for node styling

* fix: updated the function that checks for coursePrerequisite

Other options are:
1. Rely on GraphData, however it gets laggy when you hover over too many nodes
2. API call - would get slow with multiple requests
3. CourseEdge info gets stored into a hashmap at initialisation, so checking for prereqs is fast afterwards

* refactor: graph.ts function and object names made more readable

* refactor: rewriting the returns and using spread operator to reduce repetition in graph.ts

* feat: highlight prerequisite nodes on hover

* refactor: splitting functions up as they were getting too long

* fix: if the dark mode button is toggled on and off, it repaints the canvas more than one time

* feat: highlighted incoming edge if it's a prerequisite as well

* feat: forgot to add pics into the HelpMenu for the new graphical selector hover node feature

* feat: unlocked course nodes are now distinct from planned and locked courses

feat: HelpMenu pictures were also updated

* fix: adding and removing courses in graphical selector, updates the node in the graph without re-render

refactor: graph.ts duplicate function removed

* fix: endArrow opacity of graph was not changing on hover

* fix: instead of using courseSlicer, used axios request to update unlocked nodes after adding to planner

* fix: searchbar hidden while graph loads

fix: random course node that pops up is hidden now

feat: show all courses toggle has a loading screen now too

* docs: forgot to update comment which I copy pasted in

* fix: no-non-null-assertion warning fixed in graph.ts

---------

Co-authored-by: Daysure <[email protected]>

* feat(frontend): add option to ignore course in progression checks (#1059)

* Add option to ignore course in progression checks

* Fix progression check page

* Remove eslint-disable

* Address PR comments

* feat: CTF Challenge for 2023 Projects Fair (#1081)

Added CTF challenge for the 2023 Projects Fair. More information on https://levelup-ctf.csesoc.app/

---------

Co-authored-by: Bahnschrift <[email protected]>
Co-authored-by: Leonardo Fan <[email protected]>

* chore: fix CD manfiest branch

* chore: fix CD manfiest pull branch

* in the arena trying stuff (#1082)

* hotfix(ctf): fixing even terms (#1083)

* hotfix(ctf): ensure that even check term starts evens

* hotfix(ctf): ensure that even check term starts evens

* mypy

* minor comment

* chore(deps): update dependency python-dotenv to v1 (#1026)

* chore(deps): update ci-actions (#1070)

* chore(deps): update dependency types-paramiko to v3 (#1027)

* chore(deps): update dependency eslint-config-prettier to v9 (#1085)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* data/2024_handbook_migration (#1091)

* change LIVE_YEAR to 2024

* add 2023 to archive data

* update 2024 programs

* update 2024 specialisations - NEED TO FIX any_level

* update courses

* update conditions to 2024 and manual fixes

* finalise data-fix

* some autotests fix

* rerun datafix with new handbook in DB

* fix indirect unlock test

* more validation test fixes

* CI but shorter ignore times

* mypy

* skip test_validation

* fix get_followups

* fix: commented out ctf code (#1096)

* feat: Add devsoc logo and replace most csesoc references (#1097)

* feat: Add devsoc logo and replace most csesoc references

* fix: changed all csesoc styled component names

* feat: add UNSW branding

---------

Co-authored-by: ollibowers <[email protected]>

* fix: moved UNSW to front of label (#1098)

* feat: the devsocening (#1100)

* chore: update CODEOWNERS for 2024 devsoc (#1102)

* chore: update CODEOWNERS for 2024 devsoc

* feat: a notification for our ongoing subcommittee recruitment (#1103)

* feat: recruitment notification on page load

* fix: made the notification only appear every 23 hours

* add sponsors to landing page (#1104)

* add sponsors to landing page

* fix: add more gap between the sponsors

---------

Co-authored-by: ollibowers <[email protected]>

* feat/contribution notif+branding (#1107)

* fix: Update Devsoc branding in footer

* feat: open source contribution notification

* fix: update branding and features

* changed notification icon from smile to megaphone

* fix compilation errors

* fix small issue

* fix: some frontend bugs

- no longer refetches on focus loss
- primary colour is now brighter
- term planner loads when zero courses

* small fixes

* add tokeignore to stop the lines of code thingo from crashing so much

* fix: graph styles not resetting properly

* fix: bad effect dependency in CourseMenu causing infinite recalls and added a memo

* fix: added key props to tabs and course attributes

* fix: tried to get progression checker as best as i could

* fix: progression checker button styles

* fix: term boxes shrinking and refresh bug on term planner page

* fix: brought back the export/import planner menus but commented out

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: olli <[email protected]>
Co-authored-by: Jared L <[email protected]>
Co-authored-by: Martin <[email protected]>
Co-authored-by: imagine-hussain <[email protected]>
Co-authored-by: Leonardo Fan <[email protected]>
Co-authored-by: Sandeep Das <[email protected]>
Co-authored-by: Daysure <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Lucas <[email protected]>
Co-authored-by: imagine-hussain <[email protected]>
Co-authored-by: Bahnschrift <[email protected]>
Co-authored-by: sachk <[email protected]>
Co-authored-by: Bob Chen <[email protected]>
Co-authored-by: sacha <[email protected]>
Co-authored-by: Jeremy Le <[email protected]>
Co-authored-by: Peter Derias <[email protected]>
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.

5 participants