1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-10-27 11:02:16 +01:00
Commit Graph

12 Commits

Author SHA1 Message Date
Mateusz Kwasniewski
921130a9c0
fix: impact metrics formatting (#10715) 2025-10-01 16:33:58 +02:00
Thomas Heartman
2ee92d8c78
Use new chart colors for current lifecycle stage. (#10528)
Takes the green from the current lifecycle charts and replaces it with
charts.A2. Also stabilizes the colors between the dark and light.
2025-08-25 11:44:21 +02:00
Thomas Heartman
e010f31a15
chore(1-3811): use real data for lifecycle trends (#10117)
Connects the lifecycle trends UI to the API and adds a functioning
projects filter. This PR also includes the generated orval models.

<img width="1534" alt="image"
src="https://github.com/user-attachments/assets/6da748d1-3625-4e36-86ee-295ab79e7ccb"
/>
2025-06-12 13:52:10 +02:00
Thomas Heartman
f299c2b652
chore: fix skeleton loading indicator colors for lifecycle trend tiles (#10109)
Updates the skeleton loading colors for the lifecycle trend tiles
because the previous color was invisible on the median stats section in
light mode. You also wouldn't see any movement in the total number of
flags.

I have not touched the original skeleton color assignment because that
might have unintended consequences throughout the app. Also, I'm not
aware of a way (at the moment) that would do this automatically when
necessary. As such, I have only touched the loading indicators in the
lifecycle tile.

## Before:

Light mode:

![image](https://github.com/user-attachments/assets/3731eb0b-4d63-4622-8b20-0518e6266611)

Dark mode:

![image](https://github.com/user-attachments/assets/6df0197f-7283-4709-b369-38025011c879)


## After:

Light mode:

![image](https://github.com/user-attachments/assets/09f33fa8-322c-4a55-a6e8-4ef384104d74)

Dark mode:

![image](https://github.com/user-attachments/assets/60499b46-c9c7-49cc-a210-50d330682075)
2025-06-11 10:15:59 +02:00
Thomas Heartman
45d48d12a9
Chore: add skeleton loaders for lifecycle trend numbers (#10103)
Adds skeleton loading indicators for the lifecycle trend tile numbers:
- total flag count
- median stats

In doing so, I have added the `data-loading` attribute to the
PrettifyLargeNumber component (to avoid having to wrap it in a separate
element for that alone), and have added refs to the InsightsSection
component.

The loading indicators look better in dark mode than in light mode,
because they use the same background color as the text box in light
mode, so only the big number is visible. There is a task in Linear to
look into fixing this.


<img width="1548" alt="image"
src="https://github.com/user-attachments/assets/9e58d681-724e-45cb-baa1-b824dda48008"
/>

<img width="1554" alt="image"
src="https://github.com/user-attachments/assets/7738fac0-5660-464f-8d10-1bf2eacc9ca0"
/>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-06-10 09:35:32 +00:00
Thomas Heartman
d6f76a098e
Chore/lifecycle tile layout (#10094)
Fixes a few lifecycle-related points:

- The layout for insights graphs now wraps when necessary
- Change the wording to be `X flags in <Stage>`
- Update the wording in the project health lifecycle boxes to match this
- Update the tooltips for the project health lifecycle to use new names
for stages instead of the old ones.

<img width="1145" alt="image"
src="https://github.com/user-attachments/assets/d1cfbf58-f79b-4751-b8b7-2ee7e31849ab"
/>

<img width="1075" alt="image"
src="https://github.com/user-attachments/assets/4a07b3ce-cf78-4009-82aa-1c276a2e9e5d"
/>
2025-06-06 11:56:20 +02:00
Thomas Heartman
e1cfd8e050
Feat(1-3801)/add more data to lifecycle tiles (#10092)
This is the first pass at the full lifecycle tiles. It adds the tile
header and current and historical median data.

I have also added large number handling to all the number instances in
the tile: in the header, the graph, and the median data. In doing so, I
exposed the algorithm we use in the PrettifyLargeNumber component.
Returning a react component isn't always a valid option (such as in the
chart). This does mean that you don't get a tooltip when you use the
function directly, but in things like the chart and the median
measurement that makes sense to me.

I've decided to return "No data" if the median days value is 0 or lower.

There's no data for historical medians yet, so I'm using the same number
for now.

<img width="1538" alt="image"
src="https://github.com/user-attachments/assets/72e6a90a-6b84-47ce-af02-59596a7ff91f"
/>
2025-06-06 10:12:02 +02:00
Tymoteusz Czech
553ffc62b7
fix: orval for ESM (#10086)
updated Orval and configured it to be compatible with v7.

---------

Co-authored-by: Thomas Heartman <thomas@getunleash.io>
2025-06-05 10:40:58 +00:00
Thomas Heartman
385f4ab1ad
Updates lifecycle trend chart colors for dark mode. (#10085) 2025-06-05 10:04:48 +02:00
Thomas Heartman
5da7d50291
Chore(1-3800)/add aria content to charts (#10084)
Adds aria label and description to the lifecycle trend charts

The label explains that it's a bar chart, which stage it's describing,
and
the number of flags in each category.

The description provides more information about the split between new
flags this week and older flags.
2025-06-05 09:40:58 +02:00
Thomas Heartman
16df33b078
feat: add lifecycle trend graphs (#10077)
Adds lifecycle trend graphs to the insights page.

The graphs are each placed within their own boxes. The boxes do not have
any more information in them yet.

Also, because the data returned from the API is still all zeroes, I've
used mock data that matches the sketches.

Finally, the chart configuration and how it's split into a
LifecycleChart that lazy loads a LifecycleChartComponent is based on the
LineChart and LineChartComponent that we use elsewhere on the insights
page.

Light mode:

<img width="1562" alt="image"
src="https://github.com/user-attachments/assets/6dd11168-be24-42d4-aa97-a7a55651fa0e"
/>

We might want to tweak some colors in dark mode, but maybe not? 🤷🏼 

![image](https://github.com/user-attachments/assets/9647e6b8-d8ea-4eb5-b9fd-6f4a24692476)
2025-06-05 08:35:14 +02:00
Thomas Heartman
f7c667e410
Feat(1-3760)/filters per analytics section (#10039)
Splits the insights page into separate sections with their own separate
filters. Each filter is sticky to the top of the page, similar to how
the previous filters worked.

In doing this, I have also moved around a lot of code. Refer to the
inline comments for more specific examples, but on a high level, this
PR:
- Moves the flag check from InsightsCharts into Insights itself. Because
the old Insights had filters and state, and the new one does not, it
made sense to fork off higher up in the tree. Because the new version
doesn't have state, I have also simplified it and removed an
intermediate component (InsightsCharts) that doesn't feel necessary
anymore.
- Because InsightsCharts isn't used anymore, I've moved the
LegacyInsightsCharts file back into InsightsCharts. However, I'm happy
to move it back if we think that's useful.
- Instead of all charts living in InsightsCharts, I've split each
section into its own file in the new sections directory. Because the
sections have separate filters, they don't share any state anymore, so
there's nothing they share.
- I'm reusing the existing hook and endpoint. As it stands, the
performance insights use **most** of the data from that payload (but not
all of it). The user insights use some of it. Flag lifecycle insights
doesn't use anything, but I've wired it up to make the filters work. I
expect that we'll iterate on the API endpoints etc later.


![image](https://github.com/user-attachments/assets/8fcf5800-18be-4399-b7e2-e2b4b8565ea8)
2025-06-03 10:47:30 +02:00