Compare commits

...

2 commits

Author SHA1 Message Date
c5c570392b
fix(ios): wip 2026-01-04 13:44:25 +01:00
56e397d8b4
chore(release): 1.15.0 2025-12-11 09:16:47 +01:00
5 changed files with 83 additions and 41 deletions

View file

@ -2,6 +2,21 @@
All notable changes to this project will be documented in this file. See [commit-and-tag-version](https://github.com/absolute-version/commit-and-tag-version) for commit guidelines. All notable changes to this project will be documented in this file. See [commit-and-tag-version](https://github.com/absolute-version/commit-and-tag-version) for commit guidelines.
## [1.15.0](https://github.com/alerte-secours/as-app/compare/v1.13.13...v1.15.0) (2025-12-11)
### Features
* **links:** add appui soutien ([43bc7f6](https://github.com/alerte-secours/as-app/commit/43bc7f6f63f5034359eb0f4598386215889a35fe))
### Bug Fixes
* **ios:** bundle export scipt ([457b9f3](https://github.com/alerte-secours/as-app/commit/457b9f3d5cb884551758df09bf69d09a179610db))
* **ios:** expo 53 upgrade crash and black screen ([bf09f96](https://github.com/alerte-secours/as-app/commit/bf09f968a7937ccfd90171cb12b74cd66d482466))
* **ios:** ok ([c228569](https://github.com/alerte-secours/as-app/commit/c2285691a75591bfa9e17bf20f710cab66c241ac))
* **ios:** wip ([2da80b0](https://github.com/alerte-secours/as-app/commit/2da80b0ca963efdc6df3cc6f3d1c8c86fd4f5c50))
## [1.14.3](https://github.com/alerte-secours/as-app/compare/v1.14.2...v1.14.3) (2025-12-10) ## [1.14.3](https://github.com/alerte-secours/as-app/compare/v1.14.2...v1.14.3) (2025-12-10)

View file

@ -83,8 +83,8 @@ android {
applicationId 'com.alertesecours' applicationId 'com.alertesecours'
minSdkVersion rootProject.ext.minSdkVersion minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 229 versionCode 230
versionName "1.14.3" versionName "1.15.0"
multiDexEnabled true multiDexEnabled true
testBuildType System.getProperty('testBuildType', 'debug') testBuildType System.getProperty('testBuildType', 'debug')
testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner' testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner'

View file

@ -25,7 +25,7 @@
<key>CFBundlePackageType</key> <key>CFBundlePackageType</key>
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string> <string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
<key>CFBundleShortVersionString</key> <key>CFBundleShortVersionString</key>
<string>1.14.3</string> <string>1.15.0</string>
<key>CFBundleSignature</key> <key>CFBundleSignature</key>
<string>????</string> <string>????</string>
<key>CFBundleURLTypes</key> <key>CFBundleURLTypes</key>
@ -48,7 +48,7 @@
</dict> </dict>
</array> </array>
<key>CFBundleVersion</key> <key>CFBundleVersion</key>
<string>229</string> <string>230</string>
<key>ITSAppUsesNonExemptEncryption</key> <key>ITSAppUsesNonExemptEncryption</key>
<false/> <false/>
<key>LSApplicationQueriesSchemes</key> <key>LSApplicationQueriesSchemes</key>

View file

@ -1,6 +1,6 @@
{ {
"name": "alerte-secours", "name": "alerte-secours",
"version": "1.14.3", "version": "1.15.0",
"main": "index.js", "main": "index.js",
"scripts": { "scripts": {
"start": "expo start --dev-client --private-key-path ./keys/private-key.pem", "start": "expo start --dev-client --private-key-path ./keys/private-key.pem",
@ -50,8 +50,8 @@
"screenshot:android": "scripts/screenshot-android.sh" "screenshot:android": "scripts/screenshot-android.sh"
}, },
"customExpoVersioning": { "customExpoVersioning": {
"versionCode": 229, "versionCode": 230,
"buildNumber": 229 "buildNumber": 230
}, },
"commit-and-tag-version": { "commit-and-tag-version": {
"scripts": { "scripts": {

View file

@ -1,9 +1,12 @@
import React from "react"; import React from "react";
import { View, ScrollView, StyleSheet, Platform } from "react-native"; import { View, ScrollView, StyleSheet, Platform, Modal } from "react-native";
import { useSafeAreaInsets } from "react-native-safe-area-context";
import AsyncStorage from "~/storage/memoryAsyncStorage"; import AsyncStorage from "~/storage/memoryAsyncStorage";
import { STORAGE_KEYS } from "~/storage/storageKeys"; import { STORAGE_KEYS } from "~/storage/storageKeys";
import { useTheme } from "~/theme";
import Text from "../Text"; import CustomButton from "~/components/CustomButton";
import Text from "~/components/Text";
const EULA_TEXT = `Contrat de Licence Utilisateur Final (CLUF) const EULA_TEXT = `Contrat de Licence Utilisateur Final (CLUF)
@ -66,6 +69,9 @@ Si vous avez des questions concernant ce Contrat, veuillez nous contacter à :
Email : contact@alertesecours.fr`; Email : contact@alertesecours.fr`;
const EULA = ({ onAccept, visible = true }) => { const EULA = ({ onAccept, visible = true }) => {
const theme = useTheme();
const insets = useSafeAreaInsets();
if (!visible || Platform.OS !== "ios") return null; if (!visible || Platform.OS !== "ios") return null;
const handleAccept = async () => { const handleAccept = async () => {
@ -78,63 +84,84 @@ const EULA = ({ onAccept, visible = true }) => {
}; };
return ( return (
<View style={styles.container}> <Modal
<View style={styles.content}> animationType="fade"
<Text style={styles.title}>Conditions Générales</Text> transparent
<ScrollView style={styles.scrollView}> visible={visible}
<Text style={styles.text}>{EULA_TEXT}</Text> onRequestClose={() => {}}
</ScrollView> >
<View style={styles.buttonContainer}> <View
<Text onPress={handleAccept} style={styles.acceptButton}> style={[
Accepter styles.container,
{
backgroundColor:
theme.colors.backdrop || theme.colors.scrim || "rgba(0,0,0,0.5)",
paddingTop: insets.top,
paddingBottom: insets.bottom,
},
]}
>
<View
style={[styles.content, { backgroundColor: theme.colors.surface }]}
>
<Text style={[styles.title, { color: theme.colors.onSurface }]}>
Conditions Générales
</Text> </Text>
<ScrollView
style={styles.scrollView}
contentContainerStyle={styles.scrollViewContent}
showsVerticalScrollIndicator
>
<Text style={[styles.text, { color: theme.colors.onSurface }]}>
{EULA_TEXT}
</Text>
</ScrollView>
<View style={styles.buttonContainer}>
<CustomButton mode="contained" onPress={handleAccept}>
Accepter
</CustomButton>
</View>
</View> </View>
</View> </View>
</View> </Modal>
); );
}; };
const styles = StyleSheet.create({ const styles = StyleSheet.create({
container: { container: {
position: "absolute", flex: 1,
top: 0,
left: 0,
right: 0,
bottom: 0,
backgroundColor: "rgba(0,0,0,0.5)",
justifyContent: "center", justifyContent: "center",
alignItems: "center", alignItems: "center",
zIndex: 1000, paddingHorizontal: 16,
}, },
content: { content: {
backgroundColor: "white", borderRadius: 12,
borderRadius: 10, width: "100%",
width: "90%", maxWidth: 520,
maxHeight: "80%", maxHeight: "85%",
padding: 20, paddingHorizontal: 16,
paddingTop: 16,
paddingBottom: 12,
flexShrink: 1,
}, },
title: { title: {
fontSize: 20, fontSize: 20,
fontWeight: "bold", fontWeight: "600",
marginBottom: 15, marginBottom: 15,
textAlign: "center", textAlign: "center",
}, },
scrollView: { scrollView: {
maxHeight: "80%", flexGrow: 0,
},
scrollViewContent: {
paddingBottom: 8,
}, },
text: { text: {
fontSize: 14, fontSize: 14,
lineHeight: 20, lineHeight: 20,
}, },
buttonContainer: { buttonContainer: {
marginTop: 20, marginTop: 12,
alignItems: "center",
},
acceptButton: {
color: "#007AFF",
fontSize: 18,
fontWeight: "bold",
padding: 10,
}, },
}); });