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

✨ Add image reader experience options #453

Merged
merged 24 commits into from
Sep 28, 2024
Merged

Conversation

aaronleopold
Copy link
Collaborator

Resolves #384
Resolves #391
Resolves #437

This PR implements a few image-based reader features:

  1. View two images at once (double spread)
  2. Specify the scaling mode for the images (height, width, none)
  3. Support right-to-left reading
  4. Horizontal scroll reading mode (not an ideal UX yet, IMO)

You will be able to configure defaults for the reading experience on a per-library basis, and override any individual setting per-book.

⚠️ I've only implemented the first and third features for the paged reader. This change-set is rather large, so I'd rather tackle adding them to the horizontal scroll reader at another time

I've sneaked in a few other changes, as well:

  • Tweaked the contrast for some of the new themes
  • Add optional gradient support for themes
  • Refactored all of the tailwind configuration to use TypeScript
  • A few others I can't remember

There are some cleanup tasks remaining, and I'd like to add the corresponding library configuration I mentioned above in the settings pages, and then this should be ready to go. I'm aiming for sometime next week

Copy link

codecov bot commented Sep 19, 2024

@aaronleopold
Copy link
Collaborator Author

aaronleopold commented Sep 25, 2024

Alright, I think this is almost ready to go. There are a few things I want to highlight as things I'll have to either improve or fix as follow-ups:

  1. The reader isn't aware when the viewport is too small for double spread. I definitely will add this kind of detection logic, but the work around for the time being is... don't do that lol
  2. When double spread is active, highlight both pages in the image previews (bottom bar)
  3. Add the ability to artificially constrain the reader width (see [BUG] Image scaling makes long strip comics unreadable #437 (comment))

There is one other issue that I'd like to tackle before merge where the bottom bar preview is too "strict" and will scroll you back as you try to navigate ahead. Otherwise, I'm anxious to get this out for further testing. My tentative plan moving forward is:

  • Wrap up the sdk rewrite
  • Probably release after this change-set sits for a week in nightly
  • Either flesh out smart list UI (e.g. actually support creating a list outside the API) OR start bulk management features
  • Go back to reader enhancement follow-ups
  • I'm itching to take a "break" and work on the mobile app, but we'l see. There is a lot of other important bits to tackle

@aaronleopold
Copy link
Collaborator Author

There is one other issue that I'd like to tackle before merge where the bottom bar preview is too "strict" and will scroll you back as you try to navigate ahead

I've fixed this for the most part, so I am going to merge this in shortly. I don't think the UX is perfect TBH, but am eager to get it out there and tested

@aaronleopold aaronleopold marked this pull request as ready for review September 28, 2024 00:07
@aaronleopold aaronleopold merged commit 185badd into develop Sep 28, 2024
8 checks passed
@aaronleopold aaronleopold deleted the al/double-spread-pages branch September 28, 2024 00:22
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