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

REAL working staging build! #1094

Merged
merged 128 commits into from
Feb 4, 2024
Merged

REAL working staging build! #1094

merged 128 commits into from
Feb 4, 2024

Conversation

Peedee2002
Copy link
Collaborator

@Peedee2002 Peedee2002 commented Dec 13, 2023

Only functionality change:

Circles.Mozilla.Firefox.2023-12-13.12-19-26.mp4

tiny fix that makes the degreeInfo get read properly, and to hide the menu if you selected the degree already. The degree remains editable though.

This merges !1061 as well.

This basically gets you a functional Circles user backend. Everything works, including graphical selector and progression checker.

Some tests are still failing, but tbh it is because those tests are broken.

The only slices still left are the courseTabs and settings slices, which I dont think we should remove tbh.

image

The backend tests pass tho

renovate bot and others added 30 commits March 22, 2023 17:25
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: olli <[email protected]>
Group minor, patches together.
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* cache `GET /courses/*` requests

* put types in `src/types`

* rename the cache ref variables
* 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]>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* 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]>
#1022)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* 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: 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]>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
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]>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
@Peedee2002 Peedee2002 changed the title improve the experience of running run_app.py and make fixes to degree step to match old behaviour REAL working staging build! Jan 5, 2024
@Peedee2002
Copy link
Collaborator Author

I updated this with dev, and updated all dependencies to latest. I will then try to update it with code from:

  • christian/feat/add-login-page
  • react-query-prog-checker
  • react-query-graphical-selector

For the other branches that are open rn @ollibowers @martanman would you mind checking them and deleting all the ones that are either encompassed by this one (not the 3 listed there ofc) or letting me know what they are so i can add them here?

@ollibowers ollibowers requested review from ollibowers and removed request for leonardo-fan and imagine-hussain February 3, 2024 12:34
@@ -0,0 +1,30 @@
import { useEffect } from 'react';
Copy link
Collaborator

Choose a reason for hiding this comment

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

will probs need deleting later again, but is ok for now

@@ -53,4 +54,9 @@ export const courseHasOffering = (course: PlannerCourse, year: string, term: Ter
return year in course.legacyOfferings && course.legacyOfferings[year].includes(term);
};

export const courseHasOfferingNew = (course: Course, term: Term): boolean => {
// TODO: Work out how legacy offerings work now
return course.terms.includes(term);
Copy link
Collaborator

@ollibowers ollibowers Feb 4, 2024

Choose a reason for hiding this comment

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

will need to check if this actually works (after merge)

.flatMap((x) => Object.values(x))
.flat()
.concat(planner.unplanned)
.forEach(async (id) => {
Copy link
Collaborator

Choose a reason for hiding this comment

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

i question this, (but will address post merge)


const { courses } = useSelector((state: RootState) => state.planner);
const { programCode, programName } = useSelector((state: RootState) => state.degree);
const programName = (useQuery('progam', fetchAllDegrees).data?.programs || { [programCode]: '' })[
Copy link
Collaborator

Choose a reason for hiding this comment

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

progam 🗣️ 🗣️

@@ -45,8 +21,6 @@ const ExportPlannerMenu = ({ plannerRef }: Props) => {
exportComponentAsPNG(plannerRef, exportFields);
} else if (format === 'jpg') {
exportComponentAsJPEG(plannerRef, exportFields);
} else if (format === 'json') {
exportComponentAsJSON();
Copy link
Collaborator

Choose a reason for hiding this comment

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

we might want to bring this back via a backend route later

>
<S.OptionButton>
<FaRegCalendarTimes style={iconStyles} />
</S.OptionButton>
</Popconfirm>
</Tooltip>
)}

{areYearsHidden && (
Copy link
Collaborator

Choose a reason for hiding this comment

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

again, might want to bring this back in the future? kinda a nice feature

const dispatch = useDispatch();
const handleCompleteTerm = () => {
dispatch(toggleTermComplete(name));
const toggleLockTerm = async () => {
Copy link
Collaborator

Choose a reason for hiding this comment

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

move this out

@Peedee2002 Peedee2002 merged commit a5e25f1 into devsoc-unsw:331-staging Feb 4, 2024
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.

10 participants