imashnake0 / animite Goto Github PK
View Code? Open in Web Editor NEWAniList client for Android
Home Page: https://anilist.co/
License: Apache License 2.0
AniList client for Android
Home Page: https://anilist.co/
License: Apache License 2.0
No stack trace other than this, so it probably crashes in a LazyColumn.
You know what Compose is like ๐คท
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.imashnake.animite, PID: 20062
I spent 15 minutes looking for the cause, but I'd have to put a log statement after every line, and I don't have the time for that atm.
Hi I cannot install the app it says package is invalid.
Adding a static code analysis tool like Detekt can help us find code quality issues fast, which is great for both CI and local dev.
https://detekt.dev
Some preliminary issues we should resolve first
Looks like there are some problems with the current design: Anime titles that are really long don't fit well and the picture on the home page is bigger than it should be.
MediaPage
.Scaffold
in Home
and MediaPage
).Scaffold
s are awful; source: Zhuin.Composables
(see reviews in #46).Previews
:dev_cool_emoji:.ProgressIndicator
composable.Bonus:
Noticed that the keyboard launch is not very smooth:
Felt like we could start working on user auth and #39 in parallel since they don't depend on each other a lot (the only potential difference is that there will be a bottom app bar when the user is logged in; along with some metadata). I think it's a good idea to separate this work into a new module since we'll likely need to reuse this code.
auth
module.These should probably all match. They are all "top-level" destinations, so it makes sense for them to all have the same animation
What behavior will the Home tab have? Will it have an "explore" and/or "trending" tab, or "seasonal" even?
Here are my thoughts for the Home tab (to get started):
A searchbar on the top to search stuff with a filter, like in AL-chan:
Display trending media in horizontal views.
If the user is logged in, display the name and/or the cover image above the search bar.
These are only some considerations, I think these tasks are essential to start with it:
There's no way of seeing the entire list without collapsing the keyboard. The layout is also a bit of a mess. Action items:
Modifier.imeNestedScroll()
.As mentioned in Discord, light mode support would be nice :kappa:
Sane people start with this first, there will be some refactoring to sort this out now.
It looks like there's only been significant work completed on "Home". Once work commences on other features such as "profile", it might make sense to break things down into feature modules. This has many benefits, from code separation to build speed
Hii is it going to be an only Ani client or you going to add source in it to watch that particular animes?
Because of rate limiting, we now use FetchPolicy.CacheFirst
(with #126), this means that data is loaded from the cache if it's available and network if not. The only way to refresh data is to clear storage. Compose Material3 1.2.0 has Pull to refresh, use this to refresh content on demand alongside CacheFirst
.
AniList's markdown differs slightly from the standard commonmark markdown.
This requires us to maintain a markdown parser for it separately.
I've been considering forking an existing MD parsing library, the options are:
commonmark-java
JetBrains' MD parser
This forum post describes how AL flavoured Markdown differs from CommonMark: https://anilist.co/forum/thread/6125
Changing the banner is probably a nice... nice to have, see if we can make use of the new photo picker.
Being able to click on media is, I feel like, the next most natural addition. This helps build a foundation for navigation
(consider: Continued use of ; decided to use compose-destinations) and heavier requests, which means we'd likely have to use a shimmer or something else to indicate a load. We should also ideally have mockups for this page.navigation-compose
or simple-stack
๐
MediaQuery
.This issue is for tracking the implementation of the ProfileScreen
. Currently, there is a login (only) feature which means we can query the current viewer (and other users).
HomeScreen
and MediaPage
: These haven't been touched in a while and since ProfileScreen
will follow a very similar layout, it's worth refactoring them.BannerLayout
: This will be used in all three layouts, ProfileScreen
: Create some initial mockups (ProfileScreen
.This issue will entail details for creating the search bar component. Potential sub-tasks:
SearchBar
Composable.Flow
?)SearchQuery
.SearchBar
.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.