Commit Graph

202 Commits

Author SHA1 Message Date
Brandon Presley d0e76f574b Enable exporting plans as CSV - 2.33 🚀
This is to help migrations across to Flexify.
Also is generally useful if someone wants
to do some Excel magic on their plans.
2024-03-23 14:46:04 +13:00
Brandon Presley 5b066bccaf Add daily page - 2.26 🚀
The daily page is used to flip through your exercises
by day. This is in contrast to the History page, which is
an infinitely scrolling list of all sets.

Closes #216, #207
2024-02-18 01:52:30 +13:00
Brandon Presley d5fab6d6d2 Add toast after successfully importing database 2024-02-18 00:54:51 +13:00
Brandon Presley d89e307950 Fix tooltip on settings page vibration 2024-02-18 00:46:21 +13:00
Brandon Presley 495d6b35b7 Disable sound -> Sound & Remove show steps setting
1. Negating is more complicated than just saying Sound
2. The exercise edit screen is already pretty small,
so this feature of hiding the steps is probably
not useful.
2024-02-17 20:57:29 +13:00
Brandon Presley a0dc62e761 Remove all JS side Timers
This is the result of me fixing the background timers.
Previously our code just used a CountdownTimer
not even in a service, just immediately in the
@ReactMethod. This would in certain scenarios stop
running. Even with battery optimizations turned off.

The reason why all the JS side timers had to be removed
is because we were relying on RCTDeviceEventEmitter
which I don't know how to use from within a Service.
See my stackoverflow ticket here: https://stackoverflow.com/questions/74204339/sending-react-native-android-events-to-javascript-from-a-service

Closes #212, #196
2024-02-17 17:27:42 +13:00
Brandon Presley fd09758ccf Make SettingsModule.ignoringBattery async 2024-02-14 11:14:43 +13:00
Brandon Presley f9fb190f80 Validate database file imported 2024-02-12 18:48:02 +13:00
Brandon Presley b24cb85a70 Always pick directory when exporting csv/database - 2.23 🚀
I'm not sure why but Filesystem.exists seems to return
true, even when the app lacks permission to write to
the destination
2024-02-12 18:27:27 +13:00
Brandon Presley 05b4aa75bb Add icons to dropdown options in Settings - 2.22 🚀 2024-02-12 17:32:02 +13:00
Brandon Presley 5e34bd4570 Remove reliance on WRITE_EXTERNAL_STORAGE
https://developer.android.com/about/versions/11/privacy/storage#permissions-target-11
2024-02-12 15:15:34 +13:00
Brandon Presley bfc1b3d546 Remove needless logging from SettingsPage backupString 2024-02-12 14:00:03 +13:00
Brandon Presley 5ce3b9e69c Move dark/light color selects next to buttons
Now we can easily preview what changing the
primary colors will cause.
2024-02-07 15:52:08 +13:00
Brandon Presley 426c557019 Add migrations to leading zeros for date settings
Also included the 12-hour formats for leading zeros.
2024-02-05 14:24:53 +13:00
Sven Frotscher fe695de487 Add leading zeros to minute and day of month fields 2024-01-16 12:13:23 +01:00
Brandon Presley 2a78d2e556 Add button to export sets as CSV - 2.6 🚀
Closes #203
2023-11-21 10:26:34 +13:00
Brandon Presley 3882a95b65 Add whitespace to SettingsPage 2023-11-21 10:16:31 +13:00
Brandon Presley 857af61eec Refactor SettingsPage
1. If we rely on query builders too much we lose type safety
2. The update method wasn't really worth factoring out in the
  first place.
2023-11-20 20:06:45 +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 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 ba24649a52 Organize imports 2023-11-15 11:21:49 +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 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 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 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 e65c053a62 Add setting to choose the startup page
Closes #186
2023-11-12 23:27:28 +13:00
Brandon Presley afed5f1d54 Reduce nesting of code within SettingsPage - 1.178 🚀
The code before needlessly factored out functions in functions
and made it impossible to read and change. Also it wasn't using a
FlatList which is a performance problem.
2023-11-12 19:11:20 +13:00
Brandon Presley ef63fcf470 Organize all imports 2023-11-12 17:05:37 +13:00
Brandon Presley 901cc72fbd Revert my work on surgically updating lists - 1.177 🚀
I tried to maintain the current scroll position
within a list however this caused many issues
to do with outdated data, as well as performance issues.
Now we are going back to just refreshing any list on focus.

Closes #184
2023-11-12 17:03:22 +13:00
Brandon Presley 706d4d1bbd Add duration setting to alarm vibrations - 1.176 🚀
Closes #179
2023-11-12 12:25:09 +13:00
Brandon Presley 813928bdd3 Add permissions checks to SettingsPage - 1.172 🚀
Related to #177
2023-11-10 12:54:35 +13:00
Brandon Presley 8988e584ae Rename workout -> exercise
A workout would typically refer to a list of
exercises.
2023-11-09 18:52:50 +13:00
Brandon Presley 2fdb220659 Change style of Settings page
1. Move selects above switches
    Selects are larger now so it looks nicer to flow from large
    down to small.
2. Remove label from alarm sound button
    Because the other buttons don't have labels this makes the
    alarm sound stand out and seemed inconsistent.
2023-11-09 13:14:11 +13:00
Brandon Presley e8ee4a253e Migrate from Drawer -> Stacks to Stack -> Drawer
This simplifies our codebase greatly by
only having a single stack navigator and
a single drawer navigator. Previously we had
a stack navigator for every main page on the drawer.
2023-10-28 15:59:25 +13:00
Brandon Presley 1d13cb9c5d Change select style 2023-10-26 20:30:41 +13:00
Brandon Presley 9867dee514 Simplify explanation toast for sound disabling - 1.158 🚀 2023-10-14 10:50:58 +13:00
Brandon Presley 24fd687856 Add custom event for settings being updated - 1.150
When we used navigation params to decide whether
or not to update the SetList, we broke reacting to
settings changes. This is because we used to update settings
whenever the user navigated to the page.
2023-08-22 11:43:35 +12:00
Brandon Presley 63e1db7349 Rename variable in SettingsPage 2023-08-14 10:50:44 +12:00
Brandon Presley f778426aba Run prettier
Something happened with the deno formatter,
I can't remember what! Hahahahahaahahaha
2023-08-12 15:23:02 +12:00
Brandon Presley 9833752bab Deno fmt 2023-07-20 14:55:19 +12:00
Brandon Presley 6a7bd632e5 Add delete database button - 1.141
Semi-related to #160
If a user manages to import a database that ultimately
breaks the app elsewhere, deleting the database is a nice
tool to try and fix things.
2023-06-29 15:34:14 +12:00
Brandon Presley 4303fe2cc4 Use deno fmt instead of prettier 2023-06-27 15:16:59 +12:00
Brandon Presley bdd5e23f32 Change date formats to be day/month instead of month/day - 1.139
Also added the ISO one yyyy-mm-dd, time.
Closes #157.
2023-06-18 11:36:35 +12:00
Brandon Presley db5cc566ea Remove double permissions request and fix import - 1.136 2023-03-27 14:45:28 +13:00
Brandon Presley 76e5aeacfd Choose directory when backing up automatically - 1.135
Related to #146.
2023-03-27 14:34:17 +13:00
Brandon Presley 2fb46e1dcc Fix audio type on document picker 2023-03-27 14:01:37 +13:00
Brandon Presley 79a48b1e47 Run automatic backups after database imports - 1.131 2023-03-09 18:48:32 +13:00
Brandon Presley 13b340f5be Add setting to automatically backup - 1.130
Every day at 6am (also immediately when toggled)
we will copy the massive.db file to the Download
directory.
2023-03-09 17:16:08 +13:00