Compare commits

...

2 commits

Author SHA1 Message Date
ca3a2c8fcc feat(follow-location): init 2025-05-24 15:02:51 +02:00
991b65d990 fix: call emergency by default on yellow 2025-05-24 14:58:56 +02:00
3 changed files with 44 additions and 3 deletions

View file

@ -22,6 +22,7 @@ export default function FieldNotifySelector() {
const callEmergency = watch("callEmergency");
const notifyAround = watch("notifyAround");
const notifyRelatives = watch("notifyRelatives");
const followLocation = watch("followLocation");
const level = watch("level");
const checkedColor = colors.primary;
@ -106,6 +107,29 @@ export default function FieldNotifySelector() {
}}
/>
</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>
);
}
@ -122,6 +146,7 @@ const useStyles = createStyles(
({ wp, hp, scaleText, fontSize, theme: { colors, textShadowForWhite } }) => ({
container: {
marginTop: hp(2),
marginBottom: hp(3),
},
checkboxItemContainer: {
borderRadius: 4,
@ -130,6 +155,13 @@ const useStyles = createStyles(
marginVertical: hp(0.2),
backgroundColor: colors.surface,
},
followLocationContainer: {
borderRadius: 4,
borderWidth: 1,
borderColor: colors.outline,
marginVertical: hp(4),
backgroundColor: colors.surface,
},
checkboxItem: {
paddingHorizontal: 6,
},

View file

@ -9,7 +9,8 @@ export default function SendAlertConfirm({ route }) {
const { alert } = params;
const level = alert?.level || params.level;
const callEmergency = params.forceCallEmergency || level === "red";
const callEmergency =
params.forceCallEmergency || level === "red" || level === "yellow";
const methods = useForm({
defaultValues: {
@ -18,6 +19,7 @@ export default function SendAlertConfirm({ route }) {
callEmergency,
notifyAround: true,
notifyRelatives: true,
followLocation: true,
},
});

View file

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