Nuno Góis
347c1cabbc
feat: add new sticky component to handle stacked stickies ( #5088 )
...
https://linear.app/unleash/issue/2-1509/discovery-stacked-sticky-elements
Adds a new `Sticky` element that will attempt to stack sticky elements
in the DOM in a smart way.
This needs a wrapping `StickyProvider` that will keep track of sticky
elements.
This PR adapts a few components to use this new element:
- `DemoBanner`
- `FeatureOverviewSidePanel`
- `DraftBanner`
- `MaintenanceBanner`
- `MessageBanner`
Pre-existing `top` properties are taken into consideration for the top
offset, so we can have nice margins like in the feature overview side
panel.
### Before - Sticky elements overlap 😞
![image](https://github.com/Unleash/unleash/assets/14320932/dd6fa188-6774-4afb-86fd-0eefb9aba93e )
### After - Sticky elements stack 😄
![image](https://github.com/Unleash/unleash/assets/14320932/c73a84ab-7133-448f-9df6-69bd4c5330c2 )
2023-10-19 15:50:37 +01:00
Nuno Góis
65f424156c
feat: re-order message banners ( #4995 )
...
https://linear.app/unleash/issue/2-1494/re-order-message-banners
- Re-orders message banners to fit into this logic:
>1. Maintenance banner
>2. External message banner(s) - Most likely coming from Unleash
>3. Internal message banner(s)
- Renames the feature flag to better reflect the feature behavior;
- Lays a basic skeleton structure for this new feature;
2023-10-11 11:55:54 +01:00
Nuno Góis
4167a60588
feat: biome lint frontend ( #4903 )
...
Follows up on https://github.com/Unleash/unleash/pull/4853 to add Biome
to the frontend as well.
![image](https://github.com/Unleash/unleash/assets/14320932/1906faf1-fc29-4172-a4d4-b2716d72cd65 )
Added a few `biome-ignore` to speed up the process but we may want to
check and fix them in the future.
2023-10-02 13:25:46 +01:00
Nuno Góis
6c79c790a9
feat: implement demo guide steps logic ( #3528 )
...
https://linear.app/unleash/issue/2-915/implement-guide-steps-logic
https://user-images.githubusercontent.com/14320932/232099388-a8138b29-8256-4ed2-b8f4-f7607cf3ab9c.mp4
See discussion for context:
https://unleash-internal.slack.com/archives/C046LV85N3C/p1681723816687779?thread_ts=1681488537.345059&cid=C046LV85N3C
Relates to [roadmap](https://github.com/orgs/Unleash/projects/10 ) item:
#3537
2023-04-18 10:56:15 +01:00
Nuno Góis
aaa96f71cb
feat: message banner ( #2726 )
...
Related to:
https://linear.app/unleash/issue/2-511/exploration-build-data-for-the-possibility-of-showing-an-alert-to-the
Namely:
https://unleash-internal.slack.com/archives/C046LV85N3C/p1671443897386729
The idea is to have a general message banner that can be controlled
through a feature flag in Unleash to display announcements, warnings,
informations, etc.
Currently using mock feature flags, but the idea is to bind this to a
feature flag we can manage in our Unleash instance, and use its payload
to provide information to end users whenever we want.
Co-authored-by: Gastón Fournier <gaston@getunleash.ai>
2022-12-22 15:16:51 +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
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
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
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
olav
d8143c6ff4
chore: update react-router to v6 ( #946 )
...
* refactor: fix child selector warnings
* refactor: update react-router-dom
* refactor: use BrowserRouter as in react-router docs
* refactor: replace Redirect with Navigate
* refactor: replace Switch with Routes
* refactor: replace useHistory with useNavigate
* refactor: replace useParams types with useRequiredPathParam
* refactor: replace NavLink activeStyle with callback
* refactor: fix matchPath arg order
* refactor: Remove unused link state
* refactor: delete broken snapshot test
* refactor: render 404 page without redirect
* refactor: normalize path parameter names
* refactor: fix Route component usage
2022-05-05 13:42:18 +02:00
olav
24c11332b5
chore: update MUI to v5 ( #923 )
...
* refactor: update mui packages
* refactor: run mui codemods
* refactor: format files after codemods
* refactor: fix broken types
* refactor: clean up theme
* refactor: fix broken tests
* refactor: replace @mui/styles with tss-react
* refactor: move breakpoints into classes for tss
* refactor: fix crash on missing feature description
* refactor: remove void classNames
* refactor: adjust styles to new defaults
* refactor: remove broken rollout slider e2e test
* refactor: fix duplicate e2e testid
* refactor: update makeStyles after rebase
* refactor: add missing snapshot after rebase
* refactor: fix TableCellSortable focus styles
* refactor: use 1.4 as the default line-height
* refactor: hide webkit search field icons
* refactor: fix select box label
* refactor: make AutocompleteBox smaller
* refactor: make heading smaller
* refactor: fix toast close icon color
* refactor: update snapshots
* refactor: add missing test event awaits
* refactor: fix default button line-height
2022-05-02 15:52:41 +02:00
olav
5288438c9f
refactor: use buttons for sortable <th>s ( #898 )
...
* refactor: use buttons for sortable <th>s
* refactor: announce sorting to screen readers
* refactor: fix MenuItem padding override
2022-04-22 14:03:58 +02:00
Tymoteusz Czech
9dd88b488f
refactor: additional unit tests for multi-project tokens - ( #863 )
...
* refactor: add theme to test renderer
* feat: add tests to token list
* projects list for multi-project tokens
* refactor: api token form available projects map
* update variable name
* fix: restore selected project on token type change
* fix: select project input code formatting
* fix: improve code formatting after review
2022-04-08 16:01:43 +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
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
olav
cfc2338e78
refactor: use camel case for files and dirs ( #817 )
2022-03-25 12:34:20 +01:00
olav
c7dedecf70
refactor: remove craco and wdyr ( #753 )
2022-03-01 10:56:38 +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
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
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
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
Fredrik Strand Oseberg
ad09c4039a
Fix/strategy constraints ( #289 )
...
* fix: only update editable strategies if index is less than 0
* fix: add wdyr
* fix: set tracking to false as default
* chore: update readme
2021-05-07 08:31:25 +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
Ivar Conradi Østhus
f669f96d49
wip: frontend should understand rbac permissions ( #269 )
...
* chore: update changelog
* 4.0.0-alpha.4
* wip: frontend should understand rbac permissions
* move all feature components to hasAccess
* fix: remove all change permissions
* fix all the tests
* fix all the tests x2
* fix snapshot for node 12
* fine tune perms a bit
* refactor: rewrite to ts
* refactor: use admin constant
* fix: import
Co-authored-by: Fredrik Oseberg <fredrik.no@gmail.com>
2021-04-20 19:13:31 +02:00
Fredrik Strand Oseberg
86631b53c9
Fix/material UI cleanup ( #264 )
...
* fix: strategy dialogue
* fix: fontweight dropdown
* fix: eventlog padding
* refactor: history
* refactor: use material ui styling conventions for history
* refactor: add empty state for features
* refactor: variant dialog
* refactor: delete unused variant config
* fix: variant typography
* fix: remove unused styles file
* fix: footer
* feat: protected routes
* fix: rename app
* fix: remove console log
* fix: convert app to typescript
* fix: add standalone login screen
* fix: cleanup
* fix: add theme colors for login
* fix: update tests
* fix: swap route with ProtectedRoute
* fix: remove unused redirect
* fix: use redirect to correctly setup breadcrumbs
* refactor: isUnauthorized
* fix: reset loading count on logout
* fix: create a more comprehensive auth check
* feat: add unleash logo
2021-04-12 15:04:03 +02:00
Christopher Kolstad
22795e251f
Migrate to create-react-app and react-scripts ( #263 )
...
* Setup create-react-app and typescript
Co-authored-by: Fredrik Oseberg <fredrik.no@gmail.com>
2021-04-07 09:04:48 +02:00