-
Notifications
You must be signed in to change notification settings - Fork 552
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 Manga Notes #428
base: main
Are you sure you want to change the base?
Add Manga Notes #428
Conversation
This comment is no longer relevant. With the new rebase on main as well as the 0e0a9aa (Make spotless) commit (as well as the detekt gradle task) the information in this comment no longer makes any sense. Its contents are hidden here for posterity. HiddenCommenting on the remaining failing
Let me know if there are any important issues that need to be fixed. Footnotes
|
Why not view and edit notes buttons?(Instead of only the view button) |
Hi @CrepeTF . I'm not sure if putting it in a outlined rounded rectangle is a good idea. The padding on the sides removes vertical space that can be used for text and the button is quite distracting as I believe the text of your notes are should be first and foremost. On the other hand, I like how attention grabbing it is and draws your attention to whatever you wrote about the manga. Perhaps there is a middle ground somewhere? It might be weird to have a big colored notes box when there are no notes added yet. |
Rebased off of main, prevent silly merge commit from messing everything up. :) |
Good to see you're still motivated despite me not reviewing. If you can hop on to Mihon discord for design discussion that'll be great. |
Updated demonstration video with recent changes: Preview.mp4 |
Is this still being worked on? |
There has been discussion in the Discord right around the time I stopped working on this about the exact character limit, particularly opposing thoughts on whether markdown or html or richtext should be used, or whether the characters are to be limited to 250. At the moment, I'm not quite sure what to do... though later today I might do a rebase and recheck the sentiment in the Discord chat with respect to the current feature set. |
pending work is to save the notes and make it work with the backup
- moved note to manga screen - added backup support - make notes save - change the way the initial model is loaded
see the Discord for more details
app/src/main/java/eu/kanade/presentation/manga/components/MangaNotesDisplay.kt
Outdated
Show resolved
Hide resolved
app/src/main/java/eu/kanade/presentation/manga/components/MangaNotesTextArea.kt
Outdated
Show resolved
Hide resolved
app/src/main/java/eu/kanade/tachiyomi/data/backup/models/BackupManga.kt
Outdated
Show resolved
Hide resolved
app/src/main/java/eu/kanade/presentation/manga/components/MangaNotesTextArea.kt
Outdated
Show resolved
Hide resolved
animations.mp4 |
domain/src/main/java/tachiyomi/domain/manga/interactor/SetMangaNotes.kt
Outdated
Show resolved
Hide resolved
app/src/main/java/eu/kanade/tachiyomi/ui/manga/notes/MangaNotesScreenModel.kt
Outdated
Show resolved
Hide resolved
app/src/main/java/eu/kanade/presentation/manga/components/MangaNotesDisplay.kt
Outdated
Show resolved
Hide resolved
app/src/main/java/eu/kanade/presentation/manga/components/MangaNotesDisplay.kt
Outdated
Show resolved
Hide resolved
…aNotes.kt Co-authored-by: AntsyLich <[email protected]>
Co-authored-by: AntsyLich <[email protected]>
app/src/main/java/eu/kanade/tachiyomi/ui/manga/notes/MangaNotesScreen.kt
Outdated
Show resolved
Hide resolved
app/src/main/java/eu/kanade/tachiyomi/ui/manga/notes/MangaNotesScreen.kt
Outdated
Show resolved
Hide resolved
…sScreen.kt Co-authored-by: AntsyLich <[email protected]>
…sScreen.kt Co-authored-by: AntsyLich <[email protected]>
app/src/main/java/eu/kanade/presentation/manga/components/MangaNotesDisplay.kt
Outdated
Show resolved
Hide resolved
app/src/main/java/eu/kanade/presentation/manga/components/MangaNotesDisplay.kt
Outdated
Show resolved
Hide resolved
app/src/main/java/eu/kanade/presentation/manga/components/MangaNotesDisplay.kt
Outdated
Show resolved
Hide resolved
app/src/main/java/eu/kanade/presentation/manga/components/MangaNotesDisplay.kt
Outdated
Show resolved
Hide resolved
app/src/main/java/eu/kanade/presentation/manga/components/MangaNotesDisplay.kt
Outdated
Show resolved
Hide resolved
Add changelog entry |
app/src/main/java/eu/kanade/presentation/manga/components/MangaInfoHeader.kt
Outdated
Show resolved
Hide resolved
app/src/main/java/eu/kanade/presentation/manga/MangaNotesScreen.kt
Outdated
Show resolved
Hide resolved
Missed some names because of the vestiges of how it used to work, hopefully that's been smoothed over now. Thanks for the catch! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Aside from this i'm more or less satisfied. I'll do a deep look land merge it on the weekend
class SetMangaNotes( | ||
private val mangaRepository: MangaRepository, | ||
) { | ||
|
||
suspend fun awaitSetNotes(mangaId: Long, notes: String): Boolean { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
class SetMangaNotes( | |
private val mangaRepository: MangaRepository, | |
) { | |
suspend fun awaitSetNotes(mangaId: Long, notes: String): Boolean { | |
class UpdateMangaNotes( | |
private val mangaRepository: MangaRepository, | |
) { | |
suspend fun await(mangaId: Long, notes: String): Boolean { |
private val setMangaNotes: SetMangaNotes = Injekt.get(), | ||
) : StateScreenModel<State>(State(manga, manga.notes)) { | ||
|
||
fun saveText(content: String) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fun saveText(content: String) { | |
fun updateNotes(content: String) { |
Foreword
This is my first time ever working on anything Android related (the time of me downloading Android Studio is about two days ago), so any feedback on how to improve or pointing out any pitfalls is appreciated. This is also my first time contributing to a medium-sized open source project.
Manga Notes
What
This feature adds built-in per-manga
markdown1 notes to help remember the details of manga inside and outside your library. It can be accessed through the top overflow menu or a button just below the tags through a button.Why
Picture this: you have 50 or so forgettable isekai2 manga in your library. Because they are all in fact the same story with slight modifications, you lose track of the individual differences in each manga.
With the notes feature, you can add small (or large) reminders about the plot to each (easily) forgettable manga to make the reading experience of new chapters not completely horrible.
Intentions
I will commit to helping maintain this feature (when necessary) and improve this feature as to not place undue burden upon existing project maintainers.
Known issues
No collapsing/expanding notes on manga screenAddressed: Recent design revisions have the manga notes in the collapsible description section
Manga screen lazy list "jumps" when there is an extraordinarily long noteAddressed: it's in the desc box nowNo limit on note size (in theory could work correctly with notes2^31-1
characters long, but not tested)Addressed: Imposed a 10k length limit with a visible warning when close to limit (tested)(it is now 250)AOSP keyboard hates all MihonTextField
s and its auto-suggestion selects 1 space character extra behind the current word (not related to this feature itself)Possibly conflicts with Edit basic Manga information #398Demonstration
Old video
Revised.mp4
(latest video)
animations.mp4
Footnotes
Markdown was chosen over something like rich text for being just enough for formatting if ever needed without requiring any additional bundle overhead without interfering with normal text.EDIT: The current revision uses rich text (HTML) for compatibility with the WYSIWYG editorEDIT 2: Back to markdown! ↩Meaning: "Another world"
↩