Commit Graph

230 Commits (f3c8ed2947f66b5c4e2441939fb5a0487688d64c)

Author SHA1 Message Date
Julius Volz 8ee70c5fa0 Remove unused import
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-09-04 21:03:00 +02:00
Julius Volz 1f3de9c599 Change range input from Input to TextInput
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-09-04 20:43:33 +02:00
Julius Volz d36e049d79 Fix lint errors by removing unused imports and vars
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-09-04 17:49:08 +02:00
Julius Volz 7103b35568 Add "Show exemplars" button (doesn't do anything yet)
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-09-04 17:45:31 +02:00
Julius Volz 88519152e5 Minor cleanups
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-09-04 17:44:54 +02:00
Julius Volz c0ba4ee2bb Add beginnings of a PromLens-style tree view
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-09-04 17:43:08 +02:00
Julius Volz e5e212dad2 Remove wrong query key for format_query
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-09-04 17:35:17 +02:00
Julius Volz fef4c15283 Remove commented-out line
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-09-04 17:34:35 +02:00
Julius Volz a99c01b53f Implement query history
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-09-04 17:25:34 +02:00
Julius Volz f3f324be89 Don't update pathPrefix in settings on every App render
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-09-04 17:18:41 +02:00
Julius Volz d0ccbd2eb5 Top-align all targets page table cell contents, other styling
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-09-03 16:09:50 +02:00
Julius Volz eb175c88f6 Correctly pass custom title into ResettingErrorBoundary
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-09-03 16:07:04 +02:00
Julius Volz 857e59c8b6 Improve EndpointLink styling
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-09-03 16:05:30 +02:00
Julius Volz 5599db20cd Change use{Suspense}APIQuery key to an array
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-09-03 16:05:05 +02:00
Julius Volz 9e4ffd044c Implement Alertmanagers discovery page
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-09-03 15:59:02 +02:00
Julius Volz 87a22500e1 Add PromQL logic code and labels explorer from PromLens, add testing deps
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-09-02 13:45:36 +02:00
Julius Volz 6999e8063f Don't wrap Prometheus logo + brand line
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-09-02 13:42:14 +02:00
Julius Volz 85735d58dd ESLint: Allow some const values in non-const destructuring
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-09-02 13:41:40 +02:00
Julius Volz b29be5e6f8 Add query button to rule expressions, improve styling
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-09-01 20:28:42 +02:00
Julius Volz bc48d19d8c Add initial metrics explorer
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-08-28 21:14:21 +02:00
Julius Volz 4ccadd5453 Remove unused import
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-08-28 16:30:45 +02:00
Julius Volz 697327a51d Add filtering to SD page and improve state processing
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-08-28 15:35:32 +02:00
Julius Volz 4ce71af1b9 Rename debouncedSearch -> search in buildAlertsPageData
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-08-28 15:03:16 +02:00
Julius Volz d3b6b0f288 Rename "value" to "step" in resolution state
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-08-28 14:59:17 +02:00
Julius Volz f195046b4d Remove obsolete TODO
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-08-28 14:58:24 +02:00
Julius Volz 38e21abe7f More specific TS typing for range query results (always matrix)
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-08-28 14:58:10 +02:00
Julius Volz 0018b29489 Rename query params on targets page, fix pool limit
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-08-28 14:57:12 +02:00
Julius Volz d22e721d39 Add initial Service Discovery page
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-08-28 14:56:35 +02:00
Julius Volz 73a328f37b Memoize and improve targets page filtering
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-08-28 14:54:56 +02:00
Julius Volz d6e5e39bf7 Add filtering to alerts page
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-08-28 14:54:08 +02:00
Julius Volz 4efd47741e Correctly encode/decode new resolution states in URL
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-08-21 18:06:38 +02:00
Julius Volz 2c972dba26 Implement stacked graphs (dirty) and improve React wrapping
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-08-16 20:41:18 +02:00
Julius Volz 648751568d Better target table formatting, store filters in URL
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-08-10 20:25:38 +02:00
Julius Volz b2a8657d58 Open target endpoint links in separate window/tab
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-08-10 20:18:22 +02:00
Julius Volz 3905902758 Add path prefix to readiness check
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-08-08 17:01:40 +02:00
Julius Volz a5b811627f Simplify / improve wrapping behavior on the rules page
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-08-06 16:40:01 +02:00
Julius Volz e07dd8cd05 Always display HTTP params under the endpoint link
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-08-06 16:39:25 +02:00
Julius Volz b37fe21f63 Make badge colors more consistent
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-08-06 16:38:31 +02:00
Julius Volz b0c6aa48a4 Remove "scroll to top" button, it's causing page renders on every scroll
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-08-06 16:38:05 +02:00
Julius Volz 0c55b25919 Show a gray health ring for empty pools
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-08-06 09:16:18 +02:00
Julius Volz af6287b232 Add more tooltips to the /rules page, move health indicator to the right
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-08-05 20:13:56 +02:00
Julius Volz 76c3429e67 Add dropdown for discovered labels on /targets page
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-08-05 20:13:49 +02:00
Julius Volz d0a08623f5 Add TODO about navbar breakpoint
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-08-05 19:04:21 +02:00
Julius Volz 6cfee68b72 Nicer panel health colors for both light and dark modes
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-08-02 19:47:01 +02:00
Julius Volz dffc526b2b Update Mantine dependencies
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-08-02 19:45:29 +02:00
Julius Volz 406f8b6e23 Set DataTable display limits to original ones again
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-08-02 19:44:55 +02:00
Julius Volz f30a58afaf Completely refactor DataTable, show query infos and warnings
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-08-01 13:13:02 +02:00
Julius Volz 0f951774b8 Merge branch 'main' into mantine-ui
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-07-31 21:02:21 +02:00
Julius Volz e2d37b6d92 Implement kv search on targets page again
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-07-31 18:50:41 +02:00
Julius Volz a6b085ee5a Refactor DataTable, record & show query stats
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-07-31 16:19:38 +02:00
Julius Volz 5dca5a4718 Fix max number of displayed series in table
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-07-31 16:18:23 +02:00
Julius Volz c6d2ce8e7e Remove console.log() debug line
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-07-30 13:12:49 +02:00
Julius Volz 4343281c73 Show table alerts for limited series or disabled formatting
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-07-30 10:48:18 +02:00
Julius Volz b06bb78543 Add filtering, limiting, and more to targets page
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-07-27 16:29:18 +02:00
Julius Volz 6321267996 Add missing ResolutionInput.tsx file to git
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-07-27 16:28:42 +02:00
Julius Volz cacfc693c4 Point new UI local API proxying back to localhost Prometheus
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-07-25 14:28:56 +02:00
Julius Volz f7a97417a5 Move resolution input into separate component + file
Also don't reload the graph on custom resolution input blur if the resolution
hasn't changed.

Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-07-23 23:13:06 +02:00
Julius Volz a2a177a04c Clean up uPlot CSS rules a bit
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-07-23 21:22:23 +02:00
Julius Volz 90cf8b3082 Move uPlot plugins and glue code to separate file
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-07-23 21:21:34 +02:00
Julius Volz 89d18bf681 Minor comment/code cleanups
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-07-23 20:00:42 +02:00
Julius Volz de1cb93cb1 More uPlot coloring improvements/fixes
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-07-23 20:00:10 +02:00
Julius Volz 3ecc13b330 Show single samples without neighbors as dots
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-07-23 19:59:10 +02:00
Julius Volz 7ea75c75c0 Show brighter graph line colors in dark mode
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-07-23 19:58:15 +02:00
Julius Volz 1b2290c131 Remove unused imports in new UI to fix build
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-07-23 11:35:37 +02:00
Julius Volz d6f4d3a00b Implement dark theme for uPlot graphs
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-07-23 01:31:06 +02:00
Julius Volz a526a7ae53 Implement encoding/decoding graph pages to/from URL
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-07-22 22:47:41 +02:00
Julius Volz e87214a6bd Handle graph/table tab selection via Redux state
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-07-22 16:31:18 +02:00
Julius Volz 0049e8baff Implement timezone handling for uPlot graphs
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-07-22 16:08:39 +02:00
Julius Volz 8ef66c41a0 A lot of work around uPlot and resolution picking
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-07-21 23:55:08 +02:00
Julius Volz 1c91b82206 Initial uPlot work in Mantine UI
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-07-21 18:26:11 +02:00
Julius Volz d9520b1a79 Try out uPlot for new UI
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-07-19 12:13:14 +02:00
Julius Volz 9252826659 ECharts experiment
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-07-17 21:09:30 +02:00
Julius Volz ea54dac130 DataTable: color timestamps gray
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-07-17 11:31:32 +02:00
Julius Volz c67b7a7c56 Store global settings in localStorage
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-07-17 10:50:32 +02:00
Julius Volz b2bf2226df Tweak menu icons
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-07-16 12:57:55 +02:00
Julius Volz 1aa79e29a2 Add server readiness check and WAL replay progress display
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-07-15 22:21:14 +02:00
Julius Volz 8fae131733 Move Settings context data into Redux settings slice
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-07-15 22:19:47 +02:00
Julius Volz af7a010558 Fix agent-mode menu items, path prefix calculation, and homepage redirects
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-07-10 22:41:47 +02:00
Julius Volz c21a18a8dd
Minor style improvements for native histograms in table view (#14448)
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-07-10 13:16:15 +02:00
Manik Rana 373f09796d
feat (ui): Add Native Histogram rendering to new UI (#14431)
* feat: scaffold new ui native histogram

Signed-off-by: Manik Rana <manikrana54@gmail.com>

* feat: add native histogram rendering

Signed-off-by: Manik Rana <manikrana54@gmail.com>

* feat: add tooltip

Signed-off-by: Manik Rana <manikrana54@gmail.com>

* fix:revert package-lock changes

Signed-off-by: Manik Rana <manikrana54@gmail.com>

* chore: fix tab spacing

Signed-off-by: Manik Rana <manikrana54@gmail.com>

* fix: apply suggestions and fixes

Signed-off-by: Manik Rana <manikrana54@gmail.com>

* chore: lint

Signed-off-by: Manik Rana <manikrana54@gmail.com>

---------

Signed-off-by: Manik Rana <manikrana54@gmail.com>
2024-07-09 22:51:37 +02:00
Julius Volz e8bbe191d4 Build both old & new UI into Prometheus, allow choosing via feature flag
This keeps the old "react-app" directory in its existing location (to make
it easier to merge changes from the main branch), but separates it from the
npm workspaces setup. Thus it now needs to be npm-installed/built/linted
separately. This is a bit hacky, but should only be needed temporarily,
until the old UI can be removed.

Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-04-18 15:08:40 +02:00
Julius Volz a057601771 Fix a few Mantine UI lint errors
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-04-18 15:04:14 +02:00
Julius Volz 50118dc174 Change icon for state multiselect
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-04-09 12:50:22 +02:00
Julius Volz 1049c90cb5 Clean up file hierarchy a bit, add some more comments
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-04-09 12:36:53 +02:00
Julius Volz cdc4bf0ebc Various tiny code cleanups
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-04-03 16:15:50 +02:00
Julius Volz 0cc6645c2d Some improvements to completion info tooltip for new CM version
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-04-03 14:50:29 +02:00
Julius Volz a1f36de67c Add missing alerts page redux slice file
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-04-03 14:49:21 +02:00
Julius Volz 719b31f1b5 Show rules page as collapsed accordion instead of rules table
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-04-03 14:48:59 +02:00
Julius Volz 8165a6e337 Better color for "unknown" health badge
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-04-03 14:48:01 +02:00
Julius Volz c2eb4007bb Better top nav page titles, clickable Prometheus brand logo
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-04-03 14:47:38 +02:00
Julius Volz b40a029599 More timestamp handling fixes/improvements
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-04-03 14:46:55 +02:00
Julius Volz 3c44f43815 Add state filtering to alerts page
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-04-03 14:46:17 +02:00
Julius Volz 2be782df77 Various query page improvements
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-04-03 14:45:35 +02:00
Julius Volz 684698b827 Remove unused old multiselect code
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-04-03 14:44:16 +02:00
Julius Volz 1f5605fe63 Time formatting / parsing improvements
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-04-03 14:43:56 +02:00
Julius Volz 70221fc4a0 Build initial targets page
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-04-03 14:43:03 +02:00
Julius Volz a699cbefae Try making /rules timing badges clearer by adding text
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-03-14 12:21:05 +01:00
Julius Volz 64dabd4379 Use redux-based settings in expression input component
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-03-14 12:20:19 +01:00
Julius Volz 9fe8a5dba7 Make spacing, shadows, and radius sizes more consistent
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-03-14 12:19:41 +01:00
Julius Volz 627826783c Add state and label/alertname filter mockups to Alerts page
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-03-14 12:18:03 +01:00
Julius Volz 2f95bbe570 Improve humanizeDuration() code and output
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-03-14 12:14:51 +01:00
Julius Volz 00d2a49f4d Better gray tones for "Unknown" health color
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-03-14 12:13:19 +01:00
Julius Volz 796d1806da Add Settings menu, make menu links left-justified again
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-03-14 12:07:13 +01:00
Julius Volz 121d92209d Make Status menu wide enough for new icon size
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-03-14 12:05:26 +01:00
Julius Volz dee41028f7 Fix path prefix handling for "/"
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-03-14 12:04:50 +01:00
Julius Volz 143917cfe0 Nav link size cleanups
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-03-14 12:04:24 +01:00
Julius Volz e29ad4a83b Add "Scroll to Top" component
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-03-14 12:02:45 +01:00
Julius Volz 6ff7857313 Add codeicon font for autocompletion icons
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-03-14 12:00:40 +01:00
Julius Volz ebb468cedf Add graphing component stub
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-03-08 17:44:21 +01:00
Julius Volz 9093e0ab91 Cleanups in DataTable code
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-03-08 17:43:38 +01:00
Julius Volz b17dae1dab Increase range input width
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-03-08 16:05:45 +01:00
Julius Volz d9768a70b6 Add missing response type file
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-03-08 16:02:00 +01:00
Julius Volz d5a1e71f6c Make time and range input controls prettier
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-03-08 16:01:41 +01:00
Julius Volz 2b12ff7ce8 Fix query_format path
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-03-08 15:19:43 +01:00
Julius Volz d2f913ac1e Implement initial time check and fetching of metric names
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-03-08 15:15:49 +01:00
Julius Volz 33a753c2f8 Implement pathPrefix handling
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-03-08 14:06:05 +01:00
Julius Volz 5fea050fed Refactor API fetching code, handle all possible errors correctly
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-03-07 21:05:12 +01:00
Julius Volz 92195e3fb6 Implement expression formatting
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-03-07 17:45:14 +01:00
Julius Volz 074b4eb36e Smaller font size for data table
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-03-07 17:44:45 +01:00
Julius Volz 124f36e670 Add back removing panels via menu
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-03-07 16:59:47 +01:00
Julius Volz 1e523b204d Improve query panel / data table layout and spacing
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-03-07 16:59:25 +01:00
Julius Volz 2bb14c5787 Lots of more progress on the new Mantine UI
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-03-07 13:16:54 +01:00
Julius Volz 89ecb3a3f2 Add input field to /graph page.
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-02-23 17:38:25 +01:00
Julius Volz 128b6461e9 Start working on /alerts page, factor out rule definition display
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-02-23 17:37:56 +01:00
Julius Volz 65cc7b058e Remove index.css from initial default app
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-02-23 14:21:20 +01:00
Julius Volz ce1ca6481e Better navbar icon sizes
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-02-23 14:19:46 +01:00
Julius Volz 096acdce7e Fix npm workspaces build for Mantine UI
Thanks to input by @nexucis :)

Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-02-21 22:36:27 +01:00
Julius Volz cc38c1426a Attempt to integrate Mantine UI into npm workspaces + Prometheus binary
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-02-21 11:14:35 +01:00
Julius Volz d6a347e5de Implement several status pages and other general aspects
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-02-21 11:13:48 +01:00
Julius Volz dfabda7507 Add scaffold for new Mantine-based UI
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-02-17 12:29:47 +01:00