fleet/frontend/pages/DashboardPage
Jacob Shandling 53f57c44db
UI - Queries page updates, pt.1 (#12784)
## Addresses #12636 – follow-up work for PR #12713

- Update Platforms column to render the user-selected platforms for a
query if any, otherwise those that are compatible
<img width="686" alt="Screenshot 2023-07-14 at 6 03 06 PM"
src="https://github.com/fleetdm/fleet/assets/61553566/abd1f079-bdfe-45be-b1dd-58eb903672ef">

  - Clean up typing and names around this column 
- Encapsulate logic for query automations column cells into new
QueryAutomationsStatusIndicator component
  - Increase modularity and decrease coupling of StatusIndicator
- Cleanly handle overflowing queries table due to very long query name
<img width="512" alt="Screenshot 2023-07-14 at 6 07 20 PM"
src="https://github.com/fleetdm/fleet/assets/61553566/6e970038-0aac-4f71-b21d-ececfa66b94f">

- Small copy and layout fixes

- [x] Manual QA for all new/changed functionality

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2023-07-17 14:09:12 -07:00
..
cards UI - Queries page updates, pt.1 (#12784) 2023-07-17 14:09:12 -07:00
components/InfoCard implement macOS update content (#9469) 2023-01-27 16:25:53 -06:00
_styles.scss Frontend – clean up breakpoints (#12711) 2023-07-12 15:45:49 -07:00
DashboardPage.tsx UI - Queries page updates, pt.1 (#12784) 2023-07-17 14:09:12 -07:00
helpers.ts Add MDM Card to Windows and All Dashboards and change mdm data source on host details page (#8960) 2022-12-16 15:12:11 -06:00
index.tsx Frontend tech debt: Change all references of homepage to dashboard (#8308) 2022-10-24 16:06:23 -04:00
README.md Frontend tech debt: Change all references of homepage to dashboard (#8308) 2022-10-24 16:06:23 -04:00

Dashboard Notes

The dashboard is designed to contain a dynamic number of informational cards with dynamic layouts that are based on teams (if any) and device platforms (macOS, Linux, Windows).

Architecture

  • Dashboard Wrapper
  • Components
  • Cards

Hompage Wrapper

The wrapper is a minimal file that instantiates all host values, cards, and layouts based on the team and platform selected. Cards are applied in a delcarative form, as functions, rather than components inserted in standard JSX. This is to enhance legibility as the number of cards grow.

Components

Local components that needed extracting to make the code more maintainable.

Cards

Each card design is placed in this directory. We anticipate creating more as the product gets more robust.