Commit Graph

174 Commits

Author SHA1 Message Date
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
ef63fcf470 Organize all imports 2023-11-12 17:05:37 +13:00
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
706d4d1bbd Add duration setting to alarm vibrations - 1.176 🚀
Closes #179
2023-11-12 12:25:09 +13:00
813928bdd3 Add permissions checks to SettingsPage - 1.172 🚀
Related to #177
2023-11-10 12:54:35 +13:00
8988e584ae Rename workout -> exercise
A workout would typically refer to a list of
exercises.
2023-11-09 18:52:50 +13:00
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
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
1d13cb9c5d Change select style 2023-10-26 20:30:41 +13:00
9867dee514 Simplify explanation toast for sound disabling - 1.158 🚀 2023-10-14 10:50:58 +13:00
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
63e1db7349 Rename variable in SettingsPage 2023-08-14 10:50:44 +12:00
f778426aba Run prettier
Something happened with the deno formatter,
I can't remember what! Hahahahahaahahaha
2023-08-12 15:23:02 +12:00
9833752bab Deno fmt 2023-07-20 14:55:19 +12:00
6a7bd632e5 Add delete database button - 1.141
Semi-related to brandon.presley/Massive#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
4303fe2cc4 Use deno fmt instead of prettier 2023-06-27 15:16:59 +12:00
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
db5cc566ea Remove double permissions request and fix import - 1.136 2023-03-27 14:45:28 +13:00
76e5aeacfd Choose directory when backing up automatically - 1.135
Related to #146.
2023-03-27 14:34:17 +13:00
2fb46e1dcc Fix audio type on document picker 2023-03-27 14:01:37 +13:00
79a48b1e47 Run automatic backups after database imports - 1.131 2023-03-09 18:48:32 +13:00
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
a84cab6bbf Optimize batteries after importing database - 1.125
Closes #151
2023-02-14 16:50:14 +13:00
5fd7e75908 Fix settings persistence issues 2023-01-03 14:59:19 +13:00
efc97bdf47 Fix settings page on shorter devices 2023-01-03 11:31:37 +13:00
24e230e8b9 Use a scroll view for settings page
This way shorter screens dont cut off content
2023-01-02 23:29:46 +13:00
5d9df37778 Organize imports 2023-01-01 15:20:56 +13:00
86f01eb002 Memoize the most expensive parts of SettingsPage 2023-01-01 13:39:10 +13:00
5335f4afbc Memoize switches in SettingsPage 2023-01-01 13:32:26 +13:00
7863b9caa0 Improve speed of setting sound string as well 2022-12-30 20:38:34 +13:00
3fdc5900e3 Improve performance of setttings toggles
I was awaiting the result of the sqlite operations
when really I should have just set the state immediately,
and done the operations in the background.
2022-12-30 20:37:08 +13:00
3603c67133 Add filtering back in to SettingsPage
I accidentally removed it and pushed to production...
Woopsie.
2022-12-30 20:29:16 +13:00
a9000898f3 Replace children with title for Switch
Apparently, the children prop makes React.memo
not work any more. I read about it in
https://stackoverflow.com/questions/53074551/when-should-you-not-use-react-memo
2022-12-30 19:49:54 +13:00
5e37490c2d Add react-hook-form for settings page
This seems to have improved performance.

Related to #135.
2022-12-30 15:47:12 +13:00
14edb66e28 Add common date formats
Add yyyy-MM-d and yyyy.MM.d formats

Closes #139
2022-12-30 13:35:11 +13:00
a3138c48b5 Combine several state operations in SettingsPage 2022-12-29 18:20:40 +13:00
2b302bab73 Move theme line of SettingsPage
Because I am schizophrenic.
2022-12-29 17:28:31 +13:00
41ed9464c9 Use single settings object for state
Since all this state was being set at the same time,
on load, it makes more sense to have it as a single state.
Also they are all connected to the same table so it makes more
sense this way.

Also, I removed the use focus effect in favor of just a
use effect which runs on mount. The things being refreshed here
weren't very important to be updated frequently, and focus effect
has a cost on performance.
2022-12-29 13:52:38 +13:00
c664a9603c Add missing toasts to some settings
- Date format
- Dark color
- Light color
2022-12-28 14:59:39 +13:00
186b7e0fe9 Remove ios check from SettingsPage
These things are pointless unless I
can get the app deployed to the iOS store.
2022-12-28 14:59:19 +13:00
d6e7d6158c Make sure alarms aren't on with app being optimized
If battery optimizations are on for the app,
alarms will have several unpredictable bugs.
For example, sometimes sounds won't play,
sometimes re focuisng the app won't work.
2022-12-28 14:56:29 +13:00
2c6a773548 Change alarm sound toast
Closes #137
2022-12-28 14:15:02 +13:00
60cc619e39 Move button filter to memoized call
This reduces re-renders
2022-12-24 19:58:55 +13:00
48432188c3 Simplify Switch.tsx 2022-12-24 19:55:38 +13:00
27b7e91e91 Factor out buttons in SettingsPage 2022-12-24 13:36:11 +13:00
fc6f5e3b53 Add missing key prop to SettingsPage 2022-12-24 13:18:03 +13:00
777eddf943 Remove usage of FlatList in Settings page
Doing so looks like it improved the performance
of the switches.

Related to #135.
2022-12-22 19:18:44 +13:00
42589fe9ab Fix column reference in settings page 2022-12-10 22:22:51 +13:00
3600003660 Clear set images + alarm when importing a database
Closes #131
2022-12-10 22:19:55 +13:00
0b2d4d52e1 Add export/import database buttons to search 2022-12-08 13:22:02 +13:00