Replace unit text input with a drop down

This commit is contained in:
Brandon Presley 2023-11-13 16:07:45 +13:00
parent ec0fdbcec7
commit 7f4c0a5f10
2 changed files with 17 additions and 6 deletions

View File

@ -28,6 +28,8 @@ import GymSet from "./gym-set";
import Settings from "./settings";
import StackHeader from "./StackHeader";
import { toast } from "./toast";
import Select from "./Select";
import { PERMISSIONS, RESULTS, check, request } from "react-native-permissions";
export default function EditSet() {
const { params } = useRoute<RouteProp<StackParams, "EditSet">>();
@ -50,7 +52,6 @@ export default function EditSet() {
const [setOptions, setSets] = useState<GymSet[]>([]);
const weightRef = useRef<TextInput>(null);
const repsRef = useRef<TextInput>(null);
const unitRef = useRef<TextInput>(null);
const [selection, setSelection] = useState({
start: 0,
@ -70,6 +71,9 @@ export default function EditSet() {
const milliseconds =
(first?.minutes ?? 3) * 60 * 1000 + (first?.seconds ?? 0) * 1000;
console.log(`${EditSet.name}.timer:`, { milliseconds });
const canNotify = await check(PERMISSIONS.ANDROID.POST_NOTIFICATIONS);
if (canNotify === RESULTS.DENIED)
await request(PERMISSIONS.ANDROID.POST_NOTIFICATIONS);
if (milliseconds) NativeModules.AlarmModule.timer(milliseconds);
},
[settings]
@ -287,12 +291,15 @@ export default function EditSet() {
</View>
{settings.showUnit && (
<AppInput
autoCapitalize="none"
label="Unit"
<Select
value={unit}
onChangeText={setUnit}
innerRef={unitRef}
onChange={setUnit}
items={[
{ label: "kg", value: "kg" },
{ label: "lb", value: "lb" },
{ label: "stone", value: "stone" },
]}
label="Unit"
/>
)}

View File

@ -21,6 +21,7 @@ import Settings from "./settings";
import StackHeader from "./StackHeader";
import StartPlanItem from "./StartPlanItem";
import { toast } from "./toast";
import { PERMISSIONS, RESULTS, check, request } from "react-native-permissions";
export default function StartPlan() {
const { params } = useRoute<RouteProp<StackParams, "StartPlan">>();
@ -114,6 +115,9 @@ export default function StartPlan() {
if (!settings.alarm) return;
const milliseconds =
Number(best.minutes) * 60 * 1000 + Number(best.seconds) * 1000;
const canNotify = await check(PERMISSIONS.ANDROID.POST_NOTIFICATIONS);
if (canNotify === RESULTS.DENIED)
await request(PERMISSIONS.ANDROID.POST_NOTIFICATIONS);
NativeModules.AlarmModule.timer(milliseconds);
};