diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml
index 92aa763..bde49a5 100644
--- a/android/app/src/main/AndroidManifest.xml
+++ b/android/app/src/main/AndroidManifest.xml
@@ -26,7 +26,6 @@
-
diff --git a/android/gradlew b/android/gradlew
old mode 100755
new mode 100644
diff --git a/app/(tabs)/countdown.tsx b/app/(tabs)/countdown.tsx
index a08c6a0..5fd98dc 100644
--- a/app/(tabs)/countdown.tsx
+++ b/app/(tabs)/countdown.tsx
@@ -1,11 +1,10 @@
import React, { useState, useEffect } from 'react';
-import { StyleSheet, ActivityIndicator, TouchableOpacity, View } from 'react-native';
+import { StyleSheet, ActivityIndicator, TouchableOpacity } from 'react-native';
import { ThemedText } from '@/components/ThemedText';
import { ThemedView } from '@/components/ThemedView';
-import { SafeAreaView } from 'react-native-safe-area-context'; // Import for safe area handling
import { LinearGradient } from 'expo-linear-gradient';
import axios from 'axios';
-import ChangeDateDrawer from '@/components/ChangeDateDrawer'; // Date drawer component
+import ChangeDateDrawer from '@/components/ChangeDateDrawer';
const API_KEY = process.env.EXPO_PUBLIC_API_KEY;
const BASE_URL = process.env.EXPO_PUBLIC_BASE_URL;
@@ -17,6 +16,7 @@ const fetchCountdownDate = async () => {
params: { apiKey: API_KEY }
});
if (response.data && response.data[0] && response.data[0].countdown) {
+ //console.log('Countdown date:', response.data[0].countdown);
return new Date(response.data[0].countdown);
} else {
console.error('Unexpected API response format:', response.data);
@@ -98,32 +98,29 @@ export default function TabTwoScreen() {
start={{ x: 0, y: 0 }}
end={{ x: 1, y: 1 }}
>
-
-
- Countdown to Next Visit
-
- {/* Countdown items displayed horizontally with flexbox */}
-
-
-
-
-
- setIsDateDrawerVisible(true)}
- >
- Change Date
-
- {targetDate && (
- setIsDateDrawerVisible(false)}
- onDateChange={handleDateChange}
- currentDate={targetDate}
- />
- )}
+
+ Countdown to Next Visit
+
+
+
+
+
-
+ setIsDateDrawerVisible(true)}
+ >
+ Change Date
+
+ {targetDate && (
+ setIsDateDrawerVisible(false)}
+ onDateChange={handleDateChange}
+ currentDate={targetDate}
+ />
+ )}
+
);
}
@@ -138,39 +135,31 @@ function CountdownItem({ value, label }: { value: number; label: string }) {
}
const styles = StyleSheet.create({
- safeContainer: {
- flex: 1,
- backgroundColor: 'transparent', // Background color for safety area view
- },
container: {
flex: 1,
- backgroundColor: 'transparent',
- },
- innerContainer: {
- flex: 1,
- justifyContent: 'center',
alignItems: 'center',
- paddingHorizontal: 20, // Padding around the edges
backgroundColor: 'transparent',
},
title: {
- fontSize: 40, // Shrinking the title for smaller screens
- lineHeight: 50,
- fontWeight: '600',
+ fontSize: 64,
+ lineHeight: 64,
+ fontWeight: 'bold',
+ marginTop: 100,
+ marginBottom: 60,
textAlign: 'center',
- paddingHorizontal: 10,
+ paddingHorizontal: 20,
},
countdownContainer: {
flexDirection: 'row',
- justifyContent: 'space-around', // Spread countdown items more evenly
+ justifyContent: 'center',
alignItems: 'center',
- width: '100%',
backgroundColor: 'transparent',
- marginVertical: 40, // Added some space between countdown and title/button
+ marginBottom: 180,
},
countdownItem: {
+ margin: 10,
+ lineHeight: 42,
alignItems: 'center',
- marginHorizontal: 10, // Each item has horizontal spacing
backgroundColor: 'transparent',
},
countdownValue: {
@@ -179,18 +168,18 @@ const styles = StyleSheet.create({
fontWeight: 'bold',
},
countdownLabel: {
- fontSize: 18, // Reducing size of the label for better fit
- lineHeight: 24,
+ fontSize: 32,
+ lineHeight: 42,
},
changeButton: {
backgroundColor: '#730FF8',
- padding: 12,
- borderRadius: 8,
- marginTop: 20,
+ padding: 15,
+ borderRadius: 10,
+ marginTop: 40,
},
changeButtonText: {
color: 'white',
- fontSize: 18,
+ fontSize: 22,
fontWeight: 'bold',
},
-});
\ No newline at end of file
+});
diff --git a/app/(tabs)/index.tsx b/app/(tabs)/index.tsx
index 653874b..3d5af4a 100644
--- a/app/(tabs)/index.tsx
+++ b/app/(tabs)/index.tsx
@@ -1,5 +1,5 @@
import React, { useState, useEffect } from 'react';
-import { StyleSheet, SafeAreaView } from 'react-native';
+import { StyleSheet } from 'react-native';
import { ThemedText } from '@/components/ThemedText';
import { ThemedView } from '@/components/ThemedView';
import { LinearGradient } from 'expo-linear-gradient';
@@ -50,11 +50,9 @@ export default function HomeScreen() {
start={{ x: 0, y: 0 }}
end={{ x: 1, y: 1 }}
>
-
-
- {message}
-
-
+
+ {message}
+
);
}
diff --git a/app/(tabs)/sendmessage.tsx b/app/(tabs)/sendmessage.tsx
index 0c62d43..f26232d 100644
--- a/app/(tabs)/sendmessage.tsx
+++ b/app/(tabs)/sendmessage.tsx
@@ -7,49 +7,44 @@ import {
Keyboard,
TouchableWithoutFeedback,
KeyboardAvoidingView,
- Platform,
- SafeAreaView, // SafeAreaView import for handling safe areas
- View
+ Platform,
+ View
} from 'react-native';
import { ThemedText } from '@/components/ThemedText';
+import { ThemedView } from '@/components/ThemedView';
import { LinearGradient } from 'expo-linear-gradient';
import AsyncStorage from '@react-native-async-storage/async-storage';
import axios from 'axios';
-// Environment variables
const API_KEY = process.env.EXPO_PUBLIC_API_KEY;
const BASE_URL = process.env.EXPO_PUBLIC_BASE_URL;
export default function SendMessageScreen() {
const [message, setMessage] = useState('');
- const [userId, setUserId] = useState(null); // Use number type for userId
- const [inputHeight, setInputHeight] = useState(120); // Set initial height for TextInput
+ const [userId, setUserId] = useState(null);
+ const [inputHeight, setInputHeight] = useState(100);
- // Update TextInput height dynamically
const updateInputHeight = (height: number) => {
- setInputHeight(Math.max(120, height)); // Ensure it doesn't shrink below 120px
+ setInputHeight(Math.max(100, height));
};
- // On component mount, get the user ID from AsyncStorage
useEffect(() => {
- const getUserId = async () => {
- try {
- const storedUser = await AsyncStorage.getItem('@user');
- if (storedUser) {
- const user = JSON.parse(storedUser);
- setUserId(user.id);
- }
- } catch (error) {
- console.error('Failed to get user ID:', error);
- }
- };
-
getUserId();
}, []);
- // Function to send a message
+ const getUserId = async () => {
+ try {
+ const storedUser = await AsyncStorage.getItem('@user');
+ if (storedUser) {
+ const user = JSON.parse(storedUser);
+ setUserId(user.id);
+ }
+ } catch (error) {
+ console.error('Failed to get user ID:', error);
+ }
+ };
+
const sendMessage = async () => {
- // Input validation
if (!message.trim()) {
Alert.alert('Error', 'Please enter a message');
return;
@@ -65,8 +60,8 @@ export default function SendMessageScreen() {
params: { apiKey: API_KEY, userId, message }
});
Alert.alert('Success', 'Message sent successfully');
- setMessage(''); // Clear the message input on success
- Keyboard.dismiss(); // Dismiss the keyboard
+ setMessage('');
+ Keyboard.dismiss();
} catch (error) {
console.error('Failed to send message:', error);
Alert.alert('Error', 'Failed to send message. Please try again.');
@@ -74,87 +69,75 @@ export default function SendMessageScreen() {
};
return (
- // Ensure keyboard behaves correctly on both iOS and Android
-
-
- {/* SafeAreaView for notch and layout safety */}
-
-
-
-
- updateInputHeight(event.nativeEvent.contentSize.height)
- }
- />
- {/* Send Message Button */}
-
- Send Message
-
-
-
-
+
+
+
+
+
+ updateInputHeight(event.nativeEvent.contentSize.height)
+ }
+ />
+
+ Send Message
+
+
+
);
}
const styles = StyleSheet.create({
- safeContainer: {
- flex: 1,
- backgroundColor: 'transparent', // Ensure full-screen safe area
- },
container: {
flex: 1,
- backgroundColor: 'transparent',
- },
- chatContainer: {
- flex: 1,
- justifyContent: 'center',
alignItems: 'center',
- paddingHorizontal: 20, // Ensures padding around the input and button
+ padding: 20,
+ backgroundColor: 'transparent',
+ width: '100%',
},
input: {
width: '100%',
- minHeight: 150, // Minimum height for the TextInput
+ minHeight: 120,
borderColor: 'transparent',
borderWidth: 1,
borderRadius: 10,
padding: 10,
- marginBottom: 10,
- fontSize: 32, // Adjust font size to shrink for smaller devices
- lineHeight: 40, // Adjust line height for better readability
+ marginBottom: 20,
+ marginTop: 160,
+ fontSize: 42,
+ lineHeight: 60,
textAlign: 'center',
color: '#FFFFFF',
fontWeight: 'bold',
- //backgroundColor: 'rgba(0, 0, 0, 0.1)', // Subtle background for text input
- backgroundColor: 'transparent', // Transparent background
+ backgroundColor: 'transparent',
},
button: {
backgroundColor: '#730FF8',
- paddingVertical: 12,
- paddingHorizontal: 20,
+ padding: 15,
+ borderColor: '#730FF8',
borderRadius: 10,
},
buttonText: {
color: 'white',
- fontSize: 18,
+ fontSize: 22,
fontWeight: 'bold',
},
-});
\ No newline at end of file
+});
diff --git a/app/_layout.tsx b/app/_layout.tsx
index 65575f1..d118897 100644
--- a/app/_layout.tsx
+++ b/app/_layout.tsx
@@ -62,14 +62,11 @@ export default function RootLayout() {
}, [loaded]);
const handleUserSelected = async (selectedUser: User) => {
- setUser(selectedUser);
+ console.log('User selected:', selectedUser); // Debug log
try {
await AsyncStorage.setItem('@user', JSON.stringify(selectedUser));
-
- // Store the Push Token to your server when the user is selected (optional)
- if (expoPushToken) {
- await savePushToken(selectedUser.id, expoPushToken); // Hypothetical function to send token to server
- }
+ console.log('User data stored in AsyncStorage:', selectedUser); // Debug log
+ setUser(selectedUser);
} catch (e) {
console.error('Failed to save user or push token', e);
}
@@ -89,34 +86,37 @@ export default function RootLayout() {
useEffect(() => {
// Register for push notifications and set the push token
registerForPushNotificationsAsync().then(async (token) => {
- if (token) {
- setExpoPushToken(token);
+ const storedUser = await AsyncStorage.getItem('@user');
+ if (!storedUser) {
+ console.log('No user found in AsyncStorage'); // Debug log
+ return;
+ }
+ try {
+ const storedUser = await AsyncStorage.getItem('@user');
+ console.log('Stored user data:', storedUser); // Debug log
- // Upload push token to backend when successfully received
- try {
- const storedUser = await AsyncStorage.getItem('@user');
- if (storedUser) {
- const user = JSON.parse(storedUser);
+ if (storedUser) {
+ const user = JSON.parse(storedUser);
+ console.log('Parsed user data:', user); // Debug log
- // Send the push token to your Next.js API, along with the user's ID
- await fetch(`${BASE_URL}/api/updatePushToken`, {
- method: 'POST',
- headers: {
- 'Content-Type': 'application/json',
- },
- body: JSON.stringify({
- apiKey: API_KEY,
- userId: user.id, // The logged-in user's ID
- pushToken: token, // The Expo push token collected
- }),
- });
- console.log('Push token successfully sent to backend');
- } else {
- console.log('No user found in AsyncStorage');
- }
- } catch (error) {
- console.error('Failed to send push token to backend', error);
+ // Send the push token to your Next.js API
+ await fetch(`${BASE_URL}/updatePushToken`, {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ body: JSON.stringify({
+ apiKey: API_KEY,
+ userId: user.id,
+ pushToken: token,
+ }),
+ });
+ console.log('Push token update request sent with user ID:', user.id); // Debug log
+ } else {
+ console.log('No user found in AsyncStorage');
}
+ } catch (error) {
+ console.error('Failed to send push token to backend', error);
}
});
@@ -214,10 +214,3 @@ async function registerForPushNotificationsAsync() {
return token;
}
-
-// (Optional) A function to store push tokens in your backend server
-async function savePushToken(userId: number, expoPushToken: string) {
- // You would need to implement this function to save the user's push token to your backend.
- // For example, you could send a POST request to your Next.js API that stores expoPushToken
- console.log('Saving push token for user:', userId, 'with token:', expoPushToken);
-}
diff --git a/build-1726163811972.ipa b/build-1726163811972.ipa
new file mode 100644
index 0000000..f634a23
Binary files /dev/null and b/build-1726163811972.ipa differ
diff --git a/ios/Podfile.lock b/ios/Podfile.lock
index 4e1f46f..64153ed 100644
--- a/ios/Podfile.lock
+++ b/ios/Podfile.lock
@@ -1,15 +1,11 @@
PODS:
- boost (1.83.0)
- DoubleConversion (1.1.6)
- - EXApplication (5.9.1):
- - ExpoModulesCore
- EXConstants (16.0.2):
- ExpoModulesCore
- EXJSONUtils (0.13.1)
- EXManifests (0.14.3):
- ExpoModulesCore
- - EXNotifications (0.28.16):
- - ExpoModulesCore
- Expo (51.0.32):
- ExpoModulesCore
- expo-dev-client (4.0.26):
@@ -221,8 +217,6 @@ PODS:
- Yoga
- ExpoAsset (10.0.10):
- ExpoModulesCore
- - ExpoDevice (6.0.2):
- - ExpoModulesCore
- ExpoFileSystem (17.0.1):
- ExpoModulesCore
- ExpoFont (12.0.10):
@@ -1544,18 +1538,15 @@ PODS:
DEPENDENCIES:
- boost (from `../node_modules/react-native/third-party-podspecs/boost.podspec`)
- DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`)
- - EXApplication (from `../node_modules/expo-application/ios`)
- EXConstants (from `../node_modules/expo-constants/ios`)
- EXJSONUtils (from `../node_modules/expo-json-utils/ios`)
- EXManifests (from `../node_modules/expo-manifests/ios`)
- - EXNotifications (from `../node_modules/expo-notifications/ios`)
- Expo (from `../node_modules/expo`)
- expo-dev-client (from `../node_modules/expo-dev-client/ios`)
- expo-dev-launcher (from `../node_modules/expo-dev-launcher`)
- expo-dev-menu (from `../node_modules/expo-dev-menu`)
- expo-dev-menu-interface (from `../node_modules/expo-dev-menu-interface/ios`)
- ExpoAsset (from `../node_modules/expo-asset/ios`)
- - ExpoDevice (from `../node_modules/expo-device/ios`)
- ExpoFileSystem (from `../node_modules/expo-file-system/ios`)
- ExpoFont (from `../node_modules/expo-font/ios`)
- ExpoHead (from `../node_modules/expo-router/ios`)
@@ -1637,16 +1628,12 @@ EXTERNAL SOURCES:
:podspec: "../node_modules/react-native/third-party-podspecs/boost.podspec"
DoubleConversion:
:podspec: "../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec"
- EXApplication:
- :path: "../node_modules/expo-application/ios"
EXConstants:
:path: "../node_modules/expo-constants/ios"
EXJSONUtils:
:path: "../node_modules/expo-json-utils/ios"
EXManifests:
:path: "../node_modules/expo-manifests/ios"
- EXNotifications:
- :path: "../node_modules/expo-notifications/ios"
Expo:
:path: "../node_modules/expo"
expo-dev-client:
@@ -1659,8 +1646,6 @@ EXTERNAL SOURCES:
:path: "../node_modules/expo-dev-menu-interface/ios"
ExpoAsset:
:path: "../node_modules/expo-asset/ios"
- ExpoDevice:
- :path: "../node_modules/expo-device/ios"
ExpoFileSystem:
:path: "../node_modules/expo-file-system/ios"
ExpoFont:
@@ -1804,18 +1789,15 @@ EXTERNAL SOURCES:
SPEC CHECKSUMS:
boost: d3f49c53809116a5d38da093a8aa78bf551aed09
DoubleConversion: 76ab83afb40bddeeee456813d9c04f67f78771b5
- EXApplication: c08200c34daca7af7fd76ac4b9d606077410e8ad
EXConstants: 409690fbfd5afea964e5e9d6c4eb2c2b59222c59
EXJSONUtils: 30c17fd9cc364d722c0946a550dfbf1be92ef6a4
EXManifests: c1fab4c3237675e7b0299ea8df0bcb14baca4f42
- EXNotifications: b1b174716b287e161350a18de1d253aabceeea2d
Expo: 33132a667698a3259a4e6c0af1b4936388e5fa33
expo-dev-client: 4f9100af6be210a360aa67f42649881251aa362a
expo-dev-launcher: c8e85bf244a2492448c88adbc3585ca13572f7b9
expo-dev-menu: 0db38ce92be7228dadb588f7069e037fd9d165d8
expo-dev-menu-interface: be32c09f1e03833050f0ee290dcc86b3ad0e73e4
ExpoAsset: 323700f291684f110fb55f0d4022a3362ea9f875
- ExpoDevice: fc94f0e42ecdfd897e7590f2874fc64dfa7e9b1c
ExpoFileSystem: 80bfe850b1f9922c16905822ecbf97acd711dc51
ExpoFont: 00756e6c796d8f7ee8d211e29c8b619e75cbf238
ExpoHead: fcb28a68ed4ba28f177394d2dfb8a0a8824cd103
diff --git a/ios/fuse.xcodeproj/project.pbxproj b/ios/fuse.xcodeproj/project.pbxproj
index 973a45b..c61a51a 100644
--- a/ios/fuse.xcodeproj/project.pbxproj
+++ b/ios/fuse.xcodeproj/project.pbxproj
@@ -3,7 +3,7 @@
archiveVersion = 1;
classes = {
};
- objectVersion = 54;
+ objectVersion = 46;
objects = {
/* Begin PBXBuildFile section */
@@ -30,7 +30,7 @@
6C2E3173556A471DD304B334 /* Pods-fuse.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-fuse.debug.xcconfig"; path = "Target Support Files/Pods-fuse/Pods-fuse.debug.xcconfig"; sourceTree = ""; };
7A4D352CD337FB3A3BF06240 /* Pods-fuse.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-fuse.release.xcconfig"; path = "Target Support Files/Pods-fuse/Pods-fuse.release.xcconfig"; sourceTree = ""; };
AA286B85B6C04FC6940260E9 /* SplashScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = SplashScreen.storyboard; path = fuse/SplashScreen.storyboard; sourceTree = ""; };
- B50056BB879EC1FE9A5251D0 /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xml; name = PrivacyInfo.xcprivacy; path = fuse/PrivacyInfo.xcprivacy; sourceTree = ""; };
+ B50056BB879EC1FE9A5251D0 /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; includeInIndex = 1; name = PrivacyInfo.xcprivacy; path = fuse/PrivacyInfo.xcprivacy; sourceTree = ""; };
BB2F792C24A3F905000567C9 /* Expo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Expo.plist; sourceTree = ""; };
E3C56C9C8A70435F80C980CD /* fuse-Bridging-Header.h */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.h; name = "fuse-Bridging-Header.h"; path = "fuse/fuse-Bridging-Header.h"; sourceTree = ""; };
ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; };
@@ -273,11 +273,8 @@
);
inputPaths = (
"${PODS_ROOT}/Target Support Files/Pods-fuse/Pods-fuse-resources.sh",
- "${PODS_CONFIGURATION_BUILD_DIR}/EXApplication/ExpoApplication_privacy.bundle",
"${PODS_CONFIGURATION_BUILD_DIR}/EXConstants/EXConstants.bundle",
"${PODS_CONFIGURATION_BUILD_DIR}/EXConstants/ExpoConstants_privacy.bundle",
- "${PODS_CONFIGURATION_BUILD_DIR}/EXNotifications/ExpoNotifications_privacy.bundle",
- "${PODS_CONFIGURATION_BUILD_DIR}/ExpoDevice/ExpoDevice_privacy.bundle",
"${PODS_CONFIGURATION_BUILD_DIR}/ExpoFileSystem/ExpoFileSystem_privacy.bundle",
"${PODS_CONFIGURATION_BUILD_DIR}/ExpoSystemUI/ExpoSystemUI_privacy.bundle",
"${PODS_CONFIGURATION_BUILD_DIR}/RNCAsyncStorage/RNCAsyncStorage_resources.bundle",
@@ -306,11 +303,8 @@
);
name = "[CP] Copy Pods Resources";
outputPaths = (
- "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/ExpoApplication_privacy.bundle",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/EXConstants.bundle",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/ExpoConstants_privacy.bundle",
- "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/ExpoNotifications_privacy.bundle",
- "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/ExpoDevice_privacy.bundle",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/ExpoFileSystem_privacy.bundle",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/ExpoSystemUI_privacy.bundle",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/RNCAsyncStorage_resources.bundle",
@@ -391,14 +385,9 @@
"FB_SONARKIT_ENABLED=1",
);
INFOPLIST_FILE = fuse/Info.plist;
- INFOPLIST_KEY_CFBundleDisplayName = Fuse;
- INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.lifestyle";
IPHONEOS_DEPLOYMENT_TARGET = 13.4;
- LD_RUNPATH_SEARCH_PATHS = (
- "$(inherited)",
- "@executable_path/Frameworks",
- );
- MARKETING_VERSION = 1.1;
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ MARKETING_VERSION = 1.0;
OTHER_LDFLAGS = (
"$(inherited)",
"-ObjC",
@@ -424,14 +413,9 @@
CODE_SIGN_ENTITLEMENTS = fuse/fuse.entitlements;
CURRENT_PROJECT_VERSION = 1;
INFOPLIST_FILE = fuse/Info.plist;
- INFOPLIST_KEY_CFBundleDisplayName = Fuse;
- INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.lifestyle";
IPHONEOS_DEPLOYMENT_TARGET = 13.4;
- LD_RUNPATH_SEARCH_PATHS = (
- "$(inherited)",
- "@executable_path/Frameworks",
- );
- MARKETING_VERSION = 1.1;
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ MARKETING_VERSION = 1.0;
OTHER_LDFLAGS = (
"$(inherited)",
"-ObjC",
@@ -499,14 +483,14 @@
IPHONEOS_DEPLOYMENT_TARGET = 13.4;
LD = "";
LDPLUSPLUS = "";
- LD_RUNPATH_SEARCH_PATHS = (
- /usr/lib/swift,
- "$(inherited)",
- );
+ LD_RUNPATH_SEARCH_PATHS = "/usr/lib/swift $(inherited)";
LIBRARY_SEARCH_PATHS = "$(SDKROOT)/usr/lib/swift\"$(inherited)\"";
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
- OTHER_LDFLAGS = "$(inherited) ";
+ OTHER_LDFLAGS = (
+ "$(inherited)",
+ " ",
+ );
REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native";
SDKROOT = iphoneos;
USE_HERMES = true;
@@ -558,13 +542,13 @@
IPHONEOS_DEPLOYMENT_TARGET = 13.4;
LD = "";
LDPLUSPLUS = "";
- LD_RUNPATH_SEARCH_PATHS = (
- /usr/lib/swift,
- "$(inherited)",
- );
+ LD_RUNPATH_SEARCH_PATHS = "/usr/lib/swift $(inherited)";
LIBRARY_SEARCH_PATHS = "$(SDKROOT)/usr/lib/swift\"$(inherited)\"";
MTL_ENABLE_DEBUG_INFO = NO;
- OTHER_LDFLAGS = "$(inherited) ";
+ OTHER_LDFLAGS = (
+ "$(inherited)",
+ " ",
+ );
REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native";
SDKROOT = iphoneos;
USE_HERMES = true;
diff --git a/ios/fuse/Info.plist b/ios/fuse/Info.plist
index c4bdcd9..436cf15 100644
--- a/ios/fuse/Info.plist
+++ b/ios/fuse/Info.plist
@@ -31,12 +31,6 @@
com.gibbyb.fuse
-
- CFBundleURLSchemes
-
- exp+fuse
-
-
CFBundleVersion
1
@@ -52,8 +46,6 @@
NSUserActivityTypes
$(PRODUCT_BUNDLE_IDENTIFIER).expo.index_route
- $(PRODUCT_BUNDLE_IDENTIFIER).expo.index_route
- $(PRODUCT_BUNDLE_IDENTIFIER).expo.index_route
UILaunchStoryboardName
SplashScreen
diff --git a/ios/fuse/PrivacyInfo.xcprivacy b/ios/fuse/PrivacyInfo.xcprivacy
index c6b452e..5bb83c5 100644
--- a/ios/fuse/PrivacyInfo.xcprivacy
+++ b/ios/fuse/PrivacyInfo.xcprivacy
@@ -4,16 +4,6 @@
NSPrivacyAccessedAPITypes
-
- NSPrivacyAccessedAPIType
- NSPrivacyAccessedAPICategoryFileTimestamp
- NSPrivacyAccessedAPITypeReasons
-
- C617.1
- 0A2A.1
- 3B52.1
-
-
NSPrivacyAccessedAPIType
NSPrivacyAccessedAPICategoryUserDefaults
@@ -24,10 +14,12 @@
NSPrivacyAccessedAPIType
- NSPrivacyAccessedAPICategorySystemBootTime
+ NSPrivacyAccessedAPICategoryFileTimestamp
NSPrivacyAccessedAPITypeReasons
- 35F9.1
+ 0A2A.1
+ 3B52.1
+ C617.1
@@ -39,6 +31,14 @@
85F4.1
+
+ NSPrivacyAccessedAPIType
+ NSPrivacyAccessedAPICategorySystemBootTime
+ NSPrivacyAccessedAPITypeReasons
+
+ 35F9.1
+
+
NSPrivacyCollectedDataTypes
diff --git a/ios/fuse/fuse.entitlements b/ios/fuse/fuse.entitlements
index 018a6e2..f683276 100644
--- a/ios/fuse/fuse.entitlements
+++ b/ios/fuse/fuse.entitlements
@@ -1,8 +1,5 @@
-
- aps-environment
- development
-
+
\ No newline at end of file
diff --git a/package-lock.json b/package-lock.json
index dfd3e17..3997ab5 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -20,7 +20,7 @@
"expo-font": "~12.0.9",
"expo-linear-gradient": "~13.0.2",
"expo-linking": "~6.3.1",
- "expo-notifications": "~0.28.16",
+ "expo-notifications": "~0.28.17",
"expo-router": "~3.5.23",
"expo-splash-screen": "~0.27.5",
"expo-status-bar": "~1.12.1",
@@ -10354,9 +10354,9 @@
}
},
"node_modules/expo-notifications": {
- "version": "0.28.16",
- "resolved": "https://registry.npmjs.org/expo-notifications/-/expo-notifications-0.28.16.tgz",
- "integrity": "sha512-sj4oDip+uFNmxieGHkfS2Usrwbw2jfOTfQ22a7z5tdSo/vD6jWMlCHOnJifqYLjPxyqf9SLTsQWO3bmk7MY2Yg==",
+ "version": "0.28.17",
+ "resolved": "https://registry.npmjs.org/expo-notifications/-/expo-notifications-0.28.17.tgz",
+ "integrity": "sha512-tuhc/X385O1gLSBEsPpXSqmmBK6Ve6zG8u6YFa1kXILbyy83DHJuHB5ELJKo/HZdstlYeFjkDCei4haOuxCLCQ==",
"license": "MIT",
"dependencies": {
"@expo/image-utils": "^0.5.0",
diff --git a/package.json b/package.json
index 7901093..d6b615f 100644
--- a/package.json
+++ b/package.json
@@ -41,7 +41,7 @@
"react-native-vector-icons": "^10.1.0",
"react-native-web": "~0.19.10",
"expo-dev-client": "~4.0.26",
- "expo-notifications": "~0.28.16",
+ "expo-notifications": "~0.28.17",
"expo-device": "~6.0.2"
},
"devDependencies": {