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 Settings from "./settings";
import StackHeader from "./StackHeader"; import StackHeader from "./StackHeader";
import { toast } from "./toast"; import { toast } from "./toast";
import Select from "./Select";
import { PERMISSIONS, RESULTS, check, request } from "react-native-permissions";
export default function EditSet() { export default function EditSet() {
const { params } = useRoute<RouteProp<StackParams, "EditSet">>(); const { params } = useRoute<RouteProp<StackParams, "EditSet">>();
@ -50,7 +52,6 @@ export default function EditSet() {
const [setOptions, setSets] = useState<GymSet[]>([]); const [setOptions, setSets] = useState<GymSet[]>([]);
const weightRef = useRef<TextInput>(null); const weightRef = useRef<TextInput>(null);
const repsRef = useRef<TextInput>(null); const repsRef = useRef<TextInput>(null);
const unitRef = useRef<TextInput>(null);
const [selection, setSelection] = useState({ const [selection, setSelection] = useState({
start: 0, start: 0,
@ -70,6 +71,9 @@ export default function EditSet() {
const milliseconds = const milliseconds =
(first?.minutes ?? 3) * 60 * 1000 + (first?.seconds ?? 0) * 1000; (first?.minutes ?? 3) * 60 * 1000 + (first?.seconds ?? 0) * 1000;
console.log(`${EditSet.name}.timer:`, { milliseconds }); 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); if (milliseconds) NativeModules.AlarmModule.timer(milliseconds);
}, },
[settings] [settings]
@ -287,12 +291,15 @@ export default function EditSet() {
</View> </View>
{settings.showUnit && ( {settings.showUnit && (
<AppInput <Select
autoCapitalize="none"
label="Unit"
value={unit} value={unit}
onChangeText={setUnit} onChange={setUnit}
innerRef={unitRef} 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 StackHeader from "./StackHeader";
import StartPlanItem from "./StartPlanItem"; import StartPlanItem from "./StartPlanItem";
import { toast } from "./toast"; import { toast } from "./toast";
import { PERMISSIONS, RESULTS, check, request } from "react-native-permissions";
export default function StartPlan() { export default function StartPlan() {
const { params } = useRoute<RouteProp<StackParams, "StartPlan">>(); const { params } = useRoute<RouteProp<StackParams, "StartPlan">>();
@ -114,6 +115,9 @@ export default function StartPlan() {
if (!settings.alarm) return; if (!settings.alarm) return;
const milliseconds = const milliseconds =
Number(best.minutes) * 60 * 1000 + Number(best.seconds) * 1000; 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); NativeModules.AlarmModule.timer(milliseconds);
}; };