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

feat: migrate ui to mantine #93

Merged
merged 15 commits into from
Aug 29, 2022
Merged

feat: migrate ui to mantine #93

merged 15 commits into from
Aug 29, 2022

Conversation

evan-buss
Copy link
Owner

I found evergreen-ui was lacking in many areas:

  • few built in components
  • general lack of updates / popularity decline
  • dependencies on libraries that are outdated and show npm audit issues
  • not responsive
  • no dark mode
  • hard to customize styling

Rewrote UI components with mantine. Which resolves most of these issues:

  • actively maintained / frequent updates
  • many components (including all currently required components)
  • uses standard @emotion/react styled components
  • out of the box dark mode
  • out of the box responsive styling
  • useful hooks built in (can drop react-use)

This update also includes a custom table created with @tanstack/table, which allows a lot of customization and adapts to any design system

  • advanced filtering
  • resizable columns

@evan-buss evan-buss merged commit a4e7203 into development Aug 29, 2022
@evan-buss evan-buss deleted the feat/ui-update branch August 29, 2022 02:35
evan-buss added a commit that referenced this pull request Sep 6, 2022
* Improve error handling.

- Don't log.Fatal or panic()
- Return errors from func instead of logging directly in library code
- Send more error messages via websocket
- Make sure IRC connection is open before writing.

* Various maintenance tasks. (#76)

- Use new devcontainer "features" instead of scripts
- Update Go and NPM packages.
  - Fix breaking change with use-local-storage-state
- Add makefile for common commands

* Update Go packages.

* feat: add --searchbot flag (#86)

* feat: add --searchbot flag

* fix: uncomment flag assignment

* feat: add flag to disable automatic browser downloads (#87)

* chore: update npm and go deps

* feat: add desktop webview functionality

- some webviews don't have native copy paste so I update
  the search field on user selection

* feat: open desktop mode by default

* fix: get windows build working

* fix: windows tweaks

- use filepath.join() instead of path.join()
- change default download dir depending on which subcommand is selected
- allow double clicking on windows (disable cobra mousetrap thing)

* fix: resize grid on window height change

* fix: re-render grids when page height changes

* fix: set desktop mode as the default

- allows double clicking the executable to open the GUI

* fix: move openbrowser setting out of the server config

- server code shouldn't care how the page is being displayed.

* fix: Fully type redux stores / middleware / actions

- replace AppThunk with createAsyncThunk

* remove unused npm packages

* cleanup / add loading animation

* feat: download and extract files with ".temp" extension until completed

- This allows Calibre to watch a directory and only import
  the file when it's completed.

* fix: use separate config for each cobra command.

* fix: default desktop mode opens the browser.

- Cross compilation becomes A LOT more complicated
  once CGO is in the mix. Requires the time and energy
  to get build scripts to work across all platforms, and
  update the automated Github Actions to build on
  multiple machines (MacOS requires MacOS runner,
  Windows / Linux require Linux runner)
- This commit adds a build flag "webview" to enable
  webview desktop support but the default without
  the build flag is to open the browser on start.

* fix: use new build flag syntax

* block until close

* Add TLS Support for IRC communication (#90)

* Fix length comparison so zero doesn't appear. (#74)

* feat: Add IRC TLS support

Co-authored-by: Evan Buss <[email protected]>

* ci: update action versions / publish dev docker images

- update docker tag configuration to publish
  'edge' version whenever the 'development'
  branch is updated.

* fix: command binding fixes

- EnableTLS flag was only enabled for the server mode.
- "--dir" server mode flag wasn't registered properly.
- update

* chore: update npm packages

- updated to react 18

* fix: actually fix zero comparison?

* feat: migrate ui to mantine (#93)

* wip: start rewriting sidebar in mantine

- this is the start of making the layout responsive for various
  device sizes

* feat: rewrite sidebar with mantine

- responsive
- dark mode support

* feat: convert book list to mantine

* feat: rewrite notification drawer in mantine

* wip: start converting search page

* feat: convert search page to mantine

* wip: start implement book table in react table

* wip: re-implement table with react-table

Goals:
- mantine styling
- resizeable
- filterable
- dark mode

* wip: react table implementation

* wip: grid style tweaks

* wip: play with animations

* feat: finish converting components to mantine

* feat: remove evergreen-ui dependency

* chore: remove react-use

* Update README.md

* styling: fix issues

- long text overflows
- nicer sidebar toggling
- overflow wrapping with scroll

* chore: update dependencies

* feat: show placeholder when search empty

* fix: error line word wrapping

* docs: update readme

Co-authored-by: Kabir Kwatra <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant