nekidev / naoka Goto Github PK
View Code? Open in Web Editor NEWA desktop app for anime and manga tracking.
Home Page: https://naoka.nyeki.dev
License: MIT License
A desktop app for anime and manga tracking.
Home Page: https://naoka.nyeki.dev
License: MIT License
Media
and MediaCache
are quite similar. In fact, the only difference is that Media
has a format
and a status
property. Also, all the pain that requires converting a Media
object for caching is unnecessary.
Having this feature would be nice. This could be enabled for individual animes (mangas also maybe?) or for the whole library (maybe also adding filters by library entry status) so that users can get notified when a new episode is released.
This'll eventually be required to allow list exporting. Since Tauri doesn't yet support deep linking, a solution would be to create a small web app that shows the code to the user and asks them to copy-paste it into a prompt in the app.
This leads to unexpected bugs because the modal may return undefined
in required fields.
The title. MangaDex will be a good option for those interested in manga.
Lists are the only part of the app that wasn't updated to show the selected provider's data.
Library progress is displayed as 13 eps.
or 4 chs. 1 vol.
. Showing a progress bar would probably be better since it'd also show the progress percentage.
An error is shown every time you try to search in AniList. The error in the console says there is a GraphQL type error.
The title. If you try to import entries from an external account, entries that are not already in the local library are not added to it.
It works exactly as latest
imports. It doesn't merge entries.
Users should be able to select which title format they want to see, instead of being forced to have the romaji version for everything. This will also require some refactoring to be able to add this feature in MediaCache
objects.
Basically the title. I can translate the app myself, but this'll require refactoring some things to be able to add support for more languages.
It'd be nice to locally calculate library stats without depending on an external provider to fetch them.
Stats like:
This'd probably also require:
Long forms are uncomfortable since you need to scroll and things overflow from the screen. It'd be cool to be able to set steps for the form and that only one step is displayed at a time, and that when the step is completed the form slides to the next step.
Ideas:
This'd be cool. Maybe creating a small server that stores all anime mappings with basic data that can be directly downloaded by Naoka to store a local DB?
All text inputs in the app have autocomplete enabled (it's the browser's default) and it's a bit uncomfortable + makes the app feel less native.
The title. notify.moe has a public JSON API and a GraphQL API if i'm not mistaken.
This'll be necessary to display data correctly once again (now it's showing enum values).
Related: #23
This'll allow better organization of the data plus aligning it will be easier.
Both folders are pretty much the same, it makes no sense to have both. @/utils
's contents should be moved into @/lib
to keep only one folder.
Basically the title. They should probably be enabled/disabled on their own depending on whether we've got the arrow's value or not.
It only adds complexity to the types and it's completely useless.
This'd be great for new users to be able to setup the app fastly. Maybe something like chosing the language + app theme, then selcting the default provider and optionally syncing their current external libraries so that they don't have to investigate the whole app to find those things.
When an entry hasn't been rated, it'd make more sense to make the value null rather than 0.
Instead of directly overriding the library or not updating entries that already exist, we could add a new updatedAt
field that saves the most recent library entry (comparing imports and exports).
We could also add a new table to the DB where we store mappings. This way we can compare items from different providers and only keep one of the versions, instead of having both and getting the user to decide which one to keep.
updatedAt
field to library entriesIf you import an entry that is already in library, its favorite status is removed (except for the "keep" import method).
Manga entries in the library don't show the entry's progress in green, although it's correctly displayed in the text displayed when the entry is hovered.
It should probably calculate progress percentage from both chapters and volumes and display the greatest one of both.
This'd be nice to be able to let users know about new features, fixes, changes, or anything new about the app in the current update.
5 stars can be kind of restrictive (?) for some users (me included), so maybe adding an option to change this from the settings could be cool.
Some scoring methods I've thought of:
Maybe make it look as a video-editing program's timeline?
Being able to create custom themes for Naoka would be definetly great. This'd also allow to create a light mode for the app (which was started to be added but it was paused until this was done).
Though it's still in alpha version, Naoka needs lots of Tauri's v2 features and plugins. This is probably the best option even if lots of changes are introduced on each version.
The best example of a plug-in we need is the new deep linking for oauth2. Right now, without that plugin we cannot add support for authentication neither in MyAnimeList nor in AniList.
Having the raw text makes it difficult to translate (see #23). We could add some enums for status
and format
, and other similar fields. For genres
we could create a small object/dictionary mapping most popular genres/tags and translate those (we'd need to convert different spellings of the same genre into their enum value).
This'd also help with consistency of things when changing from provider.
Whenever you want to update your library using the inputs that each row in the search page result has, you need to try two times before it actually getting updated.
Basically that. It's something useful to reuse and it's kind of duplicated in FormModal
and @/lib/providers/base
.
When lists get big it's difficult to find anything inside them. Being able to search, sort and filter would definetly make things easier.
When you import your library from AniList, if you have set 4.5 stars to an entry the library entry modal shows 5 stars but the library shows 4.
Library entries can only have an overall score and some private notes. It'd be cool to allow more complex reviews with individual scores for audio, visuals, characters, enjoyability, etc., and a rich text editor to write a more detailed review.
It'd be nice to be able to search for a list. When they become too many it's difficult to find them.
When a library entry is created, it is linked to a specific media from a specific provider. If the user later changes the selected provider to another one, they'll probably want to see the details from that provider, not the old one.
This can be accomplished using the local mappings
DB table (which was actually created for these kind of things).
Being able to sort the library would be pretty nice.
Basically the title. If the mappings are not exact (which will never be since they're different for each provider) they'll be added two or more (depending on how many times you import the same entry) times to the library.
Maybe automatically updating the library every 15 minutes and once when the app starts?
Status:
autoSync
field to ExternalAccount
to enable/disable automatic/periodic syncingMight also need:
Using route intercepting for modals instead of having components added everywhere the modal needs to be open is probably better. It'll also help to have a slightly better architecture.
The save button saves the information but doesn't show any confirmation or has any visual effect.
Options are:
Other options as sending a notification are probably too much.
The title. If you import your library using the "override" or "keep" methods, entries aren't merged.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.