171 Commits

Author SHA1 Message Date
946d02102c Fixed rustfmt issues 2024-10-30 15:43:53 -06:00
379d6e0095 Pre-alpha CI/CD release support 2024-10-30 15:24:03 -06:00
1f8d72c939 Added the full Radarr CLI so users can programmatically access all the same management features as in the TUI 2024-10-29 18:47:40 -06:00
217d3242a8 Upgraded ratatui to 0.28.0 2024-09-09 17:12:43 -06:00
d84e7dfcab Refactored to require handlers to specify the components they rely on and to specify when they are ready. This fixes a lot of bugs with the UI when users try to press buttons while the application is still loading. 2024-07-17 19:55:10 -06:00
9104b7c356 Fixed bug requiring an indexer to be provided when querying for active downloads from Radarr 2024-07-03 14:17:13 -06:00
472eeb43ab Created the managarr-demo repository and created a Dockerfile for CI/CD builds. Added Docker sections to the README as well 2024-03-16 18:19:53 -06:00
6bdefa6ba5 Updated library colors to match the web UI 2024-03-16 14:40:57 -06:00
63dd6c3ad9 Fixed some breaking changes with the most recent Radarr version. A few API fields were changed with either new names, or were omitted from some responses entirely and they were not documented by the Radarr team making them difficult to track down. 2024-02-19 18:35:51 -07:00
6cadf70c1e Added full support for managing the blocklist 2024-02-15 16:20:03 -07:00
a360c83431 Refactored the ErrorMessage widget into a generic Message widget for enhanced reuse. Added support for testing a single indexer at a time. 2024-02-15 11:11:10 -07:00
b49bfaa9c1 Added sorting to the collections table, and fixed a bug that was refreshing the underlying table while users may be selecting a sort option. 2024-02-14 16:09:42 -07:00
32a8a4de76 Implemented the final widget for confirmation prompts! 2024-02-14 14:13:00 -07:00
cf14483338 Fixed a small bug with sorting the main library table. On refreshes it would reset the data and because of stable sorts, the data would change. Fixed by pre-sorting everything by ID as it is naturally when coming from Radarr prior to any subsequent sorts. 2024-02-14 12:53:21 -07:00
6cd24be5e4 Added sorting to the main library table 2024-02-13 23:00:35 -07:00
a982f610cb Fixed a bug that had the wrong styling on system errors 2024-02-13 18:42:58 -07:00
9bff58c20b Refactored all popups to use centrally defined, consistent sizes. 2024-02-13 17:56:00 -07:00
4b734811f4 Replaced all list uses with the SelectableList widget and popup widget. Simplified more popups to use the widgets 2024-02-13 16:16:31 -07:00
649f4b5e3b Added unit tests for all the new widgets 2024-02-13 12:03:56 -07:00
6ba78cb4ba Refactored table sorting into the ManagarrTable widget and StatefulTable so any and all tables created can support sorting with minimal UI changes and thus only need to focus on the handlers. I'm going to continue this effort tomorrow and look at what other widgets can be created to simplify things. Most likely, prompt boxes. 2024-02-12 19:15:02 -07:00
adda82f7f3 Refactored table filtering and searching so that they are now relative to the table being filtered/searched on. Also created two new widgets for error messages and popups to make life easier moving forward. Going to refactor table sorting into StatefulTable's as well so all tables can be searched, filtered, and sorted moving forwards. 2024-02-11 19:02:18 -07:00
5973f4d685 Fixed a slight bug with smaller screens for displaying help in the movie details 2024-02-10 19:33:52 -07:00
51b789fd0f Refactored tables and loading blocks to use the new dedicated widgets for Tables and Loading blocks 2024-02-10 19:23:19 -07:00
68de986c48 Began the Great Widget Refactor of 2024 and introduced custom widgets for buttons, checkboxes, and input boxes. Up next: loading and table widgets 2024-02-09 16:36:54 -07:00
9b0c272e76 Completed the refactor and upgrade to Ratatui v0.26. Next up: Refactoring all of the "draw_" functions into custom widgets for more ergonomic and extensible DevX 2024-02-08 13:58:45 -07:00
c6f51ab9b6 Upgraded to Ratatui 0.26 and did a partial refactor to clean up the UI module. Created the ManagarrStyle trait to make it cleaner to use consistent styles across the project. Still need to update the layouts to be consistent with the newer and nicer format. That's a tomorrow problem 2024-02-07 17:33:17 -07:00
2ec4472efc Added the ability to edit existing indexers with basic options, added a tags column to the indexers table, and fixed a bug in the counter fields that displayed the cursor next to the integer instead of on it to make understanding the counter easier. Also upgraded to confy v0.60.0 and rust version to 1.75 2024-01-19 15:45:41 -07:00
3d249cc51c Upgraded to ratatui v0.25.0 2023-12-22 15:04:13 -07:00
9123067651 Fixed a race condition bug with the MovieDetailsModal 2023-11-25 17:50:23 -07:00
76e21e7697 Added 'Test All Indexers' table and functionality to the Indexers tab, and upgraded to Ratatui 0.24.0 and cleaned up code for newer Ratatui version 2023-11-25 17:36:30 -07:00
d0ce98eb93 Fixed race condition bug in loading movie history when user has not yet fetched the movie details 2023-11-25 12:40:07 -07:00
4413317863 Updated rust version to 1.72 and removed unnecessary restrictions keymapping from the indexers tab 2023-10-15 11:31:14 -06:00
2b15afcb83 Added support for editing all indexer settings (finally)! 2023-09-08 16:06:20 -06:00
b16a58deae Updated Ratatui, created custom deserialization logic for i64s to make life easier, and used string interpolation where possible to reduce the lines needed to write log messages or create formatted text 2023-09-07 17:20:38 -06:00
e13d1ece58 Fixed a bug with cancelling tokens when processing prompt networking events 2023-08-17 16:48:37 -06:00
268029bfe8 Fixed a few linting warnings 2023-08-16 11:32:29 -06:00
907fa9a2ec Refactored unnecessary data fields into Options to make the code cleaner, and to reduce the memory usage of the application 2023-08-14 13:02:50 -06:00
23ad489b15 Updated the logs query to fetch 500 log lines instead of just 100 for more useful logging information 2023-08-12 13:04:18 -06:00
ec9d23ede7 Refactored the movie_details_popup data into the MovieDetailsModal so things are neater and to follow the same format I've already established for other modals 2023-08-11 16:37:21 -06:00
f7cb832095 Refactored the filter and search logic to follow the established modal logic and added some refactored functions to the UI module as well to clean up the UI code too 2023-08-10 16:43:57 -06:00
ce12ebd301 Refactored the HorizontallyScrollableText struct to handle Unicode strings more uniformly and to not rely on byte boundaries but instead to rely on Unicode char boundaries 2023-08-08 14:15:23 -06:00
218d442694 Fixed unicode bug where horizontally scrollable text would attempt to iterate beyond the length of the string; this happens whenever unicode values are present in the string 2023-08-08 10:50:18 -06:00
56fe4400cc Fixed another subtle bug with scrolling movie titles when showing the delete movie popup 2023-08-08 10:50:07 -06:00
e9b6ff0ca1 Fixed a subtle bug when downloading movies where the movie_id needs to be specified in the POST to the releases endpoint 2023-08-08 10:50:07 -06:00
77fd9e621f Did a lot of things in this one: Cleaned up a bit of leftover unused code from yesterday; deprecated the use of drain() on HorizontallyScrollableText; Refactored the uses of search and filter to be wrapped in Options; Fixed a race condition when closing the Add Movie modals in rapid succession; upgraded to ratatui 0.22.0; Fixed a bug in attempting to close an empty root folder; fixed a bug in attempting to close an empty filter; fixed a bug in attempting to close an empty search; fixed a bug in attempting to close an empty filter without resetting the view; fixed a bug in attempting to delete a movie after dynamically added one and updating the main library table 2023-08-08 10:50:07 -06:00
2d624e2648 Refactored the Edit/Add modals into their own structs so that adding similar modals in the future is more consistent, uses less RAM (since it's wrapped in an Option now), and is easier to implement. This comes with an initial example of the IndexerSettings UI that needs its own modal now. The modal has been created but it is still not used just yet so that's the next step. 2023-08-08 10:50:07 -06:00
e2e4bf16e4 Added additional fixes 2023-08-08 10:50:07 -06:00
618ba09b02 Refactored the RadarrData and ActiveRadarrBlock structs into their own file in models/servarr_data to make things neater and cleaner and easier to build on 2023-08-08 10:50:07 -06:00
c8781ae442 Removed unnecessary use of clap since I'm making a TUI and not a CLI application 2023-08-08 10:50:07 -06:00
dd339d1685 Refactored the key_mappings into files for context_clues for better naming conventions, and added unit tests for the clues and the contents of the ActiveRadarrBlock arrays that are used for chain-of-responsibility delegation in the handlers and UI components. 2023-08-08 10:50:07 -06:00