Version 1.7 - Stats screen & new sidebar-style menu.

Published: 3/18/2025.

1.7 is finally here :) and as usual a lot has gone into this one. There are several smaller changes as well, but the main two parts of the update are as follows:

New "Stats" Screen

This is heavily a "work in progress" still. But I thought I would still make it visible to give people a flavour of what is coming up. The new screen, as it stands, shows the user a breakdown of the selected week in the form of a Pie Chart. The chart indicates the proportions of the total taken up by each food category.

The user can also select to view previous weeks, and re-sync the data from those weeks if needed.

Upcoming updates will include things like a Line Chart showing progress over time, and also comparisons against friends.

New Sidebar-style Menu

This update contains quite a substantial overhaul of the Navigation system. Which should be now much more performant than before and with some nice new animations. I have also now included a "sidebar" which is triggerable from the Menu button at the bottom, and which can be used to properly display the now various screens.

Other changes

  • I finally got hold of an old iphone to use for testing. This has enabled me to spend some time fixing a few rogue bits of UI on iOS, and also just improving things a bit for small screens in general.

  • More performance - I spent quite a lot more time digging into performance more generally in this patch, particularly relating to sorting & filtering this main list of plants on the home screen. So various interactions should feel much snappier now.

  • Upgraded project to use Expo SDK 52. This was quite a significant migration, but laid the groundwork for most of the other improvements in this update.

Known issues

There are a couple of new issues that have come in since upgrading to Expo 52. I will try list them all here as I find them.

  • Issue with Pressables inside drawer menus not firing on initial click. On 2nd click they work as expected. I have been able to mostly workaround this by using "onPressDown" rather than "onPress", which seems to successfully fire. However this isn't exactly the desired behaviour.