Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Task](ui): Finalise Notifications #721

Open
3 tasks
Tracked by #62
franzheidl opened this issue Jan 15, 2025 · 0 comments
Open
3 tasks
Tracked by #62

[Task](ui): Finalise Notifications #721

franzheidl opened this issue Jan 15, 2025 · 0 comments
Labels
ui-components All tasks related to juno-ui-components library

Comments

@franzheidl
Copy link
Contributor

franzheidl commented Jan 15, 2025

Task Description
Currently, we do not have a comprehensive, usabel notification ssystem that allows developers to create light weight, short-lived/transient messaging and confirmation to end users about results of their actions.

We have created a Toast component that represents an actual notification, but we have no integrated nor comprehensive context that would manage, place, or position these in the context of an application in place.

In order to remedy that situation and make notifications usable for developers in a comprehensive and consistent manner, we should:

Sub-tasks

  • Rename Toast component to Notification
  • Create a NotificationManager component, that creates and removes notifications and places them in the DOM (some thoughts/directions below, exact specs TBD)
  • Research a11y needs and concerns, and implement with Notification accordingly

Create subtasks accordingly when working on this.

Some (preliminary, validate before actually implementing!) requirements/specs:

  • Notifications should always be in front (z-axis) any other UI elements, even those which are rendered into a portal using PortalProvider (use highest z-index, use dedicated container that is rendered after the parent of portal containers rendered by PortalProvider, ideally combine both approaches)
  • Multiple notifications can exist at any point in time. These should stack up vertically and not cover each other. (-> render all into the same portal-container or similar element)
  • Notification duration, placement, and other parameters should be props of the NotificationManager, however some individual notifications should be able to accept their own props and override the global settings.
  • Notifications should be positioned relative to the viewport, so they stay at the same position relative to the browser window when scrolling or resizing

Related Issues
#691 could easily be satisfied with this component once completed.

@franzheidl franzheidl added the ui-components All tasks related to juno-ui-components library label Jan 15, 2025
@franzheidl franzheidl changed the title [Task](ui): Toast component should use PortalProvider [Task](ui): Finalise Notifications Jan 16, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ui-components All tasks related to juno-ui-components library
Projects
None yet
Development

No branches or pull requests

1 participant