giseldo/neodataset huggingface dataset:
FE: Cleanup  Manager Button unneeded props

Remove it when styling is correct of layermanager

It's a useful component, because it has a tooltip. 
- remove the props `onClick` and `testId` (replace in code with data-testid) as `IconButtonProps` also has these and these props are spread over the `IconButton`.  
- styling will be removed later when we have a IconButton style

Story points: 2.0
FE: make an overview of used buttons

Currently we have too many button types. Currently we have:

- Button
- ToggleButton
- IconButton
- ToggleMenu?
- ToolButton
- some more?

After this, check with Didier how to proceed with this. What are the variants? How can we make this easier for the developer? 

We should narrow to for example:
- CustomButton
- CustomIconButton
- CustomToggleButton

After this we can discuss how to make this into dev tasks

Theme:

![Screenshot_2023-04-03_at_14.34.09](/uploads/b0309b284e08eb6109ad86bc0ce60eea/Screenshot_2023-04-03_at_14.34.09.png)

![Screenshot_2023-04-03_at_14.34.13](/uploads/72c40ba5b53e535ff9abe61dde328537/Screenshot_2023-04-03_at_14.34.13.png)

![Screenshot_2023-04-03_at_14.34.23](/uploads/14f543884f509e6e56da998da7f8a920/Screenshot_2023-04-03_at_14.34.23.png)

Shared:



![Screenshot_2023-04-03_at_14.36.02](/uploads/5c2fd86f1121b1e71e23c12b592a10d1/Screenshot_2023-04-03_at_14.36.02.png)

![Screenshot_2023-04-03_at_14.36.22](/uploads/c0e8f64dc0b0be4f161545d263f828ac/Screenshot_2023-04-03_at_14.36.22.png)

![Screenshot_2023-04-03_at_14.36.29](/uploads/3a1a49a25b3c83735c8b3ef0eeeec9f1/Screenshot_2023-04-03_at_14.36.29.png)

![Screenshot_2023-04-03_at_14.36.33](/uploads/7000e79903352a2c244838484095f380/Screenshot_2023-04-03_at_14.36.33.png)

Story points: 3.0
FE: Update Buttons new styling

Make sure the buttons use the latest design colors  https://app.zeplin.io/project/5ecf84a3c6ae1047a368f393/screen/5ecf85c60f301e47ca4eee55

- update the colors of primary, secondary, mouseovers etc. Focus outline will be picked up in https://gitlab.com/opengeoweb/opengeoweb/-/issues/3520 and can be ignored
- update design link in theme with latest design link with version

Code change should only happen in **Theme lib**. Do this for components (see if it's too big, then split it per component):
- Button
- IconButton
- ToggleButton

Story points: 3.0
FE: design WorkspaceListDialog list

- 7 mouseover color
- 8 active shape
- 9 active focus
- Fix white background for presets list
- Correct active (hover) colors

![Screenshot_2023-03-30_at_10.41.32](/uploads/7cffa7c4f6305a1089f024a6a9b999ca/Screenshot_2023-03-30_at_10.41.32.png)

https://app.zeplin.io/project/5ecf84a3c6ae1047a368f393/screen/6422fafa9613f722d3fefe16

Story points: 3.0
FE: Design workspace list Actions

- Dialog title is too big compared to the design
- ~~Buttons should be further apart~~ fixed in https://gitlab.com/opengeoweb/opengeoweb/-/merge_requests/2388

Current styling of CustomDialog:
```
sx={{
            fontSize: { xs: '16px', sm: '34px' },
            fontWeight: { xs: 500, sm: 400 },
          }}
```

Discussed with Didier, and since we are moving all modules to the screenmanager, the CustomDialog should always have fontSize 16px, not only on mobile.

![image](/uploads/d30be598b50048a3b84882ebca5f5192/image.png)
![image](/uploads/debb17435885e41e6c07ec5b16544a04/image.png)

![image](/uploads/02a42beeb48287d988b326e142bb6f20/image.png)

Story points: 2.0
FE Design backdrop

11 backdrop should not cover header 

![Screenshot_2023-03-30_at_10.43.20](/uploads/9196aa57ca7eea19dd9fbd9c8522e9e7/Screenshot_2023-03-30_at_10.43.20.png)

https://app.zeplin.io/project/5ecf84a3c6ae1047a368f393/screen/6422fafa9613f722d3fefe16

Story points: 2.0
FE Design WorspaceListDialog

- 6 header title + height
- 10 remove bottom bar > if no resize no bottom bar

![Screenshot_2023-03-30_at_10.41.32](/uploads/7cffa7c4f6305a1089f024a6a9b999ca/Screenshot_2023-03-30_at_10.41.32.png)

https://app.zeplin.io/project/5ecf84a3c6ae1047a368f393/screen/6422fafa9613f722d3fefe16

Story points: 2.0
FE: Design WorkspaceTab

3. add space
4. use correct font
5. remove space under tab
6. make sure it's horizontal aligned

![Screenshot_2023-03-30_at_10.09.49](/uploads/0947536d22ac63a0fd09dc1adbf3b432/Screenshot_2023-03-30_at_10.09.49.png)

https://app.zeplin.io/project/5ecf84a3c6ae1047a368f393/screen/6422fafa9613f722d3fefe16

Story points: 2.0
FE: Design View title

1. use correct font size
2. remove the name from the map, but keep them for multimaps

![Screenshot_2023-03-30_at_10.07.03](/uploads/8f372a00fe867faff209b909cf7f93ea/Screenshot_2023-03-30_at_10.07.03.png)

https://app.zeplin.io/project/5ecf84a3c6ae1047a368f393/screen/6422fafa9613f722d3fefe16

Story points: 2.0
BE: Shared TAF BE: Deploy fastapi taf backend in KNMI infrastructure

- The taf-backend needs to be deployed in its own private subnet, accessible to nginx. It needs to communicate with the postgres database
- The taf-backend needs to be able to talk to the publish service (https://gitlab.com/opengeoweb/opengeoweb/-/issues/3484)
- Deploy the taf placeholder, it should be connected to the postgres database
- Deploy the taf admin container, it should be connected to the postgres database

Story points: 3.0
BE: Shared TAF BE: Add publish service to deployment repo

The publish service is a separate component in the shared TAF backend. We need this as well in the KNMI TAF deployment repository:

~~- Configure a S3 bucket connected to a lambda which acts as a webservice to publish products from the new TAF backend to S3.~~
~~- The service listens to POST requests from the fast-api taf backend.~~]
- write code to run a publish service as a micro service

Follow up ticket to deploy the service & set up an S3 bucket: https://gitlab.com/opengeoweb/opengeoweb/-/issues/3577

Story points: 3.0
FE: Show selected preset

Should show the correct active preset. Same solution should work for storybook and app. Should have no reducer logic needed.

See WorkspaceTabConnect, `currentView.id` if it has id, show selected, otherwise don't show the selected. 

![Screenshot_2023-03-23_at_08.40.29](/uploads/371dc0ba68f65281bde485ca3956bc04/Screenshot_2023-03-23_at_08.40.29.png)

Story points: 3.0
FE: close dialog after selecting preset

The dialog of workspacelist should close after selecting a preset. Currently this logic is handled by local react state, but should be moved to the reducer so we can use the action everywhere in the application. 

1. in the `workspaceList` reducer add a new prop called `isWorkspaceListDialogOpen`. 
2. create a new action, toggleWorkspaceDialog with 1 param : `isWorkspaceListDialogOpen`
3. create a new selector, `getIsWorkspaceListDialogOpen`
4. replace all current local state with this redux logic
4. Now everything is working like before only in redux, only one thing left to fix and thats closing after selecting a preset

5. Inside the saga, first update the url, then close the dialog, and then fetch the current workspace. Any errors or loading state will be shown on the detail workspace


6 also close it on detail pages, as it's always open now (if too big, then split this)

Story points: 3.0
FE: MUI: Update outdated FE packages

1. Check the latest version with `npm outdated`
2. Run `npm install` for all listed packages & specify version if latest needs higher major version
    - for example: `npm install @mui/x-date-pickers@6`
3. Check that application works, tests don't fail
4. Fix errors and problems

Packages included in this dev task:
- @mui/material
- @mui/system
- @emotion/react
- @emotion/styled

- ~~@mui/x-date-pickers~~  will be done separately: https://gitlab.com/opengeoweb/opengeoweb/-/issues/3627

Story points: 5.0
FE: WorkspaceTab long title issue

Can have some improvement for long titles, it should cap the title with `...` and not come under the button. 

- On mouseover use tooltip to show the whole title. (move this to https://gitlab.com/opengeoweb/opengeoweb/-/issues/3517 to make issue smaller)
- add some more room to the left for the hamburger menu
- check it with @didier.dezanet before putting it open

![Screenshot_2023-03-22_at_12.48.54](/uploads/f43a1922f7b2b42e73deca6882455539/Screenshot_2023-03-22_at_12.48.54.png)

Story points: 2.0
FE: show error on failing of workspacelist

Make sure workspacepresetList has error state. 

example new state:
```
workspaceList: {
    // new props
    error: {
       message: '',
       type: ''
    },
    // current props
    ids: [
      'workspaceSomeId',    
    ],
    entities: {
      workspaceSomeId: {
        id: 'emptyMapView',
        date: '2023-03-21T15:21:15.089171',
        title: 'Empty Map',
        scope: 'system'
      },      
    }
  },
```

Error:
- add `error` to the `workspaceList` reducer
- add `errorWorkspaceList` action to reducer
- fix `ErrorWorkspaceList` type in `libs/screenmanager/src/lib/store/workspaceList/types.ts`
- use the new `errorWorkspaceList` inside the saga to trigger the error
- catch the error in the `workspaceList` reducer and store it. Also set `isFetching` false
- create a new selector like `getWorkspaceListError`
- use the selector to show the error state for the preset list. 
- make it so to be able to retry

Story points: 3.0
FE: fix bug when clicking a preset that's already open

There is an issue when clicking an preset that's already open. https://gitlab.com/opengeoweb/opengeoweb/-/merge_requests/2361#note_1323683531

In app we use reload to reload current preset , can we improve?

Or can we verify that if you open a preset > make changes > select same preset again > that it will remove all made changes?

Story points: 3.0
FE: SW validation: in the (recent) past

see https://gitlab.com/opengeoweb/geoweb-assets/uploads/a2aeb41d4740b779562e92d369b6e080/met_office_notification_fields_options_notes.png

- recent past = week
- verify with Eelco if recent past = week is correct --> 1 week is OK, Eelco is going to double check if there have been any events that were going on for any longer than a week

Story points: 3.0
FE: add light/dark theme toggle to user menu

* add light/dark theme toggle in user menu in knmi-geoweb and reference application
* default theme is light
* keep the theme provider with GWTheme per component
* then we can start changing components/modules one by one to respond to the toggle, starting with sigmet-airmet

App mode selector: 
light (https://zpl.io/VKBpZJJ)
dark (https://zpl.io/a3Q35Y1)

Story points: 3.0
FE: edit new fields ELECTRON_FLUX

* all the relevant fields for category ELECTRON_FLUX should become available when changing category or categorydetail
* NOTE: it's different fields for an alert/warning or summary
* for cancellation show the same fields as for the warning/extension that is being cancelled
* see table in https://gitlab.com/opengeoweb/geoweb-assets/-/issues/1292

Story points: 2.0
FE: edit new fields PROTON_FLUX

* all the relevant fields for category PROTON_FLUX should become available when changing category or categorydetail
* NOTE: it's different fields for an alert or summary
* for cancellation show the same fields as for the warning/extension that is being cancelled
* see table in https://gitlab.com/opengeoweb/geoweb-assets/-/issues/1292

Story points: 2.0
FE: edit new fields GEOMAGNETIC

* all the relevant fields for category GEOMAGNETIC should become available when changing category or categorydetail
* NOTE: it's different fields for an alert/warning/watch or summarise/cancel
* some fields influence one another (threshold value and event level for kpIndex!)
* make sure the statustag is shown at the top when cancelling/summarising
* see table in https://gitlab.com/opengeoweb/geoweb-assets/-/issues/1292

Story points: 3.0
FE: timeseries - POC Chart.js

Test on the following criteria (random order):

* Being able to create graphs as defined here: https://gitlab.com/opengeoweb/geoweb-assets/-/issues/1382
* Zoom and pan of time series graph
* Check bar chart, line chart, symbol chart
* Combining graphs
* Connect different views with time
* Use thresholds in graph-Display gaps in data-Tooltip / hovering on the graph should display actual value
* Easy updates / additions of new data
* Clear view of date/time on x axis
* Localisation options of time display
* Actively maintained repository
* Good integration with React
* Nice to have good TypeScript support
* Avoid huge dependencies (e.g. no jQuery)
* Extensibility: Be able to extend with custom code-Support to display sounding graphs / vertical profiles is probably not possible because much interactivity will be required for sounding displays
* Support for theming and styling, support light/dark theme
* Display logarithmic data

Story points: 8.0
FE: timeseries - POC Plotly

Test on the following criteria (random order):

* Being able to create graphs as defined here: https://gitlab.com/opengeoweb/geoweb-assets/-/issues/1382
* Zoom and pan of time series graph
* Check bar chart, line chart, symbol chart
* Combining graphs
* Connect different views with time
* Use thresholds in graph-Display gaps in data-Tooltip / hovering on the graph should display actual value
* Easy updates / additions of new data
* Clear view of date/time on x axis
* Localisation options of time display
* Actively maintained repository
* Good integration with React
* Nice to have good TypeScript support
* Avoid huge dependencies (e.g. no jQuery)
* Extensibility: Be able to extend with custom code-Support to display sounding graphs / vertical profiles is probably not possible because much interactivity will be required for sounding displays
* Support for theming and styling, support light/dark theme
* Display logarithmic data

Story points: 8.0
FE: timeseries - POC Recharts

Test on the following criteria (random order):

* Being able to create graphs as defined here: https://gitlab.com/opengeoweb/geoweb-assets/-/issues/1382
* Zoom and pan of time series graph
* Check bar chart, line chart, symbol chart
* Combining graphs
* Connect different views with time
* Use thresholds in graph-Display gaps in data-Tooltip / hovering on the graph should display actual value
* Easy updates / additions of new data
* Clear view of date/time on x axis
* Localisation options of time display
* Actively maintained repository
* Good integration with React
* Nice to have good TypeScript support
* Avoid huge dependencies (e.g. no jQuery)
* Extensibility: Be able to extend with custom code-Support to display sounding graphs / vertical profiles is probably not possible because much interactivity will be required for sounding displays
* Support for theming and styling, support light/dark theme
* Display logarithmic data

Story points: 8.0
FE: timeseries - POC Echarts

Test on the following criteria (random order):

* Being able to create graphs as defined here: https://gitlab.com/opengeoweb/geoweb-assets/-/issues/1382
* Zoom and pan of time series graph
* Check bar chart, line chart, symbol chart
* Combining graphs
* Connect different views with time
* Use thresholds in graph-Display gaps in data-Tooltip / hovering on the graph should display actual value
* Easy updates / additions of new data
* Clear view of date/time on x axis
* Localisation options of time display
* Actively maintained repository
* Good integration with React
* Nice to have good TypeScript support
* Avoid huge dependencies (e.g. no jQuery)
* Extensibility: Be able to extend with custom code-Support to display sounding graphs / vertical profiles is probably not possible because much interactivity will be required for sounding displays
* Support for theming and styling, support light/dark theme
* Display logarithmic data

Story points: 8.0
FE: make new timeslider work with syncgroups

The new timeslider doesn't work with the sync group stuff, this needs to be fixed: 

Hints to fix timeslider sync:
Three files in the TimeSliderRail.: https://gitlab.com/opengeoweb/opengeoweb/-/merge_requests/612/diffs#b50b30d4c8ade5773ecb10ac885bd72b3a7ff7a2_41_52   

A small adjustment was needed in the selector of the synchronization group to ensure that it is backwards compatible if there is no synchronization config: https://gitlab.com/opengeoweb/opengeoweb/-/merge_requests/612/diffs#098356053fb875ec260a820e5e05ae0dc25bd722_90_92

And lastly the timeslider now needs it's own ID: https://gitlab.com/opengeoweb/opengeoweb/-/merge_requests/612/diffs#c47d016304896ac3055cfae728d9955bf6badc26_190_189

Story points: 3.0
FE: ReactHookFormNumberField can't handle null values

If we get a `null` value from BE for a field that uses ReactHookFormNumberField, the FE would break with this error

```
Uncaught TypeError: Cannot read property 'toString' of null
    at parseInput (ReactHookFormNumberField.tsx:38)
```

See discussion here: https://gitlab.com/opengeoweb/opengeoweb/-/merge_requests/683#note_607759776


Possible solution:

1. const validationRules = {
    ...rules,
    setValueAs: (value: string): number => parseFloat(value),
  };

2. and add null check on parseInput


Scenarios to test:

- formprovider defaultvalue set to null
- ReactHookFormNumberField with defaultValue={null}
- formprovider defaultvalue set toNaN

check that the required: true validation still works for each scenario

check that it will send NaN

make sure there are no console warnings

Story points: 2.0
BE: pass correct info to audit logging

if you search for audit-logging in the lambda python code you will see that the info passed to the logging does not correspond with our format specified here: https://docs.google.com/document/d/11awf__MNJmvdAKQag2o_aBEDPmod_Z3W57RJVP8DlaA/edit#

Fix this in both spaceweather and aviation

Story points: 2.0
FE: Legend crawls down when opening

Should not crawl down when opening/closing. Only happening in the ref application and knmi-geoweb, not in the storybook examples in core.

![Screen_Recording_2021-06-21_at_18.30.30](/uploads/ccbdce630b1ace6a9e552abf9fd3cc0d/Screen_Recording_2021-06-21_at_18.30.30.mov)

Story points: 3.0
FE meeting to make a plan for light/dark theming - Thu July 1st 10h

1. 
- keep current GWTheme
- define new light theme
- define new dark theme
- theme storybook with toggle first to see how it would work
- default theme will be light
- add missing components to the theme storybook, for example different buttons etc.

2. 
- add toggle in user menu
- keep the theme provider with GWTheme per component
- then we can add components/modules one by one to respond to the toggle

Story points: 3.0
FE: make shortlist for selection of charts library

see https://gitlab.com/opengeoweb/geoweb-assets/-/issues/1380

The result of this issue is a shortlist with 3-4 graph software libraries that can be tested in the POC and the criteria (max 10) that need to be tested for each candidate. Make follow-up tickets for the backlog to make the Proof of Concepts.

Story points: 3.0
FE: electron flux new fields

* implement relevant fields for geomagnetic categories, see table
* show the fields for the UKMO notifications and KNMI notification only with originator MetOffice
* notifications with originator KNMI is a new ticket https://gitlab.com/opengeoweb/opengeoweb/-/issues/878

https://gitlab.com/opengeoweb/geoweb-assets/uploads/e7803a3c456c968b8066114276ee0008/met_office_notification_fields.png

Note:

In `constructBaseNotification`, if there are no internal notifications (`case externalprovider`) to pre-populate the fields we should make use of the last incoming (external) notification from MOUK. If there are already internal notification(s) (`case internalprovider`) we should make use of the last internal notification.

For a draft we of course use the already saved draft values

Story points: 5.0
FE: proton flux new fields

- implement relevant fields for proton flux categories, see table
- make sure the user can see 100MeV or 10Mev
- show the fields for the UKMO notifications and KNMI notification only with originator MetOffice
- notifications with originator KNMI is a new ticket https://gitlab.com/opengeoweb/opengeoweb/-/issues/878

https://gitlab.com/opengeoweb/geoweb-assets/uploads/e7803a3c456c968b8066114276ee0008/met_office_notification_fields.png

Note:

In `constructBaseNotification`, if there are no internal notifications (`case externalprovider`) to pre-populate the fields we should make use of the last incoming (external) notification from MOUK. If there are already internal notification(s) (`case internalprovider`) we should make use of the last internal notification.

For a draft we of course use the already saved draft values

Story points: 5.0
FE: geomagnetic new fields

![image](/uploads/2d5aa9a2caa68a77701854e2add9ead2/image.png)

- implement relevant fields for geomagnetic categories, see table
- for geomagnetic-storm-watch the label should say Watch instead of Warning
- show the fields for the UKMO notifications and KNMI notification only with originator MetOffice
- notifications with originator KNMI is a new ticket https://gitlab.com/opengeoweb/opengeoweb/-/issues/878

https://gitlab.com/opengeoweb/geoweb-assets/uploads/e7803a3c456c968b8066114276ee0008/met_office_notification_fields.png

Note:

In `constructBaseNotification`, if there are no internal notifications (`case externalprovider`) to pre-populate the fields we should make use of the last incoming (external) notification from MOUK. If there are already internal notification(s) (`case internalprovider`) we should make use of the last internal notification.

For a draft we of course use the already saved draft values

Story points: 5.0
FE: new fields for notifications with originator KNMI

- when making a new KNMI notification, you should be able to select the categorydetail -> add a new input field next to the category to select this, first one is default selected
- all the relevant fields for each type should become available when changing category or categorydetail

Note:
- Only show the relevant category details in the dropdown (e.g. when selecting PROTON_FLUX as event type - don't show GEOMAGNETIC_STORM_WATCH)
- X_RAY_RADIO_BLACKOUT doesn't have a category detail, the dropdown should be hidden for that
- Some category detalils can only be one type (alert or warning etc) - make sure you can only select the proper type. For example ELECTRON_FLUENCE is only a warning
- GEOMAGNETIC_WATCH has as label WARNING in the background but on screen we should always display WATCH

Story points: 5.0
FE: Add new fields to Event and Notification to deal with additional types

- update the types to match the new fields
- make the new fields optional
- see presentation, slide 4+5

https://docs.google.com/presentation/d/1nPQwy3UTFU2RHG6SvpL8FMqyN7cqUd8BoRI3nNNbmC8/edit

Story points: 3.0
FE: xray radio blackout display new fields

- implement relevant fields for xray radio blackout, see table
- show the fields for the UKMO notifications and KNMI notification only with originator MetOffice
- notifications with originator KNMI is a new ticket https://gitlab.com/opengeoweb/opengeoweb/-/issues/878

https://gitlab.com/opengeoweb/geoweb-assets/uploads/e7803a3c456c968b8066114276ee0008/met_office_notification_fields.png

Note:

In `constructBaseNotification`, if there are no internal notifications (`case externalprovider`) to pre-populate the fields we should make use of the last incoming (external) notification from MOUK. If there are already internal notification(s) (`case internalprovider`) we should make use of the last internal notification.

For a draft we of course use the already saved draft values

Story points: 5.0
BE: send all fields for each notification type

- for new notifications all the relevant fields should be stored in the database, see table
- rerun the ingest so all the old notifications also have the new data
- BE should send these fields to the FE
- openAPI specification should be updated


https://gitlab.com/opengeoweb/geoweb-assets/uploads/e7803a3c456c968b8066114276ee0008/met_office_notification_fields.png

Story points: 5.0