1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-01-06 00:07:44 +01:00
Commit Graph

618 Commits

Author SHA1 Message Date
Thomas Heartman
6477ccf34b
test: test how the project form deals with project envs and cr env interaction (#6997)
This PR adds some tests around how project envs and change request envs
interact in the new project form. It tests that:
1. If you remove an env from the project setup, that env is also removed
from the change request list.
2. If you try to enable CRs for an env that isn't enabled, nothing
happens.
2024-05-08 07:26:49 +02:00
Mateusz Kwasniewski
843aab7447
fix: remove columns from the search api query (#6996) 2024-05-07 14:44:09 +02:00
Mateusz Kwasniewski
8ae78236d2
chore: remove project overview refactor flag (#6897) 2024-05-07 13:58:56 +02:00
Mateusz Kwasniewski
a45be8d10c
test: move tests from cypress to rtl (#6987) 2024-05-07 09:03:40 +02:00
Thomas Heartman
913f81b40c
feat: show documentation relating to the specific thing your configuring in the new project form (#6993)
This PR updates the documentation text in the new project form to show
the documentation relating to the specific thing you're configuring.
2024-05-07 08:56:53 +02:00
Thomas Heartman
07871e73e5
feat: configure CRs when creating projects (#6979)
This PR adds the ability to configure CRs when creating a project.

The design is unfinished, and the code certainly needs cleanup, but I'd
like to get this into sandbox so we can look at it.

Things that still need to be done:

1. What do we do about this button when the user has no environments
selected? As a rough draft, I've disabled it. However, we should make it
possible to navigate to and give you an explanation why it was disabled,
e.g. "You have no project environments selected. Please select at least
one project environment.".
2. The form design is not done: the width should be constant and not
jumpy the way it is now. Also, the search field is too wide.
3. I've made the desicion that if you deselect a project env, we also
remove that env from your CR config it it's in there.
4. Potential improvement: if you enable and then disable CRs for an env,
we *could* probably store the data in between, so that if you set
required approvers 5 and then disabled it, it'd still be 5 when you
re-enabled it. That sounds like a good user experience. We should also
be able to extend that to adding/removing environments from project
envs.
2024-05-07 08:14:28 +02:00
Mateusz Kwasniewski
5c27e75014
test: move 2 table tests from cypress to rtl (#6984) 2024-05-06 15:00:53 +02:00
Mateusz Kwasniewski
d01100fbf0
test: move import test from cypress to RTL to make it less flaky (#6982) 2024-05-06 14:40:47 +02:00
Thomas Heartman
bd0cd018c9
support setting mode and stickiness in new project form (#6972)
This PR is a combination of two PRs:

This PR adds a functioning environment selection button to the new project creation form. Selected environments are added to the payload and to the API preview.

The implementation is mostly lifted from the existing FilterItem component we have for search filters. However, our need here is less complex, so I've removed some of the things we don't need. There is still more cleanup to be done, however, but I'd like to implement the rest of the submenus first, to see what we really do need in the end.

---

This PR adds support for stickiness and project mode in the new project
creation form.

Achieve this, it does a few things:

1. Moves `resolveStickinessOptions` from
`frontend/src/component/feature/StrategyTypes/FlexibleStrategy/StickinessSelect/StickinessSelect.tsx`
and into a separate hook. This component was used by the old project
creation form. Because the new form has a different input, but needs the
same option, moved that code into a reusable hook.
2. It adds functioning buttons for project stickiness and mode.
3. It adds labels to the search inputs for the dropdowns. Inputs *must*
have labels to meet a11y requirements. However, the designs don't have
labels, so we can hide them visually. Though that leads to another issue
(refer to the screen shot below).
4. It updates the `SelectionButton` component to handle both single- and
multiselect cases. It instead exports these two subcomponents. These are
currently in one file, but I'll split them out into their separate files
in a later PR.

As a side effect of working with the selection buttons, it also improves
how we handle keyboard interaction for these buttons.

Here's what it looks like for single-select lists. Notice the missing
part of the input's border around the top (where the label *would* be if
we showed it). We should figure out how best to handle it. I've done
like this for now, but we can sort it out later.


![image](https://github.com/Unleash/unleash/assets/17786332/5af979c2-6635-481e-8d3e-5aad1c0ab46f)
2024-05-03 07:27:13 +02:00
Thomas Heartman
4fea198d6c
chore: add project icon to new form (#6965)
Imports and uses the same project icon used on the project cards. Also
aligns the header better and makes the text lighter.


![image](https://github.com/Unleash/unleash/assets/17786332/bf5082b0-1f00-45bb-a639-864963b6fe77)
2024-04-30 13:18:27 +02:00
Thomas Heartman
cdbe26330e
feat: enable project creation through new form (#6961)
This PR allows very simple project creation. You can add a name and
description. The ID is generated for you at the moment (we'll fix this
later). Nothing else works, but the project is created successfully.
2024-04-30 13:00:58 +02:00
Thomas Heartman
f77f8a71f8
rough layout of the new form (#6960)
This PR adds a very rough first implementation of the look of the new
project form. *It is not final and does not work yet*.

The important part here is that the layout is roughly right (we'll
adjust spacing etc later) and that we've got all the basic elements
present.

I'll hook it up to actually work in an upcoming PR. 


![image](https://github.com/Unleash/unleash/assets/17786332/b941702f-ec1b-4d16-9628-ba560b0919f2)

The missing icon, text alignment, etc, will also be solved later.
2024-04-30 08:09:07 +02:00
Tymoteusz Czech
b6865a5a9d
feat: Project owners UI (#6949)
---------

Co-authored-by: Thomas Heartman <thomas@getunleash.io>
2024-04-29 11:51:44 +02:00
Jaanus Sellin
143327844d
chore: clean up feedback component (#6918)
Removing the time based feedback
2024-04-24 14:22:18 +03:00
Thomas Heartman
b6833d92aa
feat: split projects view into "my projects" and "other projects" (#6886)
This PR removes the previous "my projects" filter in favor always
splitting projects, but showing both on the main screen.

To make it a bit easier to work with, it also moves the project group
component into its own file, causing some extra lines of code change. My
apologies 🙇🏼
2024-04-22 13:16:53 +02:00
Tymoteusz Czech
fd4bcfffa5
Feat: new projects list (#6873)
New card view for list of projects.

Co-authored-by: Thomas Heartman <thomas@getunleash.io>
2024-04-18 11:20:01 +02:00
Thomas Heartman
3d60c2acd0
feat: allow you to filter for "my projects" (#6855)
This change adds filtering functionality to the project list filter
buttons.

In this case, "my projects" is defined as any project that is marked as
a favorite OR (inclusive or) that you are a part of, as defined by your
user profile.
2024-04-15 11:17:53 +00:00
Jaanus Sellin
9aee1a7c42
feat: change time based feedback to button (#6837)
![image](https://github.com/Unleash/unleash/assets/964450/34070916-880d-41b6-809a-4046e3a1312f)
2024-04-15 12:44:35 +03:00
Thomas Heartman
945e086f81
feat: add "my projects" filter to projects list (#6831)
This PR adds the buttons (only UI, no functionality) to show either "all
projects" or "my projects".

The buttons use a styled button group and are hidden behind the new
`projectListFilterMyProjects` flag.

The button placement breaks with the previously established page header
pattern of having all actions moved to the right. To accommodate this
new placement, I created a new flex container in the header called
`leftActions`, which is essentially just a mirror of the normal actions.
I went with `leftActions` instead of `inlineStartActions` or something
similar because I think it's clearer, and I don't see us adapting
Unleash for different writing directions right now. We can always change
it later.

I have also slightly increased the end margin of the page header to
accommodate the new designs and to adjust the spacing before the
buttons. I adjusted the margin of the text instead of the padding of the
left actions because this will keep the spacing to the page header the
same on every page. Without it, we could end up in situations where the
spacing changes from page to page based on whether it has left actions
or not, which is probably undesirable.


![image](https://github.com/Unleash/unleash/assets/17786332/7d6ba98c-a34b-45d4-85f4-2b1c2f3dc0c8)


## Still to do:

### Hover colors

~~Find out what the right hover color variable is. I'm using the light
mode hover color for now, which works well in both light and dark modes
(looks nice and is AAccessible), but it's not the same as the hover
color for other buttons in dark mode.~~

Fixed ☝🏼 

### Small windows

Also worth noting: at around 500px, the layout shift starts to cause
problems and we end up with overlapping elements. How do we want to deal
with narrower screens? Today, the UI is pretty functional until we reach
about 250px. It would be nice to not increase that size.

The new version breaking at about 500px:

![image](https://github.com/Unleash/unleash/assets/17786332/bf4f70d7-13b7-410a-9de4-30f4873a2ab8)

The old version breaking at about 250px:

![image](https://github.com/Unleash/unleash/assets/17786332/2d4e1e9c-8442-471c-91e4-67c024736234)

### Margins

We also need to figure out how much space we want on smaller windows:


![image](https://github.com/Unleash/unleash/assets/17786332/b12804b1-a2db-4547-88d5-0d9d49221fe2)
2024-04-12 12:35:47 +02:00
Fredrik Strand Oseberg
a979ad802a
fix: replace true on important create screens (#6822)
This adds replace: true to navigate on the create feature toggle screen
and create project screen. This will make it so you don't go back to the
form after you have created the resource, replacing the entry in the
history with the new url. We can do this in more places, but some of
them require a bit more thought. For example when creating a user, you
navigate from the admin screen to the user page, and then back to the
same screen. Adding `{ replace: true }` in this context makes it so that
when you press back you end up on the same screen, because it's recorded
twice in history.

Another discussion point: 
* Would you expect the edit screens to also replace the history?
2024-04-11 09:20:33 +02:00
Thomas Heartman
c9beb864cd
fix: show all envs in project tables unless you've explicitly hidden some (#6812)
This PR changes the behavior of the project tables' environment columns
based on input from customers.

Up until now, you have been shown either the first project or the first
three projects in the list of the project's environment. The decision on
whether to show one or three is based on screen size. The breakpoint
appears to be about 1280px. Above that you get three, below it you get
one.

With this PR, we'll show you *all* environments by default, regardless
of screen size. However, that's just for the default values. If you
manually change column visibility, those changes will of course be
respected.

I've used a new package, `css-mediaquery`, to test that all screen sizes
show all envs.
2024-04-10 15:07:55 +02:00
Fredrik Strand Oseberg
7f1c46a576
fix: show loading features only when loading is happening (#6817)
Previously, the dummy data would persist when there is no data coming
from the API. This causes us to display dummy data in the dora metrics
table which is not correct. This PR fixes that by only showing the
loading features when we are actually loading.
2024-04-10 12:43:22 +02:00
Thomas Heartman
70eb463443
chore: fix duplicate use of placeholder name (#6814)
Instead of using two placeholders both called "production", we rename
one of them to "development"
2024-04-10 12:36:09 +02:00
Mateusz Kwasniewski
501acd080a
chore: project overview refactor feedback behind a flag (#6772) 2024-04-03 13:55:12 +02:00
Mateusz Kwasniewski
e0ea257f07
fix: tabs alignment (#6768) 2024-04-03 12:15:36 +02:00
gitar-bot[bot]
ca6946df86
chore: [Gitar] Cleaning up stale feature flag: sdkReporting with value true (#6717)
Co-authored-by: Gitar Bot <noreply@gitar.co>
Co-authored-by: sjaanus <sellinjaanus@gmail.com>
2024-03-28 09:19:11 +02:00
Jaanus Sellin
e8c50f55d5
feat: feedback for project overview (#6712) 2024-03-27 15:30:01 +02:00
Mateusz Kwasniewski
6a0135a482
feat: Table with feature overview cell (#6713) 2024-03-27 13:30:31 +01:00
Jaanus Sellin
93395d2c3f
chore: generate orval types (#6699) 2024-03-26 16:38:18 +02:00
Mateusz Kwasniewski
df9229a90c
feat: beta indicator for project insights tab (#6686) 2024-03-26 08:55:35 +01:00
Mateusz Kwasniewski
d4f52cdb54
refactor: remove change requests from project insights api (#6685) 2024-03-25 14:44:32 +01:00
Mateusz Kwasniewski
501da974d6
feat: fetch change request overview in project overview (#6683) 2024-03-25 14:02:06 +01:00
Mateusz Kwasniewski
888a5c1283
feat: project overview change requests (#6679) 2024-03-25 10:00:31 +01:00
Mateusz Kwasniewski
a471f7369c
feat: when insights are enabled hide those widgets in other pages (#6675) 2024-03-22 12:09:31 +01:00
Jaanus Sellin
f5a7cc9125
refactor: fix stats layout and unify components (#6671) 2024-03-22 10:07:44 +02:00
Mateusz Kwasniewski
cf7507db98
fix: Adjust health chart for large values (#6665) 2024-03-21 17:56:34 +01:00
Mateusz Kwasniewski
7ca95295bc
fix: render small values in project health (#6663) 2024-03-21 15:46:17 +01:00
Fredrik Strand Oseberg
8532e08398
fix: default strategy ui update fix (#6652)
This PR fixes a bug where editing the default strategy would not refresh
the resource it was depending on to display the data. This also surfaces
another issue, which is that project settings is using data from the
getProjectOverview hook to display the default strategies in each
environment. This should be it's own resource, but that is beyond the
scope of this PR.
2024-03-21 15:13:23 +01:00
Jaanus Sellin
c41ec49615
feat: remove active/inactive members (#6654)
![image](https://github.com/Unleash/unleash/assets/964450/769ef8bb-834d-4917-898f-b2ba17a9062b)
2024-03-21 11:27:37 +02:00
Jaanus Sellin
0c0530ddcf
feat: make table scrollable (#6632) 2024-03-20 15:29:15 +02:00
Jaanus Sellin
99b5db1691
feat: connect lead time with backend (#6629) 2024-03-20 14:40:57 +02:00
Mateusz Kwasniewski
6dc6e36084
feat: expose stats, health and flag types insights (#6630) 2024-03-20 13:34:48 +01:00
Jaanus Sellin
1becfc0202
feat: project members widget (#6628)
![image](https://github.com/Unleash/unleash/assets/964450/7e27dbab-da24-44b2-8336-36df9660bd78)
2024-03-20 14:30:27 +02:00
Mateusz Kwasniewski
f0e5d075a7
feat: Fetch backend api data insights (#6622) 2024-03-20 10:54:21 +01:00
Fredrik Strand Oseberg
bb847e2935
chore: move project stats (#6602)
Add stats to project insights. Will follow up with UI enhancements in a
later iteration.

<img width="1408" alt="Skjermbilde 2024-03-19 kl 13 19 18"
src="https://github.com/Unleash/unleash/assets/16081982/f4726635-99eb-4f27-8c31-5c6d402f2ceb">
2024-03-19 14:27:42 +01:00
Mateusz Kwasniewski
aeb6291863
feat: change request insights for oss and pro (#6608) 2024-03-19 13:43:43 +01:00
Jaanus Sellin
407b348a45
feat: flag types used for project insights (#6607)
![image](https://github.com/Unleash/unleash/assets/964450/b9eecb3e-eb02-4cc7-96eb-033c010734c0)
2024-03-19 14:21:54 +02:00
Mateusz Kwasniewski
84005e27cc
feat: change request insights widget (#6606) 2024-03-19 12:21:06 +01:00
Mateusz Kwasniewski
52363f176a
feat: project health card (#6595) 2024-03-19 09:01:27 +01:00
Mateusz Kwasniewski
72758605b0
feat: project health chart (#6594) 2024-03-18 15:44:57 +01:00