feat(follow-location): init

This commit is contained in:
devthejo 2025-05-24 15:02:51 +02:00
parent 991b65d990
commit ca3a2c8fcc
2 changed files with 41 additions and 2 deletions

View file

@ -22,6 +22,7 @@ export default function FieldNotifySelector() {
const callEmergency = watch("callEmergency"); const callEmergency = watch("callEmergency");
const notifyAround = watch("notifyAround"); const notifyAround = watch("notifyAround");
const notifyRelatives = watch("notifyRelatives"); const notifyRelatives = watch("notifyRelatives");
const followLocation = watch("followLocation");
const level = watch("level"); const level = watch("level");
const checkedColor = colors.primary; const checkedColor = colors.primary;
@ -106,6 +107,29 @@ export default function FieldNotifySelector() {
}} }}
/> />
</View> </View>
<View style={styles.followLocationContainer}>
<CheckboxItem
status={followLocation ? "checked" : "unchecked"}
style={styles.checkboxItem}
labelStyle={styles.checkboxLabel}
size={styleOptions.checkboxItem.size}
icon={() => (
<MaterialCommunityIcons
name="crosshairs-gps"
style={styles.checkboxIcon}
onPress={() => {
setValue("followLocation", !followLocation);
}}
/>
)}
color={checkedColor}
uncheckedColor={uncheckedColor}
label="Suivre ma localisation"
onPress={() => {
setValue("followLocation", !followLocation);
}}
/>
</View>
</View> </View>
); );
} }
@ -122,6 +146,7 @@ const useStyles = createStyles(
({ wp, hp, scaleText, fontSize, theme: { colors, textShadowForWhite } }) => ({ ({ wp, hp, scaleText, fontSize, theme: { colors, textShadowForWhite } }) => ({
container: { container: {
marginTop: hp(2), marginTop: hp(2),
marginBottom: hp(3),
}, },
checkboxItemContainer: { checkboxItemContainer: {
borderRadius: 4, borderRadius: 4,
@ -130,6 +155,13 @@ const useStyles = createStyles(
marginVertical: hp(0.2), marginVertical: hp(0.2),
backgroundColor: colors.surface, backgroundColor: colors.surface,
}, },
followLocationContainer: {
borderRadius: 4,
borderWidth: 1,
borderColor: colors.outline,
marginVertical: hp(4),
backgroundColor: colors.surface,
},
checkboxItem: { checkboxItem: {
paddingHorizontal: 6, paddingHorizontal: 6,
}, },

View file

@ -33,8 +33,14 @@ async function onSubmit(args, context) {
const [alertInput] = args; const [alertInput] = args;
const { navigation } = context; const { navigation } = context;
const { subject, level, callEmergency, notifyAround, notifyRelatives } = const {
alertInput; subject,
level,
callEmergency,
notifyAround,
notifyRelatives,
followLocation,
} = alertInput;
const coords = await getCurrentLocation(); const coords = await getCurrentLocation();
@ -62,6 +68,7 @@ async function onSubmit(args, context) {
callEmergency, callEmergency,
notifyAround, notifyAround,
notifyRelatives, notifyRelatives,
followLocation: !!followLocation,
location, location,
accuracy, accuracy,
altitude, altitude,