Commit Graph

1190 Commits

Author SHA1 Message Date
Brandon Presley 2f24104d13 Set finished notification sound to null - 2.4 🚀
Closes #195
2023-11-20 12:24:43 +13:00
Brandon Presley cc6b37e16a Fix timer not always ending - 2.3 🚀
This bug is because I mis-named the event for the alarm finishing.
It would only be possible to create this bug if you do the following:
1. Create a timer
2. Swap to another app for it's duration and keep your phone screen
   active
3. On timer completion, without tapping the notification, focus the app
4. See the timer has not been set to zero
2023-11-15 22:44:02 +13:00
Brandon Presley b485175082 Stop timer when you undo a set from an open plan 2023-11-15 16:05:28 +13:00
Brandon Presley 086e3ea2df Simplify the peek view of exercises from Plan 2023-11-15 16:03:58 +13:00
Brandon Presley 1b164aaaf1 Remove loading indicator where load times are fast
If the load time is too fast (on a mid-tier device),
then for most people they will see a flicker of a
loading spinner (which looks like a bug). These indicators
would only marginally improve the experience of people with
the slowest devices, but for most people this will just look
like a bug.

I left the indicators in the InsightsPage since those queries
actually do take >=300ms on a mid-tier device.
2023-11-15 15:53:32 +13:00
Brandon Presley b44cbae131 Fix progress bar not showing on some pages - 2.2 🚀
Moving the bar  from App.tsx -> AppDrawer.tsx was a mistake,
because then the bar only shows on drawer routes instead of
app-wide.
2023-11-15 14:32:29 +13:00
Brandon Presley 608bb3e97a Add settings for default fields on Exercise - 2.1 🚀
Closes #188
2023-11-15 14:05:25 +13:00
Brandon Presley f6a75d89cd Write an empty mp3 when disabling sound - 1.188 🚀
Also revert to the default sound if you enable it again.

Closes #178
2023-11-15 13:28:30 +13:00
Brandon Presley 0592a9d695 Fix wrong text color on primary buttons - 1.187 🚀 2023-11-15 13:07:58 +13:00
Brandon Presley 3544392002 Handle database importing breaking
1. Backup the current database first
2. Restore the database if something goes wrong
3. Show the user a dialog explaining the error
2023-11-15 12:14:47 +13:00
Brandon Presley bdc648d811 Factor out FatalError component from App.tsx 2023-11-15 12:14:34 +13:00
Brandon Presley 50b3a2ef3d Fix text color in App.tsx fatal error message 2023-11-15 11:52:31 +13:00
Brandon Presley 7a24d844c5 Add fatal error message if database fails to initialize
This will help with debugging if the user can directly
provide what error occurred.
2023-11-15 11:46:33 +13:00
Brandon Presley ec17ad5805 Wrap SetItem in React.memo
Apparently large lists in React Native should be wrapped in this,
as long as they don't have any internal state.

So this should theoretically improve performance when you scroll down
a lot.
2023-11-15 11:30:09 +13:00
Brandon Presley ba24649a52 Organize imports 2023-11-15 11:21:49 +13:00
Brandon Presley 70a318a0a4 Add activity indicator for SetList 2023-11-15 11:19:22 +13:00
Brandon Presley 6b168cccfe Rename drawer-param-list -> drawer-params 2023-11-15 11:08:00 +13:00
Brandon Presley b68587f514 Add auto converter - 1.186 🚀
Closes #193
2023-11-15 11:03:23 +13:00
Brandon Presley 1b217f1905 Fix bug of default EditSets unit being wrong
By default, the unit is empty (no change).
Previously it was defaulting to kilograms.
2023-11-15 11:00:09 +13:00
Brandon Presley c3a8034dd4 Make add/subtract buttons float right in EditSets 2023-11-15 10:59:55 +13:00
Brandon Presley 9cc0eae66a Fix logging in EditSets 2023-11-15 10:59:40 +13:00
Brandon Presley 3ac1e74575 Make save button containde in EditExercise 2023-11-15 10:53:16 +13:00
Brandon Presley c507370398 Change style of primary buttons
According to React Native Paper docs, the purpose
of the "contained" mode of button is for the primary
action.

https://callstack.github.io/react-native-paper/docs/components/Button/#mode
2023-11-15 10:51:54 +13:00
Brandon Presley 35a3ef75b6 Add 3 more colors to dark/light mode 2023-11-15 10:43:47 +13:00
Brandon Presley 859818e5b6 Change layout of SetItem
Moved the date to the description,
and the reps x weight to the right.

Related to #192.
2023-11-14 20:44:54 +13:00
Brandon Presley ddceb91211 Add activity indicators to ViewGraph 2023-11-14 15:03:21 +13:00
Brandon Presley 976bb7c189 Add activity indicator for StartPlan 2023-11-14 14:56:58 +13:00
Brandon Presley 8ee07823aa Replace useDark with useTheme - 1.185 🚀 2023-11-14 14:52:35 +13:00
Brandon Presley 456af73e91 Rename useTheme to useAppTheme
React Native and React Native Paper already
have a useTheme so let's not add to the clutter.
2023-11-14 14:45:15 +13:00
Brandon Presley a7db87c61a Fix colors on fabs 2023-11-14 14:44:10 +13:00
Brandon Presley b9473a8b01 Fix error inserting records on fresh install - 1.184 🚀 2023-11-14 14:36:47 +13:00
Brandon Presley 5a06b7ee2c Fix default colors on fresh install 2023-11-14 14:34:10 +13:00
Brandon Presley bec564e18b Handle loading of exercises in EditPlan 2023-11-14 14:03:40 +13:00
Brandon Presley 4dd8a2950f Organize state in EditPlan 2023-11-14 13:56:50 +13:00
Brandon Presley d0f6550f29 Move TimerProgress from App.tsx -> AppDrawer.tsx
1. The lower this is in the stack the less re-renders we might cause
2. Now we can hook into useFocusEffect and prevent updates when out of
  focus
2023-11-14 13:55:59 +13:00
Brandon Presley be3af4db22 Refactor some code in App.tsx 2023-11-13 19:40:05 +13:00
Brandon Presley 4b5e7011d6 Fix logic for dark color theme 2023-11-13 19:16:13 +13:00
Brandon Presley 315279e28d Replace all unit text boxes with dropdowns - 1.183 🚀 2023-11-13 18:35:30 +13:00
Brandon Presley d8eba22914 Rename Home -> History
Although it is very common to have a Home page,
I would rather have every pages name describe
generally what it is.
2023-11-13 18:29:07 +13:00
Brandon Presley 1ac78de724 Fix some database drift 2023-11-13 18:13:23 +13:00
Brandon Presley 6950cd04f4 Improve performance of app - 1.182 🚀
The App.tsx had a bunch of separate useState calls which would
cause unneccesary re-renders of the entire app. This became
apparent after adding the global progress bar, since it caused
even more re-renders to the point of being unusable.
2023-11-13 17:37:53 +13:00
Brandon Presley 49646c3107 Reduce default limit back to 15
The feeling of scrolling was nice but a page size of 50
makes the main page a bit slower which isn't worth it.
2023-11-13 17:11:00 +13:00
Brandon Presley 7f4c0a5f10 Replace unit text input with a drop down 2023-11-13 16:07:45 +13:00
Brandon Presley ec0fdbcec7 Remove logging from AppDrawer & AppStack 2023-11-13 16:07:23 +13:00
Brandon Presley 155eaddbdd Add margins to app-wide progress bar 2023-11-13 16:07:12 +13:00
Brandon Presley b6afbfcc17 Fix automatic backups - 1.181 🚀
- The broadcast intent wasn't receiving the target directory
- Add separate button for storing the backup location
2023-11-13 15:19:35 +13:00
Brandon Presley d0c0a52ab4 Simplify logic of AlarmService.playSound
This probably won't fix the disabling sound bug.
2023-11-13 14:12:25 +13:00
Brandon Presley 79e462efc2 Fix app crashing when you change system theme
More specifically, this happens when you restore an
activity (not sure exactly when this happens).
2023-11-13 14:07:45 +13:00
Brandon Presley 84ff8a110b Improve responsiveness of timer page - 1.180 🚀 2023-11-12 23:37:58 +13:00
Brandon Presley bf6863000f Stick progress bar to the bottom
Previously it jolted around all the other content
which looks gross so now it's absolute positioned bottom.
2023-11-12 23:35:43 +13:00