1
0
mirror of https://github.com/Unleash/unleash.git synced 2024-12-28 00:06:53 +01:00
Commit Graph

348 Commits

Author SHA1 Message Date
Tymoteusz Czech
10eb500360
Custom event tracking (#2151)
* add plausible custom event tracking

* refactor: better comments for analytics tracking
2022-10-10 14:06:44 +02:00
Nuno Góis
dc2f611257
fix: PAT secret no longer returned (except new), use id instead (#2162)
* fix: PAT secret no longer returned (except new), use id instead

* fix types
2022-10-10 12:51:12 +01:00
Tymoteusz Czech
879e1358ef
feat: frontend app error boundary (#2144)
* feat: frontend app error boundary

* fix: freeze added dependency

* update yarn lock
2022-10-10 12:18:37 +02:00
Fredrik Strand Oseberg
3d90a3d070
fix: equality check on feature strategy (#2145)
fix: add ability to format objects to perform equality checks on
2022-10-06 14:39:56 +02:00
Nuno Góis
ddcfe132e4
feat: new profile page and PATs front-end (#2109)
* feat: new user dropdown and profile page

* fix: add popup boxShadow to dark-theme

* fix: update routes snap

* refactor: move some tab specific logic into tabs component

* add useProfile hook example

* fix profile tab header (no name)

* fix: hide user popup when clicking profile link

* - add PATs to profile;
- add route logic to profile;
- refactor TimeAgoCell title;
- misc fixes and refactoring;

* add profile info to profile tab

* simplify req paths

* add PAT flag to the front-end

* fix: some UI adjustments

* change user popup buttons to links

* fix profile on front-end, add role description

* update delete PAT text

* address some PR comments

* address PR comments

* some more UI fixes and refactoring

* move password request to API hook
2022-10-03 10:49:52 +01:00
Gard Rimestad
ba8bdc585a
fix: url encode application name in links (#2121)
* fix: url encode application name in links

This ensures that we url encode application names for our links.
2022-09-30 15:53:02 +02:00
Tymoteusz Czech
47152cf05b
Feat/invite user (#2061)
* refactor: user creation screen cleanup

* feat: deprecation notice for google sso

* fix: docs openid typo

* invite link bar

* invite link page

* fix prettier docs

* regenerated openapi

* hooks for invite page api

* update openapi

* feat: invite link update

* feat: add public signup token soft-delete

* public signup frontend feature flag

* fix: new user api issues

* feat: allow for creating new user from invite link

* Feat/invite user public controller (#2106)

* added PublicInviteController for public urls

* added PublicInviteController for public urls

* added PublicInviteController for public urls

* added PublicInviteController for public urls

* fix test

* fix test

* update openapi

* refactor: password reset props

* fix: public invite schema and validation

Co-authored-by: Fredrik Strand Oseberg <fredrik.no@gmail.com>

* user invite frontend

Co-authored-by: Fredrik Strand Oseberg <fredrik.no@gmail.com>

* invite link delete confirmation dialog

* refactor: password reset action

* fix: new user invite loading state

* fix: run ts check with ci

* revert openapi changes

* fix: invite token api interface

* fix: openapi schema index

* fix: update test snapshots

* update frontend snapshot

* fix: prettier ci

* fix: updates after review

Co-authored-by: andreas-unleash <104830839+andreas-unleash@users.noreply.github.com>
Co-authored-by: Fredrik Strand Oseberg <fredrik.no@gmail.com>
2022-09-30 13:01:32 +02:00
Fredrik Strand Oseberg
54633500fd
Feat/use collaborate data (#2067)
* feat: initial architecture

* feat: add generic types

* fix: refactor

* feat: style notification

* feat: remove useFeatureImmutable

* fix: remove casting

* fix: ensure data is present

* fix: revive useFeatureImmutable

* Update frontend/src/component/common/StaleDataNotification/StaleDataNotification.tsx

Co-authored-by: Nuno Góis <github@nunogois.com>

* Update frontend/src/component/common/StaleDataNotification/StaleDataNotification.tsx

Co-authored-by: Nuno Góis <github@nunogois.com>

* Update frontend/src/component/common/StaleDataNotification/StaleDataNotification.tsx

Co-authored-by: Nuno Góis <github@nunogois.com>

* Update frontend/src/component/common/StaleDataNotification/StaleDataNotification.tsx

Co-authored-by: Nuno Góis <github@nunogois.com>

* Update frontend/src/component/common/StaleDataNotification/StaleDataNotification.tsx

Co-authored-by: Nuno Góis <github@nunogois.com>

* fix: pr comments

* fix: change order

Co-authored-by: Nuno Góis <github@nunogois.com>
2022-09-16 15:23:08 +02:00
Tymoteusz Czech
ce3db75133
Create Signup page for users from Invite link (#2052)
* refactor: user creation screen cleanup

* feat: deprecation notice for google sso

* fix: docs openid typo

* user invite hook mock
2022-09-14 11:42:20 +02:00
Christopher Kolstad
ae19cae8a9
feat: add count to event list (#2036)
* feat: add count to event list
2022-09-02 08:35:31 +02:00
olav
ae3d6c06cf
refactor: simplify login redirect logic (#1987) 2022-08-30 09:54:52 +02:00
olav
4d283f953d
refactor: rename Strategies to Strategy types on the frontend (#1990) 2022-08-30 09:21:31 +02:00
Fredrik Strand Oseberg
6818a82cd1 Feat/dark mode exp (#1137)
* feat: add dark mode theme

* fix: feature metrics

* fix: add color

* styling

* fix: add switch

* fix: form sidebar

* fix: remove console log

* fix: add properties

* fix: strategy container

* feat: feature flag

* fix: tests

* fix: build

* fix: logo

* fix: icon

* fix: update snapshots

* fix: CES operator

* fix: typography

* fix: input styling

* fix: remove initial load

* fix: change flag name

* fix: refactor to custom hook

* fix: remove unused import

* fix: dialog headers

* fix: use uiConfig flags instead of flags
2022-08-23 14:20:02 +02:00
olav
e6b72ff4a0 feat: add CORS instance settings (#1239)
* feat: add CORS instance settings

* refactor: hide the CORS page when embedProxy is false
2022-08-23 14:04:09 +02:00
olav
523807359e fix: sort strategy parameters payload (#1218)
* refactor: improve useStrategy fetch hook

* fix: sort strategy parameters payload

* refactor: move React import to the top

* refactor: fix refetchStrategy name
2022-08-12 14:49:26 +02:00
Nuno Góis
3200fee963 fix: remove group owner concept (#1210)
* fix: remove group owner concept

* fix: adapt e2e tests accordingly

* refactor users select to match improvement

* refactor: add user -> edit users

* feat: add edit users to group card actions

* add a few more UI improvements

* fix: edit group users icon

* improve loading behaviour

* fix group users refresh on card view

* improvement: create group form validation

* fix edit group, some refactoring

* fix: e2e tests, minor bugs

* fix: infinite re-renders due to useHiddenColumns useEffect array dependency

* fix re-rendering on useHiddenColumns for some tables

* refactor: validations into functions / variables
2022-08-11 15:34:17 +01:00
andreas-unleash
e46b75edf0 Merge branch 'main' into task/Add_strategy_information_to_playground_results 2022-08-09 18:04:14 +03:00
andreas-unleash
a4c6ae2077 Added unknown evaluation state to table
Moved playground.model.ts to Playground folder
2022-08-09 17:41:43 +03:00
olav
b3ac69a2c8 feat: add search to event log pages (#1205)
* feat: add search to event log pages

* refactor: redesign event log pages

* refactor: convert makeStyles to styled components
2022-08-09 16:00:51 +02:00
olav
840d5a54dd refactor: remove UI bootstrap endpoint (#1212) 2022-08-09 15:37:26 +02:00
andreas-unleash
18afc34f85 fix build 2022-08-08 16:21:23 +03:00
andreas-unleash
74ccde2096 Merge branch 'main' into task/Add_strategy_information_to_playground_results 2022-08-08 14:07:08 +03:00
sjaanus
c99470ec4e Feat/groups refinements (#1197)
* Improvements

* Double icon for group

* Hide columns

* Refinements

* Refinements

* Reduce padding

* Add projectId

* Fixes

* Make useHiddenColumns component
2022-08-05 13:10:53 +00:00
andreas-unleash
97b0d76002 Merge branch 'main' into task/Add_strategy_information_to_playground_results 2022-08-04 15:03:21 +03:00
Nuno Góis
672a3f0b92 fix: group project access inconsistencies (#1178)
* fix: group project access inconsistencies

* fix relative path

* wip

* refactor: make project tabs work as routes

* refactor: finish refactoring project assign forms

* fix: update snaps

* fix: update snaps

* add some basic cypress e2e tests to groups

* add remaining cypress e2e tests for group CRUD

* add groups e2e to gh workflows

* refactor: simplify useMemo usage

* add GO_BACK navigate const

* fix: remove trailing slash on user creation request

Co-authored-by: olav <mail@olav.io>
Co-authored-by: Fredrik Strand Oseberg <fredrik.no@gmail.com>
2022-08-04 12:57:25 +01:00
andreas-unleash
1b23124762 Merge branch 'main' into task/Add_strategy_information_to_playground_results 2022-08-04 14:53:05 +03:00
olav
59c8822cf2 fix: validate feature strategy parameters (#1192)
* refactor: extract InputCaption component

* refactor: split up GeneralStrategy component

* refactor: fill inn more default feature strategy parameter values

* fix: validate feature strategy parameters

* refactor: fix duplicate keys in strategy icon list

* refactor: expand variable names

* refactor: remove unnecessary useMemo

* refactor: use captions instead of tooltips for boolean parameter descriptions

* refactor: improve strategy definition form spacing
2022-08-04 13:34:30 +02:00
andreas-unleash
e36cb753de updated models to latest - refactoring 2022-08-04 14:27:30 +03:00
andreas-unleash
2bd239f481 fmt and lint 2022-08-04 14:15:57 +03:00
andreas-unleash
76b33cdd11 bug fixes and linting 2022-08-03 14:54:13 +03:00
andreas-unleash
0d083231a3 parameter handling 2022-08-03 14:03:04 +03:00
andreas-unleash
42fbc27148 bug fixes, improvements and env handling 2022-08-02 11:57:23 +03:00
andreas-unleash
2895516dda fmt 2022-07-29 12:05:40 +03:00
andreas-unleash
a0a7c83366 Playground context value 2022-07-29 11:16:14 +03:00
andreas-unleash
352a4cca13 Playground result info structure and initial styles 2022-07-28 19:23:38 +03:00
Tymoteusz Czech
c70b38a62a Feature toggle page update (#1140)
* feat: add icon to custom strategies

* feat: update feature toggle screen layout

* strategy and constraints separators

* style disabled envirnments

* strategy constraint style

* strategy drag and drop

* feature env emtpy state

* quick add strategy api

* reorder strategies api integration

* feature strategy header title

* openapi update

* style small chip component

* fix comments after review

* fix issues with strategy constraint operators

* Revert "openapi update"

This reverts commit 27e7651ebae26f61ca76ec910e1f209bae7f2955.

* fix tooltip ref
2022-07-27 10:00:15 +00:00
sjaanus
00ab52875e Delete archived toggles from the front end (#1150)
* Grouping fix grid not showing user names

* Remove deprecated access endpoints

* Manual prettier

* Revert user role update

* Add a way to delete archived toggles from the front end

* Fix layout

* Add project to permissionbutton

* Prettier

* Minor fixes

* Run prettier
2022-07-27 07:46:12 +00:00
Fredrik Strand Oseberg
e59d516aae Merge branch 'main' into task/constraint_card_adjustmnets 2022-07-26 14:47:35 +02:00
sjaanus
ec544a02f2 Grouping access endpoint (#1152)
* Grouping access endpoint

* Remove default values
2022-07-26 12:02:54 +00:00
andreas-unleash
a13e771f0e Lint and fmt 2022-07-26 13:39:58 +03:00
Nuno Góis
65c0580519 fix: pro flow stripe integration refinements (#1149) 2022-07-26 08:50:27 +01:00
sjaanus
e95825a000 Feat/grouping fixes (#1146)
* Grouping fix grid not showing user names

* Remove deprecated access endpoints

* Manual prettier

* Revert user role update
2022-07-25 10:14:02 +00: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
Nuno Góis
df6208e309 feat: add user groups (#1130)
* feat: add user groups table

* add groups and group view

* fix top level await on mock data

* add UG flag

* create group files, refactor group cards

* add generic badge component

* adapt hooks to use endpoints

* implement basic create group

* fix: update snap

* fix: type id as string for now

* implement create group, use api, refactoring

* add stars to group owners

* refactor GroupForm.tsx to use styled components

* feat: remove group

* add edit group

* add group card actions

* feat: edit and remove group users

* add users to groups

* Initial commit

* refine project access table

* add project access group view

* Take users and groups from backend

* Add onsubmit

* new project access, assign and edit

* fix EditGroup, Group

* Finish assigning roles in project

* List assigned projects in group card

* Run prettier

* Add added column to project access table

Co-authored-by: Jaanus Sellin <jaanus@getunleash.ai>
Co-authored-by: sighphyre <liquidwicked64@gmail.com>
2022-07-22 07:31:08 +00:00
Tymoteusz Czech
9d74fd976d Refine playground form (#1136)
* integrate results table with playground form

* fix playground api integration

* fix: playground loading state from api
2022-07-13 14:35:43 +00:00
Tymoteusz Czech
9522c59674 Refactor project health table (#1098)
* minor archive table updates

* archived date cell

* archive import paths

* move project health table files

* fix: align actions cells

* simplify health table row mapping

* fix project pages browser tab title

* initial draft of virtualized table component

* refactor: virtualized table common component

* fix: health report name cell width

* refactor: report cell paths
2022-06-21 09:08:37 +02:00
Tymoteusz Czech
51e5939f68 feat: Align switches in table actions (#1082)
* feat: strateges state changing switch

* refactor: ActionCell for table

* fix: remove image clipping for webhook icons

* feat: align addons switch in table

* feat: align enviromnemnts table switch

* fix: disallow turning off protected environment

* refactor: move environment table sub-components

* feat: add predefined badge to default environment

* feat: environment reorder handle hightlight

* fix: environment table padding when searching

* Update src/hooks/api/actions/useStrategiesApi/useStrategiesApi.ts

Co-authored-by: olav <mail@olav.io>

* refactor: toggle addon promise

* remove dragging highlight

* fix: strategy switch tooltip

* fix: switch tooltips

Co-authored-by: olav <mail@olav.io>
2022-06-14 12:32:16 +00:00
Fredrik Strand Oseberg
bd4651b9ca Merge branch 'main' into archive_table 2022-06-10 16:22:07 +02:00
olav
2d24d92f5a fix: resolve issues with project edit/delete button conditions (#1084)
* fix: fix UPDATE_PROJECT permission checks for editors

* fix: disable delete button for the default project

* fix: warn about access on edit project page

* fix: hide broken project edit/delete buttons for OSS

* refactor: avoid project card clicks when closing modals

* refactor: improve default project deletion message

* refactor: improve project access error text

* Update src/component/project/ProjectCard/ProjectCard.tsx

Co-authored-by: Thomas Heartman <thomas@getunleash.ai>

* refactor: fix string quotes

* refactor: improve disabled menu item contrast

* refactor: remove Enterprise routes for OSS

Co-authored-by: Thomas Heartman <thomas@getunleash.ai>
2022-06-10 16:09:50 +02:00
andreas-unleash
cb7ff9372e Merge branch 'main' into archive_table 2022-06-10 09:24:20 +03:00
olav
3add10ccbe refactor: simplify error toast text (#1081)
* refactor: simplify error toast text

* refactor: simplify 404 error text
2022-06-09 15:36:01 +02:00
andreas-unleash
27fd367199 Merge branch 'main' into archive_table 2022-06-09 12:43:50 +03:00
Tymoteusz Czech
608171ce93 Improve table performance (#1061)
* improve table performance

* revert to react-router navigation
2022-06-09 11:34:55 +02:00
andreas-unleash
d50edfa294 remove dead code 2022-06-08 14:47:44 +03:00
andreas-unleash
8e1bf96d04 Merge branch 'main' into archive_table 2022-06-07 10:12:14 +03:00
Tymoteusz Czech
53b12604b8 Search keyboard shortcut (#1048)
* feat: search keyboard shortcut

* fix: search input placeholder snapshot update

* fix: update apple device recognition

Co-authored-by: Nuno Góis <github@nunogois.com>

* refactor: return hotkey from useKeyboardShortcut

* fix: don't close non-empty search field

* Archive table
new sort parameter

* Revert "Archive table"

This reverts commit 171806352c2a01ce439ce7bd77476797d544275c.

* update search field focus

* refactor: clarify hotkey description

* 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

* fix: toggle search on escape only in focused

* fix: add hotkey to custom placeholders

Co-authored-by: Nuno Góis <github@nunogois.com>
Co-authored-by: andreas-unleash <andreas@getunleash.ai>
Co-authored-by: olav <mail@olav.io>
2022-06-06 14:23:48 +02:00
andreas-unleash
9edfc22ae1 Merge remote-tracking branch 'origin/main' into main 2022-06-03 16:21:24 +03:00
andreas-unleash
28cfe4d470 Archive table
new sort parameter
2022-06-03 16:21:12 +03:00
Nuno Góis
4a5ed3c3e7 feat: add filtering capabilities to search (#1052)
* feat: add filtering capabilities to search

Co-authored-by: Fredrik Strand Oseberg <fredrik.no@gmail.com>

* fix: state custom filter

* fix: undefined search crash

* feat: add suggestions component

* make search visible all the time

* fix: update snaps

* refactor, add tests, filterParsing, pass down searchContext to search components

Co-authored-by: Fredrik Strand Oseberg <fredrik.no@gmail.com>

* refactor: TableSearchFieldSuggestions and improvements

* some cleanup and fix edge cases

* adapt new search in project feature toggles

* small ui/ux improvements

* refactor: suggestions into smaller components

* fix: update snaps

* add responsiveness to the search

* fix: update snaps

Co-authored-by: Fredrik Strand Oseberg <fredrik.no@gmail.com>
2022-06-03 11:32:30 +01:00
olav
006b853f6c refactor: get segment limits from uiConfig (#1047)
* refactor: improve useUiConfig return type

* refactor: get segment limits from uiConfig
2022-06-02 10:58:55 +02:00
Tymoteusz Czech
24cb1b21ef Virtualize project toggles list (#1043)
* fix: virtualize project toggles list

* refactor: improve type for feature dialogs

* fix: formatting - prettier
2022-06-01 12:24:24 +00:00
Nuno Góis
570e9f88be feat: upgrade users table (#1040)
* feat: upgrade users table

* fix misc ui/ux bugs

* refactor: address PR comments

* fix: searching by `undefined`

* fix: searching for undefined on invoices, table placeholder centering

* refactor: abstract users list actions into new component

* refactor: move styled components to top of files
2022-05-31 07:59:09 +01:00
olav
eb5e83cdb4 refactor: remove unused code (#1036)
* refactor: remove unused code

* refactor: remove more unused code
2022-05-27 13:28:58 +02:00
olav
25c25c9206 refactor: port tokens list to react-table (#1026)
* refactor: extract ApiTokenDocs component

* refactor: extract CreateApiTokenButton component

* refactor: extract RemoveApiTokenButton component

* refactor: extract CopyApiTokenButton component

* refactor: port tokens list to react-table

* refactor: remove unused imports

* fix: api token table default sort order

* fix: updates to table of api tokens

* fix: add highlighting when searching

Co-authored-by: Tymoteusz Czech <tymek+gpg@getunleash.ai>
Co-authored-by: Nuno Góis <github@nunogois.com>
2022-05-27 08:48:01 +01:00
olav
504a4af274 refactor: port segments list to react-table (#1024)
* refactor: extract SegmentEmpty component

* refactor: extract CreateSegmentButton component

* refactor: extract EditSegmentButton component

* refactor: extract RemoveSegmentButton component

* refactor: normalize Created table header text

* refactor: port segments list to react-table

* fix: improve row text height in table row

* fix: update test snapshots

* refactor table cell with search highlight

* fix: update after review

Co-authored-by: Tymoteusz Czech <2625371+Tymek@users.noreply.github.com>
Co-authored-by: Tymoteusz Czech <tymek+gpg@getunleash.ai>
2022-05-27 08:57:30 +02:00
Nuno Góis
7093b49962 feat: add billing page to admin (#993)
* feat: add billing page to admin

* some adjustments to billing page

* add BillingHistory, remove invoices, misc improvements

* refactor based on instanceStatus logic, add dialog

* fix: cleanup

* some refactoring and alignment with figma

* add extend, isBilling, refactoring and misc improvements

* fix: update tests

* refactor: reorganize billing into smaller components, misc improvements

* add STRIPE flag, some refactoring and adapting to comments and discussion

* adapt BillingHistory slightly, refactor TextCell

* Update src/hooks/api/getters/useInstanceStatus/useInstanceStatus.ts

Co-authored-by: Tymoteusz Czech <2625371+Tymek@users.noreply.github.com>

* refactor: address PR comments

* fix: adjust divider color

* fix: update snaps

* refactor: address PR comments

* fix: update snaps

* fix: amountFormatted typo

Co-authored-by: Tymoteusz Czech <2625371+Tymek@users.noreply.github.com>
Co-authored-by: Fredrik Strand Oseberg <fredrik.no@gmail.com>
2022-05-25 23:26:05 +02:00
Fredrik Strand Oseberg
ded3c22bb1 Feat/new addons table (#1021)
* feat: initial list of available addons

* feat: add columns

* fix: update referential equality

* fix: remove search

* fix: remove unused imports

* fix: padding

* fix: imports

* refactor: based on comments
2022-05-25 15:37:32 +02:00
olav
76ea65b65c refactor: port health reports to react-table (#1017)
* refactor: fix table header sort button focus styles

* refactor: extract FeatureNameCell component

* refactor: port health reports to react-table

* refactor: hide columns on small screens

* refactor: sort features by name
2022-05-25 12:45:30 +02:00
olav
34f848ce8a refactor: replace react-dnd with custom implementation (#988)
* refactor: replace react-dnd with custom implementation

* refactor: add TextCell, IconCell, and ActionCell

* refactor: port environments list to react-table

* refactor: change OfflineBolt to PowerSettingsNew

* refactor: simplify environment toast text

* refactor: improve IToast type type

* refactor: improve useSearchHighlightContext naming

* refactor: clarify enableDragAndDrop logic
2022-05-25 11:40:20 +02:00
Tymoteusz Czech
a11cb72d99 Persistent table query (#999)
* feat: persistent table query

* project overview sort query

* refactor: api methods as hook callbacks

* persitent columns in project overview

* enable new project overview

* fix: refactor feature state change in overview

* add type to sort

* update e2e tests

now takes 10% less time with use of cypress session

* prevent sort reset on features list

* fix feature toggle list loading

* fix: update column state saving

* update local storage hook test
2022-05-25 08:14:22 +00:00
olav
b742a69c4c refactor: improve OpenAPI refs (#1005)
* refactor: regenerate OpenAPI client

* refactor: update usage of OpenAPI client
2022-05-24 08:37:46 +02:00
Tymoteusz Czech
6d130f61f6 feat: new contexts table (#998)
* feat: new contexts table

* improve context list actions

* refactor: disabled icon colors

* fix: update snapshots

* fix: icons

* fix: context fields typo
2022-05-20 08:29:23 +00:00
Fredrik Strand Oseberg
1caf9a924c fix: user search pagination (#997) 2022-05-19 14:27:19 +02:00
olav
2e367b3a04 feat: add trial expiration warning banner (#985)
* refactor: simplify useApiGetter cache keys

* refactor: simplify basePath helpers

* refactor: add UNLEASH_BASE_PATH frontend env var

* refactor: make sure AnnouncerElement does not affect the layout

* refactor: draw texture image above footer

* refactor: extract domain check helpers

* refactor: fix a few ts-expect-errors

* feat: add trial expiration warning banner

* refactor: fix IInstanceStatus interface prefix

* refactor: use ConditionallyRender in InstanceStatus

* refactor: simplify env helper functions

* refactor: use FC in InstanceStatus

* refactor: warn about expired trials

* refactor: fix eslint warnings

* refactor: disable banner outside of localhost

* refactor: use new instance state field name
2022-05-19 14:06:18 +02:00
Tymoteusz Czech
06b0a29ea8 Project features list update (#991)
* refactor: column icon position

* project overview horizontal scroll

* updated table headers styles

* fix: feature overview switch title

* refactor: cleanup of sortable header styles

* fix: z-index issue in test

* fix: html semantics after review
2022-05-18 11:56:55 +02:00
olav
98b6214c28 fix: avoid erasing previous environments data on refetch (#990)
* refactor: avoid duplicate useLoading call

* fix: avoid erasing previous environments data on refetch

* refactor: keep mutataion logic within useEnvironments
2022-05-18 11:26:38 +02:00
olav
159c54ed37 fix: resolve issues around changing a toggle's project (#978)
* refactor: show save button before using the dropdown

* refactor: simplify FeatureSettingsProject toast message

* refactor: fix FeatureProjectSelect filter prop type

* refactor: hide change project page for non-enterprise

* refactor: derive move targets from projects list instead of from permissions

* refactor: align frontend project compat check with backend

* refactor: fix useProject object stability

* refactor: disable the save button for the current project

* refactor: require equal environments when moving toggles

* refactor: improve arraysHaveSameItems name
2022-05-18 11:07:19 +02:00
Tymoteusz Czech
b1166bb2f4 Project overview feature toggles list (#971)
* refactor: page container

* refactor: table page header

* feat: new feature toggles list in project overview

* feat: sortable enviromnents in project overview

* feat: project overview toggles search

* feat: project overview features column actions

* project overview table column sizing

* project overview feature actions permissions

* project overview archive feature action

* project overview toggle state strategy fallback

* remove previous project overview implementation

* fix: remove additional prop in sortable table

* fix: stale feature refetch

* improvements after review

* feat: manage visible columns in project overview

* improve project overview columns selection

* fix: simplify columns

* Revert "remove previous project overview implementation"

This reverts commit 98b051ff6a5a4fb8a9a0921b661514e15a00249a.

* restore legacy project overview table
2022-05-13 14:51:22 +02:00
Tymoteusz Czech
cd37624de4 Theme consistency updates (#960)
* fix: theme palette and shape

* fix: update snapshots

* fix: adjust after review
2022-05-09 12:01:12 +02:00
olav
ae51e979cd refactor: add Plausible tracker on SaaS domain (#956)
* feat: add Plausible tracker on SaaS domain

* refactor: check uiFlags.T instead of the domain
2022-05-06 14:04:09 +02:00
Nuno Góis
5872a1c82c refactor: adapt to Vite (#940)
* chore: adapt to vite

* remove react-scripts

* add jsdom dep, update snaps

* fix tests

* fix: formatting

* fix: vercel rewrite

* fix: regeneratorRuntime is not defined

Co-authored-by: Tymoteusz Czech <tymek+gpg@getunleash.ai>
Co-authored-by: Tymoteusz Czech <2625371+Tymek@users.noreply.github.com>
2022-05-05 16:15:22 +01:00
Nuno Góis
004ded8f74 feat: add last seen col to admin users list (#949)
* feat: add last seen col to admin users list

* fix: header hover effect, duplicate title from TimeAgo

* fix: use YMD format, never logged

* fix: small tooltip change

* refactor: adapt to review suggestions
2022-05-05 14:53:28 +01:00
Tymoteusz Czech
1772997d28 Feature list table (#908)
* experiment with generic table

* feat: example implementation of sortable table interfaces

* add enhanced table header

Co-authored-by: Nuno Góis <github@nunogois.com>

* table cleanup

Co-authored-by: Nuno Góis
Co-authored-by: Fredrik Strand Oseberg

* useSort hook interface surface

Co-authored-by: Nuno Góis <github@nunogois.com>

* sort handler initial implementation

Co-authored-by: Tymoteusz Czech <Tymek@users.noreply.github.com>

* new table unified components

* feature flags table components

Co-authored-by: Nuno Góis <github@nunogois.com>

* feat: new table sort hook

* feat: table sort

* useSearch hook implementation

* update new sort hook tests

* sortable headers hook

* feat: add sort to other table features

* move experimental table hooks to a directory

* update new table header styles

* fix: header, tableActions

* add some details like pagination and highlighter so we keep them in mind

* feature table cells

* update new table sort logic

* new pagination

* fix formatting and remove unused component

* fix: adapt useSearch default search to text instead of regex (PR #924)

* fix: update table title based on visible rows

* fix: remove test route

* refactor: move table experiment files

* features table experimentation

* feat: enhanced feature flags table

* fix: features default sort

* feat: enhanced table loading

* fix: table theme after mui5 update

* features list placeholder

* add react-table

* update snapshots after theme change

* remove unused files

* fix: improve features table after review

* refactor: rename feature type cell variables

Co-authored-by: Fredrik Oseberg <fredrik.no@gmail.com>
Co-authored-by: Nuno Góis <github@nunogois.com>
Co-authored-by: Tymoteusz Czech <Tymek@users.noreply.github.com>
2022-05-05 15:34:46 +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
35262e404b refactor: clean up strategy parameter types (#944)
* refactor: fix splash page button background color

* refactor: regenerate OpenAPI client

* refactor: clean up strategy parameter types

* refactor: remove index signature from IConstraint

* refactor: fix never-seen status in features list
2022-05-04 15:16:34 +02:00
olav
7b60ef2aa6 refactor: misc type improvements (#945)
* refactor: improve ChangePassword types

* refactor: improve usePagination types

* refactor: improve UsersList types
2022-05-04 08:14:49 +02:00
Nuno Góis
9ffc421252 feat: show archived toggles on a project level (#942)
* feat: show archived toggles on a project level

* Update src/component/feature/FeatureToggleList/FeatureToggleListActions/FeatureToggleListActions.tsx

Co-authored-by: Fredrik Strand Oseberg <fredrik.no@gmail.com>

* refactor: adapt code to PR comments, clarity

Co-authored-by: Fredrik Strand Oseberg <fredrik.no@gmail.com>
2022-05-03 15:27:43 +01: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
Nuno Góis
860656a95e fix: user search by text instead of regex (#924)
* fix: user search by text instead of regex

* refactor: better clarity

Co-authored-by: Fredrik Strand Oseberg <fredrik.no@gmail.com>
2022-04-29 13:14:17 +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
5785557af8 fix: add missing refetch after feature strategy create/edit (#909) 2022-04-26 11:21:35 +02:00
olav
8f1900f32b feat: generate an OpenAPI client (2) (#875)
* feat: add a script that generates an OpenAPI client

* feat: generate an OpenAPI client

* feat: use the generated OpenAPI client

* refactor: add an OpenAPI section to the readme

* refactor: fix missing interface prefixes

* refactor: regenerate OpenAPI client
2022-04-26 10:53:46 +02:00
olav
49a63173f8 fix: avoid constraint accordion close on focus (#907)
* fix: avoid constraint accordion close on focus

* refactor: fix mutate cache key mismatch
2022-04-26 09:54:16 +02:00
olav
2e5e25bfe5 refactor: improve icon labels and tooltips (#884) 2022-04-21 08:26:49 +02:00
Nuno Góis
fdd683813a feat: add user table sort and search (#879)
* add user sort and filter hooks, adapt table to match design

* refactor: abstract away TableActions and TableCellSortable into components, small fixes and improvements

* feat: implement search

* feat: add search word highlighter to match design

* refactor: small UI/UX improvements

* fix: rounded corners for th on responsive breakpoints

* refactor: small UI/UX improvements

* Update src/hooks/useUsersSort.ts

Co-authored-by: Fredrik Strand Oseberg <fredrik.no@gmail.com>

* refactor: clearer arg name in users filter

* refactor: specify transition properties

* refactor: add theme v2 properties and cleanup styles

* refactor: create lightweight highlighter component

Co-authored-by: Fredrik Strand Oseberg <fredrik.no@gmail.com>
2022-04-20 13:22:50 +01: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
Nuno Góis
1132a79f6d fix: reject duplicate segment names (#855)
* fix: reject duplicate segment names

* fix: useSegmentValidation now takes into account initial value

* refactor: add segments e2e test

* refactor: add github action from segments e2e test

* refactor: use enterprise edition for all e2e tests

* refactor: use enterprise edition for all e2e tests
2022-04-08 11:34:59 +01: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
fb8d0e7efc fix: use the first project if there's no default project (#859)
* refactor: extract FeatureToggleListCreate component

* fix: use the first project if there's no default project
2022-04-07 11:08:05 +02:00
olav
a088866124 refactor: port some things to TS (#843)
* refactor: port useSort to TS

* refactor: port loadingFeatures to TS

* refactor: port admin index to TS

* refactor: port TagTypeList to TS

* refactor: merge route interfaces

* refactor: port common utils to TS

* refactor: fix snapshot date typo

* refactor: port Reporting utils to TS

* refactor: improve PermissionIconButton prop types
2022-04-06 12:22:24 +02:00
olav
dbb62631a6 feat: add FeedbackCES component (#826)
* refactor: add screen-reader-only util class

* refactor: move FeedbackNPS component

* feat: add FeedbackCES component

* refactor: improve hidden checkbox styles

* refactor: fix IFeedbackEndpointRequestBody source type

* refactor: remove unnecessary event.persist() calls

* refactor: remove disableEscapeKeyDown from FeedbackCES modal

* refactor: make textarea label customizable

* refactor: store feedback state on the backend

* refactor: add FeedbackCESForm snapshot test

* refactor: use extant IAuthFeedback type

* refactor: fix showNPSFeedback logic for multiple feedback types
2022-03-31 09:23:46 +02:00
Youssef Khedher
eeda7ab5e4 feat: add segments (#780)
* feat: create segmentation structure and list

* feat: remove unused deps and change route

* feat: change header style and add renderNoSegments

* fix: style table header

* feat: create useSegments hook

* feat: add segmentApi hook

* feat: create segment

* fix: errors

* feat: add contextfields list

* fix: remove user from create segment api

* feat: add form structure

* feat: add SegmentFormStepOne

* fix: tests and routes

* feat: add constraint view

* feat: UI to match the sketch

* feat: add constraint on context select

* fix: duplication

* fix adding constraints

Co-authored-by: olav <mail@olav.io>

* fix: input date not showing up in constraint view

Co-authored-by: olav <mail@olav.io>

* fix: minor bugs

Co-authored-by: olav <mail@olav.io>

* fix: create context modal in segment page

Co-authored-by: olav <mail@olav.io>

* fix: validate constraint before create segment

Co-authored-by: olav <mail@olav.io>

* feat: create useSegment hook

Co-authored-by: olav <mail@olav.io>

* feat: create edit component

Co-authored-by: olav <mail@olav.io>

* refactor: move constraint validation endpoint

* refactor: add missing route snapshot

* refactor: fix segment constraints unsaved/editing state

* refactor: remove create segment from mobile header menu

* refactor: update segments form description

* refactor: extract SegmentFormStepList component

* refactor: add an optional FormTemplate docs link label

* refactor: fix update segment payload

* feat: finish edit component

Co-authored-by: olav <mail@olav.io>

* refactor: move step list above segment form

* fix: update PR based on feedback

Co-authored-by: olav <mail@olav.io>

* refactor: fix constraint validation endpoint path

* refactor: improve constraint state field name

* refactor: extract AutocompleteBox component

* feat: add strategy segment selection

* refactor: add strategy segment previews

* refactor: fix double section separator line

* feat: disable deleting a usable segment

* refactor: warn about segments without constraints

* refactor: update text in delete segment dialogue

* refactur: improve arg names

* refactor: improve index var name

* refactor: clarify steps list logic

* refactor: use a required prop for the segment name

* refactor: use ConditionallyRender for segment deletion

* refactor: fix segments refetch

* refactor: improve CreateUnleashContext component names

* refactor: adjust segment form styles

* refactor: adjust text

* refactor: fix info icon tooltip hover target

* refactor: add missing aria attrs to preview button

* refactor: add strat name to delete segment modal

* refactor: fix segment chip text alighment

* refactor: use bulk endpoint for strategy segments

* refactor: fix imports after merge

Co-authored-by: Fredrik Oseberg <fredrik.no@gmail.com>
Co-authored-by: olav <mail@olav.io>
2022-03-29 09:30:57 +02:00
Youssef Khedher
85950f104a chore: update paths 🧼 (#820) 2022-03-28 09:49:59 +01:00
Youssef Khedher
4589a19e03 fix: misc UI improvements (#806)
* fix: link color in project features

Co-authored-by: olav <mail@olav.io>

* fix: link in health page

Co-authored-by: olav <mail@olav.io>

* fix: keep sorting state in project toggles list

Co-authored-by: olav <mail@olav.io>

* fix: style link in the toggle list project

Co-authored-by: olav <mail@olav.io>

* refactor: update browser list

Co-authored-by: olav <mail@olav.io>

Co-authored-by: olav <mail@olav.io>
2022-03-25 15:30:52 +01:00
olav
cfc2338e78 refactor: use camel case for files and dirs (#817) 2022-03-25 12:34:20 +01:00
olav
2ca88b019a refactor: restrict API tokens to enabled environments (#809)
* refactor: add missing Tooltip wrapper elements

* refactor: rewrite useEnvironments

* refactor: disable environments in select box

* refactor: make sure initial environment is enabled
2022-03-23 12:55:00 +01:00
olav
d1e96501ec refactor: test useFeaturesFilter (#795) 2022-03-16 13:51:01 +01:00
Youssef Khedher
bee9fadbc9 feat: segments (#776)
* feat: create segmentation structure and list

* feat: remove unused deps and change route

* feat: change header style and add renderNoSegments

* fix: style table header

* feat: create useSegments hook

* feat: add segmentApi hook

* fix: ts and style errors

* feat: update PR based on feedback

* feat: add flag

* fix: test and formating

* fix: update PR based on feedback

* fix: add correct permission

* fix: mobile view for segments

Co-authored-by: Fredrik Strand Oseberg <fredrik.no@gmail.com>
2022-03-16 13:19:27 +01:00
olav
9798cfd888 refactor: fix search crash on missing values (#794)
* refactor: fix search crash on missing values

* Update src/hooks/useFeaturesFilter.ts

* Update src/hooks/useFeaturesFilter.ts

* fix: update regex

Co-authored-by: Fredrik Strand Oseberg <fredrik.no@gmail.com>
2022-03-16 11:26:08 +01:00
Fredrik Strand Oseberg
f52ca03b55 fix: show invalid token page when token error is received (#785) 2022-03-15 16:00:13 +01:00
olav
f0aa764d3e refactor: wait for UI config for CO flag (#781) 2022-03-11 16:18:38 +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
ea401f3ec5 feat: add changeRole (#768)
* feat: add changeRole in project

* fix: update PR based on feedback

Co-authored-by: Fredrik Strand Oseberg <fredrik.no@gmail.com>
2022-03-07 09:26:31 +01:00
Youssef Khedher
ee730e0708 Feat/custom strategy screen (#722)
* feat: setup new screen structure

* refactor: strategyParameter

* feat: add strategy input errors for required fields

* feat: add create strategy to routes

* feat: add EditStrategy component

* feat: edit strategy view and EditStrategy component

* feat: update EditStrategy component

* test: update snapshots

* fix: styles

* test: update snapshots

* refactor: rename StrategyForm and fix ts errors

* test: update snapshots

* fix: remove test route

* fix: update PR based on feedback

* fix: update PR based on feedback

* refactor: restore feature settings (#712)

* refactor: resotre feature settings

* fix: update PR based on feedback

* feat: add feature information in Metadata container

* fix: update PR based on feedback

* fix: update PR based on feedback

Co-authored-by: Fredrik Strand Oseberg <fredrik.no@gmail.com>

* chore(deps): update dependency @types/react-dom to v17.0.13

* refactor: expect existing TS errors (#767)

* refactor: expect existing TS errors

* refactor: fail build on new TS errors

* fix: styles

* refactor: rename StrategyForm and fix ts errors

* fix: update PR based on feedback

* fix: cleaning up

* fix: remove errors and warnings

* fix: remove ts-expect-error and fix errors

* fix: ts errors

* Update src/component/strategies/StrategyView/StrategyView.tsx

* Update src/component/strategies/StrategyView/StrategyView.tsx

Co-authored-by: Fredrik Strand Oseberg <fredrik.no@gmail.com>
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: olav <mail@olav.io>
2022-03-04 23:39:41 +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
58667565f2 refactor: fix sorting features by last seen and created at (#755) 2022-03-01 10:35:20 +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
olav
94ecaa80a8 refactor: improve feature toggle search state (#741)
* refactor: rename createPersistentGlobalStateHook helper

* refactor: move features filter state out of localStorage

* refactor: show search state in page title

* refactor: remove unused import

* refactor: add a state chip to SearchField

* refactor: improve var names
2022-02-23 15:08:44 +01:00
Fredrik Strand Oseberg
38c26ec052 fix: set admin permission (#736) 2022-02-23 13:47:32 +01:00
olav
33b5e4abac feat: add new feature metrics page (#716)
* refactor: ensure that [hidden] overrides other display styles

* refactor: use numeric font weights

* refactor: remove unnecessary Jest mock

* refactor: add a fullWidth prop to GeneralSelect

* refactor: remove unnecessary label id prop

* refactor: the showActive prop is optional

* refactor: add hooks for managing query string state

* refactor: add a hour/minute timestamp formatter

* refactor: add labels to button icons

* feat: add new feature metrics page

* refactor: remove prev feature metrics page

* refactor: use new metric boxes on overview page

* refactor: lazy-load the new metrics page

* refactor: fix type error when formatting unknown error

* refactor: extract interfaces for props

* refactor: destructure all props

* refactor: expand arg names

* refactor: reorg component dirs and files

* refactor: improve chart element label

* refactor: hide chart dots until hover

* refactor: add section titles to environments/applications

* refactor: simplify FeatureMetricsHours types

* refactor: sort chart tooltip items

* refactor: add more chart labels

* refactor: always show a dot in single point charts

* refactor: improve chart tooltip styles

* refactor: adjut metric page spacing

* refactor: decrease legend box size

* refactor: move date fmt fn inline

* refactor: improve chart legend styles

* refactor: increase Cypress timeouts

* refactor: sort environment and application chips

* refactor: format files

* refactor: use stable lists of apps and envs

* refactor: fix FeatureMetrics dir name

* refactor: avoid ScrollToTop on query string change

* refactor: use ConditionallyRender instead of inline condition

* refactor: use makeStyles instead of styled API
2022-02-21 13:47:54 +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
46bf92124d refactor: remove unused code (#721) 2022-02-18 08:26:26 +01:00
olav
878f892c50 refactor: fix misc test feedback (#709)
* refactor: keep feature toggle name when changing project

* refactor: add missing permission button tooltip

* refactor: add success toast on toggle revival

* refactor: add success toast on stale toggle

* refactor: fix initial user role checkbox value

* refactor: remove duplicated error message

* refactor: fix change-password error parsing

* refactor: remove inaccurate edit toggle toast text

* refactor: truncate long names in project cards

* refactor: truncate long project name in title

* refactor: add ellipses to truncated strings

* refactor: swap truncateString with StringTruncator

* refactor: remove unnecessary truncation

* refactor: mark context fields as optional

* refactor: show all errors from tag type creation

* refactor: show all errors from strategy create/update

* refactor: filter out empty strategies on create/update

* refactor: add an edit button to the addons list

* refactor: add missing labels

* refactor: catch errors from toggling stale features
2022-02-15 10:57:57 +01:00
olav
fceeb7da15 refactor: remove unused ProjectSelect props (#705)
* refactor: remove unused ProjectSelect props

* refactor: remove unused ensureRelativePath fn

Co-authored-by: Fredrik Strand Oseberg <fredrik.no@gmail.com>
2022-02-14 15:48:25 +01:00
Fredrik Strand Oseberg
972ea43dfc fix: do not use formatApiPath on paths from API (#702)
* fix: do not use formatApiPath on paths from API

* fix: remove createRequest
2022-02-11 12:13:03 +01:00
Fredrik Strand Oseberg
c99decf5e0 remove: redux (#696)
* remove: redux

* fix: add sass back

* fix: update lock

* fix: remove fake access store import

'
2022-02-11 11:19:55 +01:00
Youssef Khedher
c2842c81e6 Refactor/strategies (#668)
* feat: add useStrategiesApi hook

* refactor: remove redux from strategies component

* refactor: CreateStrategy Component

* fix: remove ts errors

* refactor: change strategy-detail to functional component

* refactor: get strategy name from params

* refactor: use features hook and refactor toggle list link

* refactor: StrategiesList

* refactor: fix delete strategy function

* fix: ts errors

* refactor: CreateStrategy to StrategyForm

* feat: add toast for StrategyForm

* refactor: add StrategyView and delete old component

* refactor: StrategyDetails and clean unused files

* fix: cleanup unused code

* fix: add await

* fix: remove unused stores

Co-authored-by: Fredrik Oseberg <fredrik.no@gmail.com>
2022-02-11 00:08:55 +01:00
olav
213e8950d3 refactor: port login auth to TS/SWR (#680)
* refactor: allow existing tsc errors

* refactor: add missing component key

* refactor: port login auth to TS/SWR

* refactor: replace incorrect CREATE_TAG_TYPE with UPDATE_TAG_TYPE

* refactor: fix AccessProvider permission mocks

* refactor: add types to AccessContext

* refactor: fix file extension

* refactor: remove default export

* refactor: remove unused IAddedUser interface

* refactor: comment on the permissions prop

* refactor: split auth hooks

* feat: auth tests

* fix: setup separate e2e tests

* fix: naming

* fix: lint

* fix: spec path

* fix: missing store

* feat: add more tests

Co-authored-by: Fredrik Oseberg <fredrik.no@gmail.com>
2022-02-10 17:04:10 +01:00
Youssef Khedher
5a05bb44a6 Merge branch 'main' into refactor/applications 2022-02-10 11:14:10 +01:00
Youssef
df448e66e8 refactor: add application interface and add use applications output interface 2022-02-10 09:33:09 +01:00
Youssef
4d0d39891a fix: update PR based on feedback 2022-02-10 09:23:11 +01:00
Youssef Khedher
2a9a3ac569 refactor: refactor addons to TSX and remove unused files (#676)
* refactor: refactor addons to TSX and remove unused files

* refactor: change AddonIcon to getAddonIcon

* refactor: add PermissionButton instead of conditional render

* refactor: wrap icon buttons inside PermissionIconButtons

* feat: add confirm delete dialog

* fix: create addon form

* fix: refactor addons

* fix: remove addon store folder

* fix: update index

* fix: rebase

* fix: update exports

* fix: update snapshot

* fix: add dev dep

Co-authored-by: Fredrik Oseberg <fredrik.no@gmail.com>
2022-02-09 23:05:15 +01:00
Youssef
c10525108e refactor: add handleChange 2022-02-09 19:09:02 +01:00
Youssef
a6e1e60e2c refactor: change based on PR feedback 2022-02-09 16:15:07 +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
Youssef Khedher
08c4b60cef fix: project access (#621)
* feat: update useProjectApi hook

* fix: refactor to hooks

* fix: remove some ts errors

* fix: set message if error exists directly on response

* fix: remove console logs

* fix: typo

* delete: context2

* feat: filter added user from user add list

* fix: cleanup PR based on feedback

* fix: handle undefined roles in ProjectRoleSelect

* fix: use target value

* fix: type event

* fix: conflict

* fix: add appropriate types

* fix conflicts

* fix: explicit query

* fix: refactor list

* refactor: permission icon button

* fix: conflict

* fix: ts errors

* refactor: break list into its own component

* fix: use stringifed deps

* fix: explicit export

* fix: update pr according to comments

Co-authored-by: Fredrik Oseberg <fredrik.no@gmail.com>
2022-02-09 12:25:02 +01:00
Youssef Khedher
f58c284f70 Merge branch 'main' into refactor/applications 2022-02-08 13:44:42 +01:00
olav
fee1894c34 refactor: port global settings to TS/hooks (#679)
* refactor: add ref support to PermissionSwitch

* refactor: port global settings to TS/hooks

* refactor: fix file extension

* refactor: format file

* refactor: fix inconsistent locationSettings prop

* refactor: use correct locationSettings hook

* refactor: use objects for settings hooks
2022-02-08 13:36:32 +01:00
olav
ff8d983d7e refactor: port FeatureToggleList to TS/SWR (#663)
* refactor: remove unused FeatureToggleListItemChip

* refactor: remove unused archive.module.scss

* refactor: remove unused ShowArchive route

* refactor: port FeatureToggleList to TS/SWR

* refactor: fix IUseFeaturesOutput interface prefix

* refactor: remove unnecessary pages files

* refactor: persist the features sort/filter state

* refactor: format files

* refactor: fix FeatureToggleListContainer file name

* refactor: fix arrow function syntax

* refactor: improve storage helper comments
2022-02-08 12:06:25 +01:00
olav
f4d5ed03aa refactor: port auth admin to TS/SWR (#675)
* refactor: format files

* refactor: add missing RE UI config flag

* refactor: port admin auth index to TS/SWR

* refactor: port GoogleAuth to TS/SWR

* refactor: port OidcAuth to TS/SWR

* refactor: port SamlAuth to TS/SWR

* refactor: remove unused e-admin-auth store

* refactor: make AutoCreateForm an explicit export

* refactor: improve auth settings dir structure

* refactor: destructure authenticationType from uiConfig

* refactor: use setToastApiError to show errors

* refactor: format files

* refactor: remove invalid string fields from requests

Co-authored-by: Fredrik Strand Oseberg <fredrik.no@gmail.com>
2022-02-08 11:44:41 +01:00
Youssef Khedher
f72756db00 Merge branch 'main' into refactor/applications 2022-02-08 09:25:02 +01:00
olav
234bab6cb4 refactor: port ReportCard to TS/SWR (#674)
* refactor: remove unused reporting code

* refactor: port ReportCard to TS/SWR
2022-02-07 15:30:33 +01:00
olav
72acf2309c refactor: port EventHistory to TS/SWR (#669)
* refactor: port EventHistory to TS/SWR

* refactor: fix interface type prefix

* refactor: split useEvents and useFeatureEvents hooks

Co-authored-by: Fredrik Strand Oseberg <fredrik.no@gmail.com>
2022-02-04 14:25:56 +01:00
Youssef Khedher
25ca7b7216 refactor: add useInvoices hook (#656)
* refactor: add useInvoices hook

* refactor: invoiceList and InvoiceAdminPage

* fix: declare path outside of the hook

Co-authored-by: Fredrik Strand Oseberg <fredrik.no@gmail.com>
2022-02-04 13:41:13 +01:00
Youssef
c316382ba5 refactor: create new EditApplication component 2022-02-04 11:27: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
Youssef
47a1a47d28 refactor: add useApplicationsApi 2022-02-04 08:14:16 +01:00
Youssef
38e549d879 refactor: application-view to ApplicationView with useApplication hook 2022-02-04 07:56:17 +01:00
Youssef Khedher
899a0f330e feat: add impressionData switch to create feature form (#639)
* feat: add impressionData switch to create feature form

* fix: update text

* fix: styling

* fix: conflict

* fix: update link

* fix: remove unused styles

Co-authored-by: Fredrik Oseberg <fredrik.no@gmail.com>
2022-02-03 12:39:43 +01:00
Youssef
e25b7b0a22 refactor: remove redux from addons components 2022-02-01 14:12:53 +01:00
Youssef
f3ab91556b feat: create useAddons and useAddonsApi 2022-02-01 07:17:23 +01:00
Youssef Khedher
4571e3af81 feat: add useUiBootstrap hook and update send email state (#643)
* feat: add useUiBootstrap hook and update send email state in create user form

* fix: set email based on config

* fix: update cache key

Co-authored-by: Fredrik Oseberg <fredrik.no@gmail.com>
2022-01-28 17:20:57 +01:00
Ivar Conradi Østhus
6b632c83bf feat: allow enterprise to disable password based login (#629)
Co-authored-by: Fredrik Strand Oseberg <fredrik.no@gmail.com>
2022-01-26 13:28:51 +01:00
Fredrik Strand Oseberg
8462b00d5c fix: add pagination filter (#631) 2022-01-26 12:27:34 +01:00
Fredrik Oseberg
03d937d7e7 fix: remove console log 2022-01-24 15:45:01 +01:00
Fredrik Oseberg
125e7de91e fix: ts issues 2022-01-24 15:45:01 +01:00
Youssef Khedher
53cff04349 feat: add create and edit context screen (NEW) (#613)
* feat: add create and edit context screen

* feat: add edit button for contexts list

* fix: add legal values when press enter withou submit form

* fix: context form

Co-authored-by: Fredrik Strand Oseberg <fredrik.no@gmail.com>
2022-01-24 15:43:45 +01:00
Youssef Khedher
39b5adb950 feat: add create and edit project screen (NEW) (#602)
* feat: add create and edit project screen

* feat: fix correct permission and validate projectId

* feat: remove unused variable and logs

* feat: remove unused import

* fix: delete unused project components

* fix: add unique validation

* fix: add unused import

* fix: project header

Co-authored-by: Fredrik Oseberg <fredrik.no@gmail.com>
2022-01-19 14:28:55 +01:00
Youssef Khedher
7baf8400ca feat: add create and edit screen for tag-types (NEW) (#603)
* feat: add create and edit screen for tag-types

* feat: update Edit and create component with permissions

* refactor: add TagForm type to react FC

* fix: routes

* fix: add edit button

* fix: update snapshot

* fix: update permission

* fix: permission

Co-authored-by: Fredrik Oseberg <fredrik.no@gmail.com>
2022-01-18 14:35:50 +01:00
Youssef Khedher
80e80805f7 feat: add edit and create user screen (NEW) (#601)
* feat: add edit and create user screen

* refactor: rename create user component

* fix: add missing documentation link

* fix: remove unused dependencies

* feat: add confirm screen

* refactor: change UserForm and delete unused components

* refactor: remove toast when create new user

* fix: add margin top to form elements

Co-authored-by: Fredrik Strand Oseberg <fredrik.no@gmail.com>
2022-01-18 12:05:48 +01:00
Youssef Khedher
1b097f85d6 feat: add create and edit environment screen (NEW) (#605)
* feat: add create and edit environment screen

* fix: remove environment success screen

Co-authored-by: Fredrik Oseberg <fredrik.no@gmail.com>
2022-01-18 11:23:24 +01:00
Youssef Khedher
b209368c84 feat: add create api token screen (NEW PR) (#600)
* feat: add create api token screen

* fix: update headers

* fix: remove old api create

Co-authored-by: Fredrik Oseberg <fredrik.no@gmail.com>
2022-01-17 11:56:53 +01:00
Youssef Khedher
182d566895 feat/rbac roles (#562)
* feat: create screen

* fix: import accordion summary

* feat: add accordions

* fix: add codebox

* feat: select permissions

* fix: permission checker

* fix: update permission checker

* feat: wire up role list

* fix: change icon color in project roles list

* fix: add color to icon in project roles

* add confirm dialog on role deletion

* feat: add created screen

* fix: cleanup

* fix: update access permissions

* fix: update admin panel

* feat: add edit screen

* fix: use color from palette and show toast when fails

* fix: refactor

* feat: validation

* feat: implement checked all

* fix: experimental toast

* fix: error handling

* fix: toast

* feat: unique name validation

* fix: update toasts

* fix: remove toast

* fix: reset flag

* fix: remove unused vars

* fix: update tests

* feat: add error icon for toast

* fix: replace wrong import for setToastData

* feat: Patch keying on ui to handle uniqueness for permissions across multiple envs

* fix: hasAccess handles *

* fix: update permission switch

* fix: use flag for environments rbac

* fix: do not include check all keys in payload

* fix: filter roles

* fix: account for new permissions in variants list

* fix: use effect on length property

* fix: set polling interval on user

* 4.5.0-beta.0

* fix: set initial permissions correctly to avoid race condition

* fix: handle activeEnvironment when it is null

* fix: remove unused imports

* fix: unused imports

* fix: Include missing project in hasAccess for deleteinng a tag

* fix: Move add/delete tag to use update feature permissions

* fix: use rest parameter

* fix: remove sandbox from scripts

* 4.6.0-beta.1

* fix: remove loading deduping

* fix: disable editing on builtin roles

* fix: check all

* fix: feature overview environment

* fix: refetch user on project create

* fix: update snaphots

* fix: frontend permissions

* fix: delete create confirm

* fix: remove unused permission

* 4.6.0-beta.4

* fix: update permissions

* fix: permissions

* fix: set error to string

* 4.6.0-beta.5

* fix: add permissions for project view

* fix: add permissions to useEffect deps

* fix: update permission for move feature toggle

* fix: add permissions data to useEffect

* fix: move settings

* fix: key on confetti

* fix: refetch project permissions on environment create/delete

* fix: optional coalescing error object

* fix: remove logging error

* fix: reorder disable importance in permissionbutton

* fix: add project roles to menu

* fix: add disabled check to revive

* fix: update snapshots

* fix: change text to select all

* fix: change text to select

* 4.6.0-beta.6

Co-authored-by: Fredrik Oseberg <fredrik.no@gmail.com>
Co-authored-by: sighphyre <liquidwicked64@gmail.com>
2022-01-14 15:50:02 +01:00
Fredrik Strand Oseberg
bd6212a88f fix: account for invalid token in SWR Provider (#561)
* fix: revalidate user on stale data

* fix: swr provider
2021-12-15 11:18:10 +01:00
Youssef Khedher
5de56256e1 feat: RBAC environment role list (#558)
* fix: move admin to components and add ProjectRoles route

* feat: fetch project roles and create project roles list

* fix: add pagination and update tests

* update projectRoles folder name

Co-authored-by: Fredrik Strand Oseberg <fredrik.no@gmail.com>
2021-12-14 10:36:19 +01:00
Fredrik Strand Oseberg
1f133beb46 fix: reset loader when fetch receives 401 and fix no auth type (#549) 2021-12-06 15:43:08 +01:00
Youssef Khedher
c34d8439bd Feat/splash (#491)
* splash screen

* add styles for controllers

* feat: animated circles

* fix: remove unused code

* fix: folder structure

* create splash screens for envs

* add styles and ui changes

* fix: revert App.tsx

* add splash state to store

* add splash to app.tsx + add a loader

* fix: mobile view + desktop view

* fix: render splash condition + styling fix

* fix: change splash display to full screen

* Update src/hooks/api/actions/useSplashApi/useSplashApi.ts

Co-authored-by: Fredrik Strand Oseberg <fredrik.no@gmail.com>

* fix: change function type

Co-authored-by: Fredrik Strand Oseberg <fredrik.no@gmail.com>

* fix: disable incrementing counter when matching the components length.

* fix: add SWR configuration

* fix: spelling mistakes in splash screen

* fix: add keys and adjust styling

* fix: tests

* fix: tests

* fix: default command timeout

Co-authored-by: Fredrik Oseberg <fredrik.no@gmail.com>
2021-11-26 11:12:37 +01:00
Christopher Kolstad
83443627d9 feat: Use new Variants API (#518)
* feat: Use new Variants API

Co-authored-by: Fredrik Strand Oseberg <fredrik.no@gmail.com>
2021-11-25 14:05:44 +01:00
Fredrik Strand Oseberg
c0da8ed6bc Feat/new toggle overview (#497)
* feat: toggle overview accordions

* feat: accordion metrics

* feat: result

* add permission button

* fix: remove feature environment container from strategies tab

* chore: delete unused code

* fix: remove console log

* fix: remove unused code

* fix: cleanup

* fix: refactor

* fix: add empty states

* fix: loading

* feat: mobile accordions

* fix: button

* fix: strategies

* fix: cleanup

* fix: remove unused params

* fix: strategy button container

* fix: alter gradual rollout id

* fix: update userid strategy item

* fix: string truncator

* fix: strategy link

* fix: strategies tab

* fix: remove unused imports

* fix: visual improvements

* fix: add border
2021-11-12 11:47:19 +01:00
Youssef Khedher
ed6efff643 Fix/variants: Fix delete one variant + remove switch when add first variant (#466)
Co-authored-by: Ivar Conradi Østhus <ivarconr@gmail.com>
Co-authored-by: Fredrik Oseberg <fredrik.no@gmail.com>
2021-10-28 13:32:29 +02:00
Fredrik Strand Oseberg
57928d50c6 Fix/environment list sorting (#447)
* fix: wait for api call before refetching

* fix: set active environment from feature instead of cache

* fix: remove console logs

* fix: add permission icon button to project card

* fix: remove project button

* fix: empty tooltip if it is not passed

* fix: add refresh interval

* fix: permission buttons

* fix: project permission buttons

* fix: remove unused imports

* fix: add projectId
2021-10-20 12:05:44 +02:00
Fredrik Strand Oseberg
005daa3740 Fix/login redirect (#442)
* fix: use swr with login

* fix: remove metrics poller

* fix: do not allow retry on 401

* fix: create swr provider

* fix: move accessprovider

* fix: remove metrics poller test

* fix: hide password auth if disableDefault is set

* Update src/component/project/ProjectList/ProjectList.tsx

Co-authored-by: Christopher Kolstad <chriswk@getunleash.ai>

* fix: console log

Co-authored-by: Christopher Kolstad <chriswk@getunleash.ai>
2021-10-19 13:08:25 +02:00
Ivar Conradi Østhus
edd6706ffe fix: new create toggle page 2021-10-15 14:16:17 +02:00
Christopher Kolstad
6d42502792 Add default strategy type to strategy hook
- Fixes the missing sidebar while loading the strategy types
  Trello:
  https://trello.com/c/WJk8bI8l/490-feature-strategies-loading-state
2021-10-15 11:43:11 +02:00
Christopher Kolstad
4230fc98ed Feat/new metrics tab (#432)
* New metric tab if environment flag is active

* Prepare new metrics tab - need styling help!!
2021-10-15 10:05:10 +02:00
Christopher Kolstad
166c6fef0e Write a generic http thrower for status > 299 (#405)
* Write a generic http thrower for status > 299

* Perform location reload if user is no longer authorized, i.e if status === 401
2021-10-15 09:21:38 +02:00
Ivar Conradi Østhus
1058b4049c fix: envrionments should give understandable error if not possible to… (#433) 2021-10-14 19:58:57 +02:00
Christopher Kolstad
8a9dc32bad Create hook for fetching featureMetrics (#414)
* Create hook for fetching featureMetrics
2021-10-13 10:20:34 +02:00
Ivar Conradi Østhus
012cfc1806 fix: hide project CRUD actions for oss (#416) 2021-10-12 13:21:45 +02:00
Fredrik Strand Oseberg
7da3573edb Feat/visual enhancements (#404)
* fix: stale style

* fix: execution plan styling

* fix: paths

* fix: remove console logs

* fix: snapshots

* fix: add comma

* fix: update snapshots
2021-10-08 16:19:06 +02:00
Ivar Conradi Østhus
7406cbbaa7 fix: add clone feature toggle via API 2021-10-08 13:47:17 +02:00
Fredrik Strand Oseberg
37b818fce4 Feat/feature toggle view tags (#399)
* feat: new tags

* feat: archive

* wip: variants

* add support for deletion, variable/fixed weight toggle and weight editing

* Add confirmation dialogue for deleting variants

* feat: settings

* fix: recalculate on project name change

* feat: feature environment metrics

* feat: environment

* Add toggle for stale

* fix: refetch on create strategy

* fix: lint

* fix: update snapshots

* fix: add link to icon button

* fix: revert test user

* fix: increase size!

* fix: use permission attr for ResponsiveButton

* fix: dev dependency

* fix: theme

* fix: stale style

* Update src/component/feature/FeatureView2/FeatureSettings/FeatureSettingsMetadata/FeatureTypeSelect/FeatureTypeSelect.tsx

Co-authored-by: Christopher Kolstad <chriswk@getunleash.ai>

* Update src/component/feature/FeatureView2/FeatureVariants/FeatureVariantsList/FeatureVariantsList.tsx

Co-authored-by: Christopher Kolstad <chriswk@getunleash.ai>

* Update src/component/feature/FeatureView2/FeatureVariants/FeatureVariantsList/FeatureVariantsListItem/useDeleteVariantMarkup.tsx

Co-authored-by: Christopher Kolstad <chriswk@getunleash.ai>

Co-authored-by: Christopher Kolstad <chriswk@getunleash.ai>
Co-authored-by: Christopher Kolstad <git@chriswk.no>
2021-10-08 11:23:29 +02:00
Fredrik Strand Oseberg
47579e2616 Feat/toggle view (#389)
* feat: toggle view

* fix: navigation

* eat: toggle view

* fix: resolve lint

* fix: remove console logs

* fix: reimplement feature validation
2021-10-01 13:49:18 +02:00
Fredrik Strand Oseberg
87414c1c9c feat: e2e tests and mobile views (#348)
* fix: add sidebar button

* fix: set absolute positioned sidebar button

* feat: test setup

* fix: add tests for adding strategy

* fix: add delete  strategy test

* feat: add workflow

* feat: add vercel token

* fix: update project id

* fix: increase sleep

* fix: sleep

* fix: vercel

* fix: typo

* fix: vercel preview url action

* fix: yml formatting

* fix: steps

* fix: format

* fix: runs on

* fix: team id

* fix: teamid

* fix: add workflow

* fix: remove unused import

* fix: add token

* fix: add configuration

* fix: set env variables

* fix: use with

* feat: main navigation routes

* feat: mobile views

* fix: change spec name

* fix: update cypress project id

* fix: add record key

* fix: button positioning

* feat: permissions

* fix: custom strategy

* fix: remove unused action yml

* fix: update yarn lock

* fix: keys

* fix: remove videos and screenshots

* fix: add cyrpess folders to gitignore

* fix: env variable
2021-09-30 11:44:30 +02:00
Ivar Conradi Østhus
97893aa762 feat: project environments configuration (#365) 2021-09-30 10:24:16 +02:00
Fredrik Strand Oseberg
27988e4b30 Feat/environment strategies (#339)
* feat: strategies list

* feat: dnd

* fix: resolve reference issues

* feat: configure strategy wip

* feat: rearrange list

* feat: add debounce and execution plan

* feat: add separator

* feat: update strategy

* fix: feature strategy accordion key

* fix: localize parameter update logic

* feat: ts conversion

* fix: perf issues

* feat: production guard

* fix: clean up environment list

* fix: implement markup hooks for environment list

* feat: wip constraints

* fix: handle nested data structure reference issue

* fix: clone deep on child props

* fix: remove constraints check

* fix: revert to strategies length

* fix: refactor useFeature

* feat: cache revalidation

* fix: set correct starting tab

* fix: reset params on adding new strategy

* fix: refactor to use useSWR instead of local cache

* fix: check dirty directly from new params

* fix: dialogue ts

* fix: Clean-up typescript warnings

* fix: some more typescript nits

* feat: strategy execution

* feat: strategy execution for environment

* fix: refactor execution separator

* fix: remove unused property

* fix: add header

* fix: 0 value for rollout

* fix: update snapshots

* fix: remove empty deps

* fix: use constant for env type

* fix: use default for useFeatureStrategy

* fix: update snapshot

* Update src/component/feature/FeatureView2/FeatureStrategies/FeatureStrategiesEnvironments/FeatureStrategiesEnvironmentList/useDeleteStrategyMarkup.tsx

Co-authored-by: Christopher Kolstad <chriswk@getunleash.ai>

* Update src/component/feature/FeatureView2/FeatureStrategies/FeatureStrategyExecution/FeatureStrategyExecution.tsx

Co-authored-by: Christopher Kolstad <chriswk@getunleash.ai>

* Update src/component/feature/strategy/EditStrategyModal/general-strategy.jsx

Co-authored-by: Christopher Kolstad <chriswk@getunleash.ai>

Co-authored-by: Christopher Kolstad <chriswk@getunleash.ai>
Co-authored-by: UnleashTeam <79193084+UnleashTeam@users.noreply.github.com>
2021-09-27 13:35:32 +02:00
Ivar Conradi Østhus
1845eb95e6 feat: Add project and environment scoping to API keys (#336)
Co-authored-by: Fredrik Strand Oseberg <fredrik.no@gmail.com>
2021-09-26 22:41:38 +02:00
Fredrik Strand Oseberg
92f3f8af08 Feat/environment crud (#335)
* feat: add env

* fix: create environment form

* feat: create environment

* feat: add deletion protection

* fix: lift up state

* feat: add ability to update environment

* fix: remove env reset

* fix: remove link

* feat: add drag and drop sorting

* fix: remove unused imports

* feat: add methods to toggle env on/off

* feat: only make api call on drop

* fix: disabled text

* fix: add disabled indicator

* fix: add edit env payload

* fix: add E flag

* fix: cleanup

* fix: update snapshots

* fix: remove useFeature

* fix: change property to errorText

* fix: update tests

* fix: change menu

* fix: update snapshots

* feat: toggle view v2

* fix: handle error on sort order api call

* fix: remove unused import

* fix: useFeature

* fix: update tests

* fix: console logs

* fix: use try catch

* fix: update snapshots
2021-09-14 14:20:23 +02:00
Fredrik Strand Oseberg
728477e238 Feat/feature routes (#327)
* fix: setup new routes

* fix: copy toggle

* fix: link to correct project

* fix: redirect oss to default

* fix: update tests

* fix: edit path

* fix: remove invalid property

* fix: add project to test data

* fix: update paths to use features

* fix: update test data

* fix: update snapshots

* fix: only show button to add toggle if you have access

* fix: change heading

* fix: use new route

* fix: archive view

* fix: update snapshots

* fix: sorting headers

* fix: list headers

* fix: only show span if revive is present

* fix: add border to list

* fix: update snapshots

* fix: remove console log
2021-08-25 13:37:22 +02:00
Fredrik Strand Oseberg
1a63d91f95 Feat/new navigation (#314)
* feat: change color scheme

* feat: add navigation menu

* fix: add bg image

* fix: add archive and strategies to navigation

* fix: round corners

* feat: mobile view project details

* feat: mobile view navigation

* fix: only show menu if user is admin

* fix: rename navigation

* fix: only render relevant routes for oss context

* feat: add project actions

* feat: add icons

* feat: add breadcrumbs

* fix: place breadcrumbs absolutely

* fix: adjust breadcrumbs

* fix: toast

* fix: cleanup

* fix login

* fix: breadcrumbs

* fix: add billing link

* fix: links

* fix: feature view

* fix: path to go back

* fix: remove default value

* fix: remove unused imports

* refactor: delete outdated test

* fix: add item to filter in breadcrumb

* fix: remove console log
2021-07-16 15:41:54 +02:00
Fredrik Strand Oseberg
85a7c55fdf Feat/group by projects (#308)
This PR adds support for projects as a first class citizen, and toggling features on in different environments.
2021-07-07 11:04:36 +02:00
Fredrik Strand Oseberg
f0d6e45361 Feat/bootstrap (#281)
* feat: add bootstrap endpoint redux integration

* fix: remove useEffect from app

* feat: add path provider

* feat: browser router

* fix: delete path formatter

* fix: return absolute path if no basepath

* fix: format seenURI

* feat: get bootstrap uri from html

* fix: remove unused imports

* fix: remove initial loading call

* fix: wrap logout in formatApiPath

* feat: import logo

* feat: remove accessor from receiveConfig

* fix: update tests

* fix: update asset paths

* fix: remove data from app

* fix: revert moving access provider

* fix: remove build watch

* fix: remove console logs

* fix: update asset paths

* fix: remove path logic from base64

* fix: remove unused import

* set uiconfig

* change notification text

* fix: match uiConfig with expected format

* feat: add proclamation

* fix: move proclamation

* fix: remove unused imports

* fix: add target _blank

* fix: allow optional toast

* fix: return empty string if default value is present

* fix: set basepath to empty string if it matches default
2021-05-04 09:59:42 +02:00
Fredrik Strand Oseberg
1f46d3b21b Fix/cleanup (#276)
* chore: update changelog

* 4.0.0-alpha.10

* fix: add dnd provider as top level wrapper

* fix: add forgotten password link to password auth

* fix: remove unecceesary dnd component

* fix: check for usedTokenError
2021-04-27 09:48:00 +02:00
Fredrik Strand Oseberg
0ca753e7e5 Feat/add new user (#273)
* chore: update changelog

* chore: update changelog

* fix: refactor AddUser

* feat: add screens for email and copy

* fix: remove interface

* fix: admin constant in userlist

* chore: fix changelog

* feat: user data fetching with useSWR

* feat: flesh out dialogues

* fix: remove useRequest

* refactor: remove redux for user admin

* refactor: remove from store

* refactor: userListItem

* fix: change type

* feat: add initial loading

* fix: useLayoutEffeect in useLoading

* fix: remove useEffect

* fix: update snapshots

* fix: remove status code

* fix: remove roles from store
2021-04-23 10:59:11 +02:00
Fredrik Strand Oseberg
524936912d Feat/user flow (#267)
* feat: add new user page

* feat: passwordchecker

* fix: remove loading

* feat: reset password

* fix: move swr to devDeps

* feat: generate reset link

* feat: add reset password form

* fix: remove console log

* fix: rename to forgotten password

* feat: add simple menu

* fix: change password checker title

* fix: change text in new-user view

* fix: lint errors

* fix: add status code to constants

* fix: comment

* fix: add classes for new user component

* fix: tests

* fix: remove console log

* fix: remove retry method

* fix: invalid token constant

* fix: remove console log

* fix: dependency array on useCallback

* fix: featureview

* fix: redirect on authenticated

* refactor: progresswheel

* fix: lint deps
2021-04-19 10:55:15 +02:00