1
0
mirror of https://github.com/Unleash/unleash.git synced 2024-10-18 20:09:08 +02:00
Commit Graph

41 Commits

Author SHA1 Message Date
Nuno Góis
9bf3e09d5a
fix: improve UI, simplify code (#2505)
https://linear.app/unleash/issue/2-446/ui-simplify-design-with-some-improvements
2022-11-23 09:17:03 +02:00
Nuno Góis
9f4b34367c
fix: secondary button should say "cancel" instead of "close" (#2496)
Small fix after talking with @NicolaeUnleash
2022-11-22 12:33:03 +00:00
Simon Hornby
2a4ca96da2
Permission for variant environments (#2490)
adds permissions for variants per environment
2022-11-22 11:54:04 +02:00
Thomas Heartman
d5fbd0b743
refactor: move docs into new structure / fix links for SEO (#2416)
## What

This (admittedly massive) PR updates the "physical" documentation
structure and fixes url inconsistencies and SEO problems reported by
marketing. The main points are:

- remove or move directories : advanced, user_guide, deploy, api
- move the files contained within to the appropriate one of topics,
how-to, tutorials, or reference
- update internal doc links and product links to the content
- create client-side redirects for all the urls that have changed.

A number of the files have been renamed in small ways to better match
their url and to make them easier to find. Additionally, the top-level
api directory has been moved to /reference/api/legacy/unleash (see the
discussion points section for more on this).

## Why

When moving our doc structure to diataxis a while back, we left the
"physical' files lying where they were, because it didn't matter much to
the new structure. However, that did introduce some inconsistencies with
where you place docs and how we organize them.

There's also the discrepancies in whether urls us underscores or hyphens
(which isn't necessarily the same as their file name), which has been
annoying me for a while, but now has also been raised by marketing as an
issue in terms of SEO.

## Discussion points

The old, hand-written API docs have been moved from /api to
/reference/api/legacy/unleash. There _is_ a /reference/api/unleash
directory, but this is being populated by the OpenAPI plugin, and mixing
those could only cause trouble. However, I'm unsure about putting
/legacy/ in the title, because the API isn't legacy, the docs are. Maybe
we could use another path? Like /old-docs/ or something? I'd appreciate
some input on this.
2022-11-22 09:05:30 +00:00
Nuno Góis
93bd9d869a
Variants per environment (frontend) (#2453)
![image](https://user-images.githubusercontent.com/14320932/202286759-b9c30228-59cc-4c58-a7b0-3c6c3d0ecba6.png)
## About the changes

https://linear.app/unleash/issue/2-425/variants-crud-new-environment-cards-with-tables-inside-add-edit-and

Basically created parallel components for the **variants per
environments** feature, so both flows should work correctly depending on
the feature flag state. Some of the duplication means that cleanup
should be straightforward - Once we're happy with this feature it should
be enough to delete
`frontend/src/component/feature/FeatureView/FeatureVariants/FeatureVariantsList`
and do some little extra cleanup.

I noticed we had some legacy-looking code in variants, so this involved
*some* rewriting of the current variants logic. Hopefully this new code
looks nicer, more maintainable, and more importantly **doesn't break
anything**.

Relates to [roadmap](https://github.com/orgs/Unleash/projects/10) item:
#2254

### Important files
Everything inside the
`frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants`
folder.
2022-11-18 11:43:24 +00:00
olav
e002bd5c81
feat: add counter to variants table (#2029) 2022-08-31 16:01:46 +02:00
olav
30ac482d7a chore: update mui (#1173) 2022-08-01 13:02:56 +02:00
Fredrik Strand Oseberg
d4fcf52020 feat/playground-second-iteration (#1139)
* fix: rearrange ui

* fix: make request on load

* fix: default to the first environment

* feat: add codemirror

* fix: layout

* fix: styling

* feat: add popover

* feat: variant popover

* fix: add sticky

* feat: resolve input

* refactor: date field

* fix: move deps

* fix: clean up any

* fix: resolve import

* fix: hide columns on mobile

* fix: search style

* fix: rename styles

* fix: PR comments

* fix: add popover for guidance

* fix: guidance popover

* fix: verbose function

* fix: wording

Co-authored-by: Tymoteusz Czech <2625371+Tymek@users.noreply.github.com>
2022-07-22 13:15:28 +02:00
olav
5ff790aa81 fix: make variant payload text box multiline (#1060)
* fix: make variant payload text box multiline

* refactor: adjust min/max rows

* refactor: use fixed number of rows to avoid MUI render loop bug
2022-06-06 09:13:05 +02:00
olav
32ada96220 fix: disable project access tab when no access (#1057)
* refactor: remove unused import

* fix: disable project access tab when no access

* refactor: improve access denied text
2022-06-03 08:14:47 +02:00
Nuno Góis
682921d5bf fix: misc ui fixes post tables upgrade (#1049)
* fix: misc ui fixes post tables upgrade

* fix: update snaps, small cleanup

* refactor: ReportCard to styled, misc improvements

* cleanup remaining styles file

* rename `Feature Toggle Name` to just `name`

* refactor: address PR comments
2022-06-02 08:21:51 +01:00
Fredrik Strand Oseberg
7c52f0fcc8 feat: new variants table (#1025)
* fix: cleanup

* fix: text

* fix: stable references

* refactor: fix VARIANT_WEIGH test id

* refactor: fix variant element selection in e2e test

* fix: update variants table

* fix: refactor action cell

Co-authored-by: olav <mail@olav.io>
2022-05-31 13:45:04 +02:00
olav
52e25bd632 fix: correct type for variant stickiness dropdown 2022-05-11 10:35:34 +02:00
olav
9902494f58 refactor: improve tooltip styles after MUI update (#966)
* refactor: add missing event arg type

* refactor: fix project card popup position

* refactor: add tooltip arrows

* refactor: update snapshot

* refactor: add missing tooltips

* refactor: use a custom Autocomplete size in AutocompleteBox
2022-05-09 15:17:20 +02:00
olav
d8143c6ff4 chore: update react-router to v6 (#946)
* refactor: fix child selector warnings

* refactor: update react-router-dom

* refactor: use BrowserRouter as in react-router docs

* refactor: replace Redirect with Navigate

* refactor: replace Switch with Routes

* refactor: replace useHistory with useNavigate

* refactor: replace useParams types with useRequiredPathParam

* refactor: replace NavLink activeStyle with callback

* refactor: fix matchPath arg order

* refactor: Remove unused link state

* refactor: delete broken snapshot test

* refactor: render 404 page without redirect

* refactor: normalize path parameter names

* refactor: fix Route component usage
2022-05-05 13:42:18 +02:00
olav
24c11332b5 chore: update MUI to v5 (#923)
* refactor: update mui packages

* refactor: run mui codemods

* refactor: format files after codemods

* refactor: fix broken types

* refactor: clean up theme

* refactor: fix broken tests

* refactor: replace @mui/styles with tss-react

* refactor: move breakpoints into classes for tss

* refactor: fix crash on missing feature description

* refactor: remove void classNames

* refactor: adjust styles to new defaults

* refactor: remove broken rollout slider e2e test

* refactor: fix duplicate e2e testid

* refactor: update makeStyles after rebase

* refactor: add missing snapshot after rebase

* refactor: fix TableCellSortable focus styles

* refactor: use 1.4 as the default line-height

* refactor: hide webkit search field icons

* refactor: fix select box label

* refactor: make AutocompleteBox smaller

* refactor: make heading smaller

* refactor: fix toast close icon color

* refactor: update snapshots

* refactor: add missing test event awaits

* refactor: fix default button line-height
2022-05-02 15:52:41 +02:00
Tymoteusz Czech
23a874d051 Refactor: convert jsx files to typescript (#881)
* refactor: convert remaining js files to typescript

* refactor: conditionally render remove index

* refactor: dialog component to tsx

* refactor: migrate some files from jsx to tsx

* refactor: convert dropdown element to tsx

* refactor: feature toggle list to tsx

* refactor: update context name in use overrides

* refactor: variant overrides to tsx

refactor: remove unused strategy constraint file

* fix: tsx imports

* fix: update refectored components after rebase

* refactor: rename report list files to tsx

* fix: project health list types

* refactor: addon form - add types

* refactor: copy feature component types

* fix: projects toggle style after tsx refactor

* refactor: update ts types from openapi

* fix: ts refactor changes after review

* fix: header title prop

* fix: update after PR comments

* add test to useoverrides hook

* fix conditionally render time ago

* fix: toggle list empty tooltip

* fix: remove unused variable

* remove unused variable

* fix: remove faulty snapshot
2022-05-02 12:52:33 +02:00
olav
96ccc24b8b refactor: fix override field selection (#925) 2022-04-29 13:51:25 +02:00
olav
f7266cde10 fix: announce navigation to screen readers (#911)
* refactor: unify page titles

* refactor: update page title on navigation

* refactor: add AnnouncerContext to test contexts

* fix: announce navigation to screen readers
2022-04-27 09:14:44 +02:00
olav
984e75a03b refactor: make help tooltip icons focusable (#905)
* refactor: restore rollout slider focus state

* refactor: fix disconnected form field labels

* refactor: make help tooltip icons focusable
2022-04-25 09:24:09 +02:00
olav
2e5e25bfe5 refactor: improve icon labels and tooltips (#884) 2022-04-21 08:26:49 +02:00
olav
9bb0ce8cad refactor: improve GeneralSelect prop types (#883)
* refactor: improve GeneralSelect prop types

* refactor: Remove unused propTypes
2022-04-20 11:47:17 +02:00
olav
b5db7b8326 fix: make sure the override context name exists (#877) 2022-04-13 12:50:21 +02:00
olav
49b8e7329e refactor: convert auth tests from Cypress to Jest (#864)
* refactor: replace data-test with data-testid

* refactor: add Jest tests for auth pages

* refactor: remove Cypress tests for auth pages

* refactor: remove questionable snapshots

* refactor: share test server setup/teardown

* refactor: restore auth page flex layout

* refactor: use toBeInTheDocument

* refactor: change recent data-test attrs to data-testid
2022-04-08 13:13:45 +02:00
Tymoteusz Czech
b23226370a feat: multi-project api access tokens (#857)
* fix: general select component typings

* custom multi-select for projects

* autocomplete element for token projects

* project multi-select with error handling

* projects in tokens list update

* multi-project tokens - select all button

* fix conflicting typescript changes

* improve multi-projects tokens form after review

* refactor multi-project select code structure

* test api token list projects column element

* simplify test renderer
2022-04-08 12:26:44 +02:00
olav
f309553a5f refactor: port some things to TS (#833)
* refactor: remove unused securityLogger

* refactor: port commonStyles to TS

* refactor: port testIds to TS

* refactor: move app.css into themes

* refactor: use absolute import paths

* refactor: port LayoutPicker to TS

* refactor: port routes to TS

* refactor: port ScrollTop to TS

* refactor: update unused/missing ScrollTop exceptions

* refactor: remove unused route flags field

* refactor: change constants ext to TS

* refactor: remove unused testData file

* refactor: port styles to TS

* refactor: wait before typing in auth spec
2022-04-01 10:28:15 +02:00
Youssef Khedher
85950f104a chore: update paths 🧼 (#820) 2022-03-28 09:49:59 +01:00
olav
cfc2338e78 refactor: use camel case for files and dirs (#817) 2022-03-25 12:34:20 +01:00
olav
419f655ef5 refactor: improve feature not found page (#774)
* refactor: improve feature not found page

* refactor: fix feature cache mutation mismatch
2022-03-10 10:52:50 +01:00
olav
baae88c7a5 feat: add new feature strategy create/edit pages (#739)
* refactor: add param helper hooks

* refactor: remove first add strategy link

* refactor: add more types to useStrategies

* refactor: port strategy utils to TS

* refactor: replace rollout strategy icon

* refactor: use a named export for useFeature

* refactor: add more types to useFeature

* refactor: adjust code box styles

* refactor: add missing PermissionButton variant prop

* refactor: add missing button icon label

* refactor: move common feature components

* refactor: fix StrategyConstraints error prop types

* refactor: fix GeneralStrategy prop types

* feat: add new feature strategy create/edit pages

* refactor: remove feature strategies page

* refactor: fix types in GeneralStrategy

* refactor: use ConstraintAccordion on the new pages

* refactor: use ConditionallyRender for remove button

* refactor: rename FeatureStrategyForm component

* refactor: use the Edit icon for feature strategies

* refactor: fix initial edit mode for new constraints

* refactor: add FeatureStrategyMenu to closed accordions

* refactor: allow editing multiple constraints

* refactor: show single-valued constraint value

* refactor: increase feature overview strategy width

* refactor: add remove button to feature overview strategies

* refactor: move createEmptyConstraint to own file

* refactor: disable submit button for invalid constraints

* refactor: fix nested paragraphs on the metrics page

* refactor: move create/edit feature strategy to modal

* refactor: always open new constraints in edit mode

* refactor: use a PermissionButton for the save button

* refactor: remvoe unsaved constraints on cancel

* refactor: clarify useConstraintsValidation logic

* refactor: remove unused strategy descriptions

* refactor: restore Rollout icon

* refactor: remove sidebar modal slide animation

* refactor: avoid constraint accordion toggle on edit/delete

* refactor: truncate long strategy names

* refactor: find the correct remove button
2022-03-09 14:59:24 +01:00
Youssef Khedher
15bd0fbc84 feat: validate json (#764)
* feat: add isJSON function

* feat: validate JSON input

* feat: add JSON code editor

* feat: add error message for JSON payload

* feat: validate JSON input

* fix: merge conflict

* fix: conflict in AddFeatureVariant

* refactor: remove code editor for JSON input

* fix: update PR based on feedback

* fix: revert yarn.lock

* fix: revert yarn.lock

* fix: update PR based on feedback

* fix: styles

* fix: json input error message

* fix: remove ts-expect-error

* refactor: change inputProps type

* fix: import InputProps
2022-03-07 13:44:46 +01:00
Fredrik Strand Oseberg
2c1353d0ea Feat/new constraints (#718)
* fix: add initial interface

* feat: create separate components

* feat: implement constraints for existing strategies

* feat: add searchfield

* fix: reset values on context change

* fix: key issue with duplicate values

* fix: increase auto hide duration of errors

* fix: types

* feat: resolve inputs

* fix: add date input

* fix: add filter

* fix: create strategy

* fix: remove unused deps

* feat: validation

* fix: type setError

* feat: handle currentTime based on client spec

* fix: date field

* feat: api validation

* fix: refactor

* fix: refactor

* feat: add compact

* fix: remove unused code

* feat: mobile optimisations

* fix: remove coalescing operator for constraint

* fix: clone deep

* fix: move parseDate

* fix: lift state up for value setting on dates

* fix: rename values

* fix: change type to interface

* fix: lazy initialise values

* fix: create operator type

* fix: update naming

* fix: naming

* fix: aria hidden

* fix: remove optional operator

* fix: rename new constraints

* fix: setup flag

* fix: refactor date check to date-fns

* fix: use date-fns for validation

* fix: detach validators from state

* refactor: move resolve input to it's own component

* fix: remove unused imports

* fix: change values container to overflow auto

* fix: update placeholder

* fix: update import

* fix: backwards compatability

* fix: hide paragraphs if not active

* fix: update path

* fix: update strategy text
2022-03-04 17:29:51 +01:00
olav
b3bf86ca84 refactor: expect existing TS errors (#767)
* refactor: expect existing TS errors

* refactor: fail build on new TS errors
2022-03-03 10:01:04 +01:00
olav
b9a3be7b3a refactor: fix misc TS errors (#754)
* refactor: fix PermissionSwitch event types

* refactor: fix variant payload field name

* refactor: fix IPermissionSwitchProps extension

* refactor: add missing types in AddFeatureVariant

* refactor: remove duplicate type

* refactor: fix FeatureToggleListNewItem ref type

* refactor: fix CreatedAt date prop type

* refactor: add missing anchorEl ref types

* refactor: fix createdAt prop value

* refactor: fix IFeatureToggleListNewItemProps environments prop type

* refactor: add missing ISelectOption type

* refactor: fix ResponsiveButton prop types
2022-03-01 13:22:47 +01:00
Youssef Khedher
a3f439ea17 Merge branch 'main' into fix/ui-consistency 2022-02-25 13:54:11 +01:00
olav
3959e846e8 refactor: fix misc TS errors (#729)
* refactor: update test deps

* refactor: remove unused ts-expect-error annotations

* refactor: add missing arg and return types

* refactor: the loading prop is optional

* refactor: add missing arg and return types

* reafactor: fix value arg type

* refactor: fix missing array type

* refactor: the parameters field is an array

* refactor: use undefined instead of null in state

* refactor: add missing params type

* refactor: add missing children prop

* refactor: add missing array type

* refactor: add missing React imports

* refactor: use correct IProjectEnvironment type

* refactor: type errors as unknown

* refactor: the index prop is required

* refactor: fix date prop type

* refactor: fix tooltip placement prop type

* refactor: fix environments state type

* refactor: add missing arg types

* refactor: add guard for undefined field

* refactor: fix ChangePassword prop types

* refactor: fix MUI import paths

* refactor: add missing arg type

* refactor: fix showDialog prop type

* refactor: remove unused openUpdateDialog prop

* refactor: add missing non-null assertion

* refactor: remove unused types prop

* refactor: stricten API error handler types

* refactor: add missing undefined check

* refactor: add missing IProject id field

* refactor: fix ConditionallyRender condition prop types

* refactor: remove unused args

* refactor: add AddVariant prop types

* refactor: add types to UIContext

* refactor: fix event arg type

* refactor: add missing default impressionData field

* refactor: fix handleDeleteEnvironment prop args

* refactor: fix IFeatureMetrics field requirements

* refactor: add missing element types to ConditionallyRender

* refactor: remove unused ProjectAccess projectId prop

* refactor: add missing undefined check

* refactor: fix getCreateTogglePath arg type

* refactor: add missing IStrategyPayload import

* refactor: remove unused user arg

* refactor: add missing event arg type

* refactor: add missing style object types

* refactor: improve userApiErrors prop type

* refactor: the Dialogue onClose prop is optional

* refactor: fix the AddonEvents setEventValue prop type
2022-02-25 10:55:39 +01:00
Youssef
aae8c4d9d9 refactor: update text in ui consistent 2022-02-23 00:10:48 +01:00
olav
016633dae9 refactor: format files (#719)
* refactor: fix deprecated prettier config name

* refactor: add fmt scripts

* refactor: check fmt during CI

* refactor: format files
2022-02-18 09:51:10 +01:00
olav
010f766de9 refactor: replace ts-ignore with ts-expect-error (#681)
* refactor: replace ts-ignore with ts-expect-error

* refactor: remove unused ts-expect-errors
2022-02-09 13:39:18 +01:00
olav
dd37100302 refactor: port unleash context to SWR (#683)
Co-authored-by: Fredrik Strand Oseberg <fredrik.no@gmail.com>
2022-02-09 12:56:59 +01:00
Fredrik Strand Oseberg
18287cdbd0 Fix/cleanup unused code (#651)
* fix: remove unused context code

* fix: refactor users

* fix: rename delete user

* fix: rename frontend

* fix: update feature view path

* fix: cleanup create feature

* fix: cleanup feature views

* fix: cleanup feature strategies

* fix: update paths

* fix: remove unused strategy components

* fix strategies link

* fix: update snapshots

* fix: import paths

* fix: add name to useEffect dependency
2022-02-04 10:36:08 +01:00