-
Notifications
You must be signed in to change notification settings - Fork 17
Added Quicklinks, Job status and system status to dashboard #1572
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
Conversation
| @@ -0,0 +1,54 @@ | |||
| import { useState, useEffect } from 'react'; | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We can use the existing useSystemOverview hook for system status, which proxies tup-services on the backend without having to use a CORS proxy.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Made suggested changes. Used existing useSystemOverview hook. Deleted useGetLiveSystemStatus.ts file.
designsafe/apps/api/users/utils.py
Outdated
|
|
||
| logger = logging.getLogger(__name__) | ||
| def get_detailed_tas_allocations(username): | ||
| import logging |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The logger is configured at the top of the file, so you don't need to import/define it inside this method.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Removed import logging statement inside get_detailed_tas_allocations(username):
| @@ -0,0 +1,32 @@ | |||
| import { vi } from 'vitest'; | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this setupTests code required to get the initial unit test to pass? If it is, I think it might be masking a deeper issue where we need to be mocking the backend API calls. We haven't really discussed how to do that, and that's an oversight on my part- we can schedule a pair programming session to write some initial tests using mock API calls.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes Jake, this setup was mainly added to get the tests passing initially due to issues with matchMedia and IntersectionObserver. But I agree it’s not the ideal long-term solution. Mocking the backend API would definitely be the better approach. I'd appreciate a pair programming session to get started with that!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, Jake — you were absolutely right. I removed the setupTests.ts file and updated Dashboard.spec.tsx to locally mock matchMedia and getComputedStyle, which were the main blockers. The test now runs successfully without relying on global setup. Let me know if this approach looks good to you — and if not, I’m happy to arrange a pair programming session to improve it further.
| 'data.tacc.utexas.edu': 'Corral (Storage)', | ||
| }; | ||
|
|
||
| const SUAllocationsCard = () => { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For users that have a lot of allocations, this section takes up a lot of vertical screen space. I think you have some options for how to deal with this:
- Use the Collapse component so that the projects for each system are hidden until the user clicks on them
- Add an internal scroll so that the card has a fixed height of around 500px
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| const [showJobs, setShowJobs] = useState(true); | ||
| const [showAllocations, setShowAllocations] = useState(true); | ||
|
|
||
| const columns = [ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I’ve updated the table to show (N/A) instead of invalid values for load, running jobs, and waiting jobs when a system is down.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A couple of small changes, but great work!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is looking really good! I think Jake's requests still need to be addressed, especially the API testing. Once those are done, I think we should be good to merge this. Great job!
|
Closing this PR- dashboard changes have been consolidated into #1612 |


Overview:
This PR adds three new components to the dashboard: Quick Links, Recent Jobs, and System Status. These components aim to enhance the user experience by providing faster access to commonly used features, job summaries, and system health status.
PR Status:
Related Jira tickets:
Summary of Changes:
Testing Steps:
Navigate to the Dashboard page.
Verify the following:
Confirm live data is rendered via proxy without CORS issues.
Confirm layout does not break and displays without horizontal scrollbars.
UI Photos:
Notes: