This is a major cleanup of quite a bit of stuff. About 80% of what we already have is fine, but the structure is janky due to the speed at which things were implemented and the lack of full vision from the start.
[x] Normalize API interactions to allow for easy plug-and-play with Kbin
[ ] Use Zustand state throughout app
[x] Remove janky storing of user settings and use Zustand persistent storage for this
[ ] Clean up components to make them clean, easy to read, and as highly performant as possible (Using Gluestack from the start will help here)
[ ] Attempt to not use Gluestack for basic things to increase performance (I'm not sure how often this will actually happen, but a big one is Pressable components)
[ ] Use a single format for context menus
[ ] Cleanup comment lists
[ ] Attempt to use FlatList over FlashList for things like comment chains. This has multiple benefits if done correctly. A huge reason we had issues with FlatList before was NativeBase performance, which isn't an issue now
[ ] Don't use worthless hooks
[ ] Comment state should be separate from post state
[ ] Data should be fetched at login and stored in state to be used throughout the app
This is a major cleanup of quite a bit of stuff. About 80% of what we already have is fine, but the structure is janky due to the speed at which things were implemented and the lack of full vision from the start.
This will likely update soon...