From 9c3d6772a94a2d7a192c34865e967f27f7368a05 Mon Sep 17 00:00:00 2001 From: Brandon Presley Date: Fri, 9 Feb 2024 11:39:18 +1300 Subject: [PATCH] =?UTF-8?q?Ensure=20reps=20are=20always=20positive=20-=202?= =?UTF-8?q?.15=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- EditSet.tsx | 4 +++- EditSets.tsx | 11 ++++++++++- StartPlan.tsx | 4 +++- android/app/build.gradle | 4 ++-- package.json | 2 +- 5 files changed, 19 insertions(+), 6 deletions(-) diff --git a/EditSet.tsx b/EditSet.tsx index 36d775e..1f5c17d 100644 --- a/EditSet.tsx +++ b/EditSet.tsx @@ -239,9 +239,11 @@ export default function EditSet() { value={reps} onChangeText={(newReps) => { const fixed = fixNumeric(newReps); - setReps(fixed); + setReps(fixed.replace(/-/g, '')) if (fixed.length !== newReps.length) toast("Reps must be a number"); + else if (fixed.includes('-')) + toast("Reps must be a positive value") }} onSubmitEditing={() => weightRef.current?.focus()} selection={selection} diff --git a/EditSets.tsx b/EditSets.tsx index c856e4a..8d5c2ae 100644 --- a/EditSets.tsx +++ b/EditSets.tsx @@ -21,6 +21,8 @@ import { DrawerParams } from "./drawer-params"; import GymSet from "./gym-set"; import Settings from "./settings"; import PrimaryButton from "./PrimaryButton"; +import { fixNumeric } from "./fix-numeric"; +import { toast } from "./toast"; export default function EditSets() { const { params } = useRoute>(); @@ -98,7 +100,14 @@ export default function EditSets() { label={`Reps: ${oldReps}`} keyboardType="numeric" value={reps} - onChangeText={setReps} + onChangeText={(newReps) => { + const fixed = fixNumeric(newReps); + setReps(fixed.replace(/-/g, '')) + if (fixed.length !== newReps.length) + toast("Reps must be a number"); + else if (fixed.includes('-')) + toast("Reps must be a positive value") + }} selection={selection} onSelectionChange={(e) => setSelection(e.nativeEvent.selection)} autoFocus={!!name} diff --git a/StartPlan.tsx b/StartPlan.tsx index e105f61..94fef5b 100644 --- a/StartPlan.tsx +++ b/StartPlan.tsx @@ -150,9 +150,11 @@ export default function StartPlan() { value={reps} onChangeText={(newReps) => { const fixed = fixNumeric(newReps); - setReps(fixed); + setReps(fixed.replace(/-/g, '')) if (fixed.length !== newReps.length) toast("Reps must be a number"); + else if (fixed.includes('-')) + toast("Reps must be a positive value") }} onSubmitEditing={() => weightRef.current?.focus()} selection={selection} diff --git a/android/app/build.gradle b/android/app/build.gradle index 38ea13a..50c450c 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -85,8 +85,8 @@ android { applicationId "com.massive" minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion - versionCode 36229 - versionName "2.14" + versionCode 36230 + versionName "2.15" } signingConfigs { release { diff --git a/package.json b/package.json index 420baae..c421675 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "massive", - "version": "2.14", + "version": "2.15", "private": true, "license": "GPL-3.0-only", "scripts": {