Releases: deepanchal/dnote-tui
Releases · deepanchal/dnote-tui
dnote-tui: v0.5.0
0.5.0 (2024-07-06)
Features
- action: add popup related actions, AddBook action (2100e78)
- app: add ability to delete book and all its pages with <d> on books pane (4c5f69d), closes #52
- app: add ability to delete page with <d> on pages pane (7dcad80), closes #51
- app: add add new page to selected book functionality (14a7fd9)
- app: add RenameActiveBook functionality with <r> on active book (0089add)
- app: implement add book functionality with popup using <a> keybind (c93c1cf), closes #19
- app: pass mutable state in component trait's handle_events, update, other funcs + update usages (70d243b)
- app: wait for enter to resume app after spawning external process (6ec88f4)
- build: setup docker for testing dnote operations with tui (1235233)
- comps: add Popup component, update components mod (0af8e1a)
- comps: build status line dynamically from config for components (f0a754a), closes #64
- comps: fix list highlight style, format page ids in different color (af2a1c9)
- comps: show selected book on top right of pages pane (ea7404d)
- config: add build_status_line func to dynamically build status line from mode's keybindings (0499b75)
- config: update keybinds in config.json5 (cef3054)
- deps: add tui-input dep, update lockfile (bbce5f9)
- dx: setup git hooks w/ cargo-husky (198b5ef), closes #55
- footer: show current input mode on footer (e42b95a)
- scripts: add seed-dnote-db script (455a006)
- state: add helper funcs to State (3660f62)
- state: add InputMode enum, store input_mode in State (3266972)
- state: add select_book & select_page helpers on State struct (114dd6d)
- state: add update_pages method on State (cc52d80)
Bug Fixes
- action: add missing action label & order methods (c00c0e0)
- action: derive Hash trait for Action enum (198b0f8)
- action: remove unused action types from label getter (5b2cd68)
- app: add + use UpdateActiveBookPages action to keep page selected after edit (e7604ae), closes #71
- app: add missing init & update calls for header & footer components in App (84a9a14)
- app: give more space to pages pane by changing layout constraints (057d1f1)
- app: keep page pane selected after adding new page to book (4ccc132)
- app: refresh book page content & summary after editing page (1cd9793)
- config: sort keybind keys by length for consistency (fff7e5a)
- config: update keybindings in config.json5 (3872604)
- config: use correct method for action label (3c35d29)
- lint: fix lint issue with state.rs (1cbe3ab)
- mode: remove default Home mode, update tests & keybindings (b4201b1)
- popup: fix colors in popup (c23f6de)
- state: skip next and previous on StatefulList if list is empty (62092a5), closes #58
Documentation
- add demo vhs & gif, remove old screenshot, update demo in readme (2618624)
- README: add command to run app once installed section in readme (dc35e57)
- README: add docker docs to README.md (7040c22)
- README: add installation docs, update roadmap (7690730)
- README: fix issue links in roadmap checklist (34fb2fd)
- README: update roadmap section (9cb4269)
- static: update demo.gif with new layout (cddcf80)
Code Refactoring
- action: remove unused types from action (26b62d5)
- app: add ExecuteCommand action, move external command spawning actions to their corresponding panes (54dafcd)
- app: add pause & resume helper funcs, update usages for external process handlers (0be13f2)
- app: improve status line updates from within books and pages pane (50f415a)
- app: move out all global action handlers to where they belong (730ec98)
- app: move status line state to footer and update via StatusLine action, update usages (724a02d)
- app: store tui, action_tx, action_rx in app for better flexibility (b71bbee)
- app: update action names, use state helper funcs for updating books/pages/content (1119d52)
- mode: move Mode enum to state.rs, update usages (67eaab7)
Tests
- unit: add test cases for empty stateful list bug #58 (7baa3d5)
- unit: add tests for select_book & select_page methods (15ab596)
- unit: add tests for update_pages method in State struct ([b7f9ee3](https://github.com/deepanchal/dnote-tui/comm...
dnote-tui: v0.4.1
dnote-tui: v0.4.0
0.4.0 (2024-07-03)
Caution
This release does not build correctly. Please use future releases, as this issue was resolved in 80a4da3
Features
- action: add new actions (bf1afd8)
- app: add dnote and state members in App struct, initialize them (5ecc01d)
- app: define Action::Refresh handler, send refresh action once app returns from suspend (0974ab9)
- app: implement EditPage functionality on <e> keypress in PagesPane (40bbb22)
- app: move mode to State struct (08f1bb4)
- app: register header component in app, update component mod (fd8f2fd)
- app: update app setup with state, add books, pages, content components, other improvements (9fe4aac)
- comps: add focus highlight, other improvements on books and pages pane (257e5b7)
- comps: add header component (d2cf6f1)
- comps: show current of total books in BooksPane (4031cb2)
- comps: show current of total pages in PagesPane (bea45e1)
- config: add keybindings for Book, Page mode (ced9f0d)
- dnote: derive Default for Dnote, add new fn (39154ce)
- dnote: derive useful traits for DnoteBook & DnotePage (b714bd9)
- footer: add keybindings info with footer status line (e464a7c)
- main: set dnote module as pub in main.rs (40fe7f5)
- mode: add Book, Page, Content enum variants (cddfd51)
- state: add app state mod (84dbaf6)
- state: add StatefulList struct, update members of State struct (cdd4c63)
- utils: add PROJECT_VERSION static var (0bc53f0)
Bug Fixes
- app: auto select first page when focusing book -> pages (799f0dd)
- app: fix app crash when no book is selected and FocusNext is sent (8988506)
- app: fix layout formatting between header, main, footer (28ccfb1)
- app: fix lint issue with string cloning (e6d43d9)
- cli: set default app frame rate to 30 fps (aaae1d6)
- components: remove deleted mods from components (6ddf7eb)
- comps: add title padding in content pane title (dce000e)
- deps: update rust crate human-panic to v2 (d7744e9)
- deps: update rust crate serde_json to v1.0.120 (0f4e2a7)
- deps: update rust crate strum to v0.26.3 (b717c1a)
- dnote: update dnote lib to use color_eyre errors (1323d70)
- lint: fix clippy warnings (2412bf0)
- pkg: update package metadata, add missing deps, update lockfile (ff903eb)
- src: delete unused files from old repo structure (3955f13)
- state: disable rolling over index when it's out of bound in StatefulList (56075ba)
Code Refactoring
- dnote: rename DnoteClient to Dnote (2b3569f)
- src: replace app code with ratatui component template (cf08f5a)
Continuous Integration
- remove unused github workflows (0781910)
dnote-tui: v0.3.0
0.3.0 (2024-06-29)
Features
- app: add rename book functionality (#15) (e819df3)
- app: replace tui with ratatui, bump ratatui version, fix errors after changes (66c09b0)
- dnote_lib: use execute_command in other funcs, other improvements in lib (728aae5)
Bug Fixes
- bin: fix dnote import in dnote_client_test bin (4658b44)
- deps: update rust crate ratatui to 0.27.0 (5b5e87e)
- lint: fix clippy warnings (bd644b0)
- ui: remove highlight symbol from book & pages section, change pages highlight color (f114454)
- ui: update constraint percentage for sections in ui (2fc985c)
Code Refactoring
- lib: rename dnote_lib to dnote, update usages (3bb0716)
dnote-tui: v0.2.1
dnote-tui: v0.2.0
dnote-tui: v0.1.1
dnote-tui: v0.1.0
0.1.0 (2023-08-20)
Features
- app: add page_info state to app, add get_page_content method (a8b08a9)
- app: add stateful pages list, add getters for books & pages (a99f23f)
- app: add StatefulList, add books list to App, load books from dnote in constructor (1df5378)
- app: add TuiChunk enum, add selected_chunk property to app, add select_next_chunk & select_prev_chunk methods (38ee7e8)
- app: remove test counter & related methods from app (5e83ed0)
- bin: add dnote_client_test binary w/ test usage from main (3d4b380)
- cargo: set default-run to dnote-tui (47da791)
- deps: add tui using ratatui & crossterm deps, update lockfile (d0a6622)
- dnote_lib: comment print statements in DnoteClient methods (e425914)
- handler: add keybindings for navigating through books list (40305e5)
- handler: handle navigation using selected_chunk & helper methods (1b7e5f8)
- init with binary project (6cbeb5f)
- lib: add DnoteClient, DnoteClientError, add funcs for DnoteClient (c737810)
- lib: add DnotePageInfo struct (00b85d7)
- lib: add lib.rs (56e7c63)
- lib: implement FromStr for DnotePage, remove uuid & content fields from struct (554f602)
- lib: implement FromStr for DnotePageInfo (1823c2c)
- lib: implement FromStr trait for DnoteBook to parse string into struct (68c4af8)
- lib: implement view_page_info func for DnoteClient (0cdd126)
- lib: implement view_pages func for DnoteClient, format file (5554887)
- lib: improve DnoteClientError enum, use ? shorthand for view_books (f06b3e8)
- main: test out DnoteClient in main fn (25fdb48)
- setup: use rust-tui-template to setup files & mods (3ebf5c4)
- src: add dnote_lib mod w/ DnoteBook & DnotePage public structs (7ca9652)
- ui: adjust areas for chunks (7808385)
- ui: render books list in books_block chunk from stateful list of books in app's instance (85cd6de)
- ui: render page content in page_content chunk using page_content state (b7ab6e5)
- ui: setup layout for books, pages, & content (9e1d769)
- ui: use get_books, render pages list for currently selected book (1635055)
Bug Fixes
- app: don't allow next selection when on pages section (54ed8ff)
- deps: update rust crate crossterm to 0.27.0 (7e25972)
- deps: update rust crate tui to 0.22.0 (a85cd3b)
- handler: deselect page before selecting books chunk (e615765)
- handler: select page on right key handler and then select chunk (0741da7)
- ui: remove redundant clone call in ui.rs (e520072)
Documentation
- README: add README.md from https://github.com/othneildrew/Best-README-Template template (d04b911)
- README: fix license link (5ddba61)
- README: fix license text in README.md (ef4ce5c)
- README: make improvements to README.md (1cb8f36)
- README: remove table of contents from README.md (c86cabd)
Code Refactoring
- dnote_lib: change fn names in DnoteClient (5d7c1e6)
- dnote_lib: use ? for handling errors instead of nested match statements (d7796ca)
- fix git blame ignore revs filename (24a5cf0)
- lib: use vector collect to improve parsing cmd output to DnoteBook vector (68f9bed)
- rename
TuiChunk
toTuiSection
(7e03f92) - replace vars + methods with chunk text to section as it makes more sense (c824b9b)
- ui: store chunks in vars & use them to render widget (71cf60f)
Tests
- lib: add test for parsing FromStr implementation of DnotePageInfo (e9860c6)
- lib: add tests for parsing implementations for DnoteBook & DnotePage (c578273)