Giter VIP home page Giter VIP logo

animite's Introduction

Hello there

animite's People

Contributors

boswelja avatar iannnr avatar imashnake0 avatar relwi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

animite's Issues

App crashes when airplane mode is enabled

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.

Landscape mode

Padding for the background is messed up in landscape mode:

bug

Integrate Detekt for code quality

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

  • Wildcard imports
  • Forbidden comment (TODOs)
  • Magic numbers
  • Swallowed exceptions
  • Long parameter list

It says invalid

It shows error on installing the app
It don't have any previous version of this apk
Screenshot_2022-12-23-11-31-51-768_com google android packageinstaller

UI/UX overhaul

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.

  • Decrease the picture size to what it is on MediaPage.
  • #50
    Note: Out of scope.
  • Accommodate long media titles.
  • Improve the layouts (for instance, use a Scaffold in Home and MediaPage).
    Note: Scaffolds are awful; source: Zhuin.
  • Break layouts into multiple Composables (see reviews in #46).
    Note: This is not needed right now since I don't use Previews :dev_cool_emoji:.
  • Create a ProgressIndicator composable.
  • Add/Improve ripples.
  • If needed, fix typography.

Bonus:

Auth

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.

  • Create a new auth module.
  • Implement user authentication.
  • Display the user's Media List in the Profile path.
  • Allow users to log out.

Java

Pls bro this is an issue:

image

  • Rewrite material-color-utils in Kotlin.

Behavior of the Home tab

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:

    AL-chan search bar behavior

    image
    image

  • 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:

  • Create the GraphQL queries to get trending media.
  • #23.
  • Some UX design to have as reference (maybe I'm going to make one).

Use a MaterialTheme

Sane people start with this first, there will be some refactoring to sort this out now.

Break the app down into modules

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

Refresh

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.

Make media clickable

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 navigation-compose or simple-stack ๐Ÿ‘€; 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.

  • Modify MediaQuery.
  • Create mockups.
  • Improve navigation and make media clickable.
  • Integrate with #23.

Profile Screen

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).

  • Cleanup 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, potentially close #50.
  • Mockups for ProfileScreen: Create some initial mockups (using Relay?).
  • Implement ProfileScreen.

Search bar

This issue will entail details for creating the search bar component. Potential sub-tasks:

  • The data layer needs a refactor after #20 is merged.
  • Create a SearchBar Composable.
  • Use coroutine APIs to get search results based on what is... searched (what's a Flow?) Create a SearchQuery.
  • Animate SearchBar.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.