NicolaeUnleash
705462f0cf
feat: dark theme v1 ( #3298 )
...
## About the changes
Creating the first version of the Dark theme
Refactor: colors variables
Refactor: use theme variable instead
- this change will help us to use MuiCssBaseline, and we can use classes
directly for easy customization when we can't identify MUI classes
Refactor: adjusting some files components
- i’ve touched also the structure of some files, not only the colors
variables (but only to adjust the style, not functionality)
Fix: dark mode persistence on refresh (by Nuno)
Feat: dark mode sees light logos, and light mode sees dark logos (by
Nuno)
---------
Co-authored-by: Nuno Góis <github@nunogois.com>
2023-03-22 16:37:40 +02:00
NicolaeUnleash
23af7a3474
refactor: light theme colors ( #3252 )
...
## About the changes
Refactoring the colors for the light theme to be much easier to continue
with dark mode
This is the first step to finish dark mode
https://linear.app/unleash/project/[low][s][alpha]-dark-mode-in-unleash-admin-ui-31b407d13c4b/1
This PR uses `main-theme` as a placeholder for `dark-theme` for now due
to the new changes. Still need to set the correct values here.
---------
Co-authored-by: Nuno Góis <github@nunogois.com>
2023-03-06 12:58:36 +02:00
Nuno Góis
fe2f2f5705
Update dialogue design ( #2342 )
...
https://linear.app/unleash/issue/2-509/update-dialogues-to-match-new-designs
Update dialogues to match the look on the new designs:
![image](https://user-images.githubusercontent.com/14320932/200525669-35525761-1c3e-4c60-94a7-e21b1de99ad7.png )
2022-12-14 15:16:58 +00: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
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
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
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
olav
43834be065
refactor: use onClose instead of hideSecondaryButton ( #842 )
2022-04-05 11:47:17 +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
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
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 Khedher
be3a26529a
feat: update dialog to accept permissions ( #627 )
...
* feat: update dialog to accept permissions
* refactor: make dialog component accept permission button
* fix: remove unused dependencies
* fix: update button permissions
Co-authored-by: Fredrik Oseberg <fredrik.no@gmail.com>
2022-01-26 10:58:35 +01:00
Thomas Heartman
dd1ab1ca72
Autofocus dialog form fields, allow form submissions via pressing enter inside the form ( #524 )
...
* chore: add prettier as a dev dependency
The project has a .prettierrc, so seems to depend on that for its
formatting, but there was no prettier installed with the node modules.
* chore: add autofocus to all clearly defined first inputs on dialogs.
* fix: wrap the disable env input in a form and give it autofocus.
* fix: submit form when pressing enter
* fix: only autofocus the submit button if there is no other content.
When multiple (enabled) elements have the autofocus attribute, the
browser picks the last element in the tree. This means that if there
is a form with a text input with autofocus and a submit button with
autofocus, the button will win, causing the user to have to tab back up.
Only doing this if there are no children will cause some changes,
however:
Dialogs with textual children will no longer focus the accept-button
when appearing.
However, dialogs such as the create new api token dialog will give the
focus to the first input field instead of to the create button.
* fix: add formId prop to dialog element; adapt behavior
If the component receives a form id, it will treat the primary button
as the submit button for that form. To stop a full page reload, we
call the `preventDefault` on the submit event before calling the handler.
* chore: remove redundant spacing in component.
* fix: hook environment disable form up with the new form id system.
* chore: Update existing modal forms to pass in formId
* fix: Type the dialog event wrapper
* fix: change 'allows' => 'allow' because the noun is pluralized.
* fix: add autofocus to js add-tag-dialog-component.
I've got a feeling this component isn't in use anymore, though, as the
exact same text appears in a TS-version of this component.
* fix: add autofocus to add user form.
This seems to only be used as the main piece of a modal, so adding
autofocus seems pretty safe here, but I could be wrong.
* fix: Update snapshot test after changing wording.
* fix: add autofocus to update user form
* fix: add autofocus to the create toggle form.
This is a little besides the task's actual point. However! This form
is only ever used on the page where it's the only bit of content. I'd
argue that when the user navigates to this form, it's because they
want to create a feature. Thus, adding autofocus to the first field
makes a lot of sense to me.
* refactor: set button type to 'undefined' when it isn't 'submit'
This allows Material to use their default type based on whatever
heuristics they use. It's most likely going to be 'button' for the
foreseeable future, but in the event that they change it, passing
undefined instead should future-proof this a bit.
* fix: set type to button when formId is not present
Co-authored-by: Fredrik Strand Oseberg <fredrik.no@gmail.com>
2021-11-29 15:18:12 +01: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
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
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
e0f7a78833
Fix/minor 41 bugs ( #329 )
...
* fix: bigger buttons
* feat: dialogue on strategies
* fix: constraint errors
* fix: add constraint button
* fix: variant dialogue size
* fix: remove commented code
* fix: remove unused imports
* fix: change xs to int
* fix: verify constraint config before saving strategy
* fix: reset error when context field is removed
* fix: preserve previous state when updating
* fix: disable lint for useEffect
* fix: update snapshots
2021-08-27 13:18:11 +02:00
Fredrik Strand Oseberg
b83418f410
Fix/routing ( #325 )
...
* fix: filter routes
* fix: add archive link to feature toggles list
* fix: strategy card name
* fix: add breadcrumb keys
* fix: update tests
* fix: menu placement
* fix: remove dot
* fix: handle 401 error
* fix: add important to styles
* fix: adjust positioning
* fix: remove unused imports
2021-08-19 13:54:28 +02:00
Fredrik Strand Oseberg
cc54fad3a4
Fix/console warn ( #290 )
...
* fix: resolve uncontrolled autocomplete
* fix: return if no strategy is present
* fix: change logic for retrieving context index
* fix: remove prop types from UserList
* fix: add default to api key name input
* fix: remove raised property from button
2021-05-07 08:42:51 +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
Ivar Conradi Østhus
5166198f07
Feat: admin users ( #266 )
...
* fix: make it work
* fix: cleanup add/update users a bit
* fix: fix
* fix: fine tune
2021-04-09 13:25:39 +02:00
Fredrik Strand Oseberg
dbed06f300
Feat/material UI ( #250 )
...
Co-authored-by: Ivar Conradi Østhus <ivarconr@gmail.com>
Co-authored-by: Christopher Kolstad <chriswk@getunleash.ai>
Co-authored-by: Christopher Kolstad <git@chriswk.no>
2021-03-30 15:14:02 +02:00