Skip to content

Commit

Permalink
ios done i guess XD
Browse files Browse the repository at this point in the history
  • Loading branch information
dannytang committed Nov 11, 2024
1 parent 1cfc69c commit 667e118
Show file tree
Hide file tree
Showing 4 changed files with 76 additions and 47 deletions.
93 changes: 50 additions & 43 deletions screens/maps/OnBoardingScreen.tsx
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
import React, { useEffect, useState } from 'react';
import { ActivityIndicator, Alert, Button, StyleSheet, Text, View } from "react-native";
import { useNavigation } from '@react-navigation/native';
import React, { useEffect, useState } from "react";
import { ActivityIndicator, Alert, StyleSheet, Text, View, Linking } from "react-native";
import { useNavigation } from "@react-navigation/native";
import {
ReactAIIndoorNavigationSDK,
ReactIndoorNavigationSDKConfig,
ReactRoutableNodesOptions,
ReactIndoorNavigationSDKConfig, ReactRoutableNodesOptions,
ReactRoutingConfig,
SyncingInterval,
} from 'react-native-ai-navigation-sdk';
import { PermissionStates } from 'react-native-ai-navigation-sdk/src/permission-manager';
SyncingInterval
} from "react-native-ai-navigation-sdk";
import { PermissionStates } from "react-native-ai-navigation-sdk/src/permission-manager";
import { ArkadButton } from "components/Buttons";
import Colors from "constants/Colors";
import { ArkadText } from "components/StyledText";
import Constants from "expo-constants"; // Import useNavigation
import * as Location from "expo-location";
import { DeviceMotion } from "expo-sensors";

const sync: SyncingInterval = {
interval: 1,
Expand All @@ -28,56 +28,65 @@ const indoorNavigationSDKConfig: ReactIndoorNavigationSDKConfig = {
syncingInterval: sync,
};

export type MapStackParamList = {
PositioningMapScreen: undefined;
};


export default function OnboardingScreen() {
const navigation = useNavigation(); // Get navigation instance
const navigation = useNavigation();
const [sdk, setSdk] = useState<ReactAIIndoorNavigationSDK | null>(null);
const [hasPermission, setHasPermission] = useState(false);
const [locationPermission, setLocationPermission] = useState(false);
const [motionPermission, setMotionPermission] = useState(false);

async function init() {
await ReactAIIndoorNavigationSDK.create(indoorNavigationSDKConfig).then(x => setSdk(x));
console.log("SDK CREATED")
console.log("SDK CREATED");
}


async function checkPermission() {
if (sdk) {
const permissionManager = sdk.getPermissionManager();
const state = await permissionManager.getPermissionState();
if (state instanceof PermissionStates.Granted) {
setHasPermission(true);
navigation.navigate('PositioningMapScreen', { sdk });
} else {
setHasPermission(false);
if(sdk){
const permissionManager = sdk.getPermissionManager();
const state = await permissionManager.getPermissionState();
if (state instanceof PermissionStates.Granted || locationPermission && motionPermission) {
setHasPermission(true);
} else {
setHasPermission(false);
}
}
}

}

async function requestPermissions() {
if (sdk) {
const permissionManager = sdk.getPermissionManager();
const granted = await permissionManager.requestMissingPermission();
if (granted) {



const openAppSettings = () => {
Linking.openSettings();
};

const requestPermissions = async () => {
const { status } = await Location.requestForegroundPermissionsAsync();

if (status === 'granted') {
if (sdk) {
setHasPermission(true);
navigation.navigate('PositioningMapScreen', { sdk });
} else {
Alert.alert("Permission Denied", "You need to grant permission to proceed.");
}
} else {
Alert.alert(
" Permission Denied",
"You need to grant location permission to proceed.",
[
{ text: "Open Settings", onPress: openAppSettings }
]
);
}
}
};

useEffect(() => {
init();
checkPermission();
init();
}, []);

useEffect(() => {
checkPermission();
}, );
}, [sdk]);

if (sdk == null) {
return (
Expand All @@ -95,8 +104,9 @@ export default function OnboardingScreen() {
!hasPermission ? (
<View>
<ArkadButton onPress={requestPermissions}>
<ArkadText text="Try Interactive map " />
<ArkadText text="Try interactive map" />
</ArkadButton>

</View>
) : (
<View style={styles.box}>
Expand All @@ -106,8 +116,6 @@ export default function OnboardingScreen() {
</View>
)
}


</View>
);
}
Expand All @@ -127,20 +135,19 @@ const styles = StyleSheet.create({
margin: 10,
},

box:{
box: {
margin: 10,
},

loadingContainer: {
flex: 1,
justifyContent: "center",
alignItems: "center",
},

loadingText: {
paddingTop: 15,
color: Colors.white,
fontSize: 32,
},



});
25 changes: 24 additions & 1 deletion screens/maps/PositioningMapScreen.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -453,6 +453,8 @@ export default function PositioningMapScreen({ route }: PositioningMapScreenProp
{selectedCompany && (
<View style={styles.infoContainer}>
<TagsList company={selectedCompany} showOptions={ShowOptions.Industries} />
<ArkadText style={styles.descHeader} text={"ABOUT US"} />
<ArkadText style={styles.desc} text={selectedCompany.description ? selectedCompany.description : "\u2013"} />
</View>
)}

Expand Down Expand Up @@ -644,5 +646,26 @@ const styles = StyleSheet.create({
shadowOffset: { width: 0, height: 2 },
shadowOpacity: 0.5,
shadowRadius: 5,
}
},
desc: {
fontSize: 17,
color: Colors.white,
alignSelf: "flex-start",
textAlign: "left",
fontWeight: "400",
lineHeight: 25,
letterSpacing: -0.43,
},
descHeader: {
marginTop: 16,
marginBottom: 6,
alignSelf: "flex-start",
fontSize: 20,
color: Colors.white,
fontStyle: "normal",
lineHeight: 25,
fontWeight: "700",
letterSpacing: -0.45,
},

});
3 changes: 1 addition & 2 deletions screens/maps/components/RoutableTargetsModal.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -182,8 +182,7 @@ const styles = StyleSheet.create({
fontSize: 22,
fontWeight: "700",
color: Colors.white,
padding: 8,
borderBottomWidth: 1,
padding: 10,
borderBottomColor: Colors.arkadTurkos,
},
list: {
Expand Down
2 changes: 1 addition & 1 deletion screens/maps/components/Routing/RoutingItem.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ export const RoutingItem = ({target, company, onPress }: RoutingListItemProps) =
<Image source={require("assets/images/location_pin_white.png")} style={styles.locationPin} />

<ArkadText style={styles.companyLocationText} text={(
Locations[companyLocations[company.id]] + " Floor " + target.floorIndex ?? "No data"
Locations[companyLocations[company.id]] + " Floor " + ((target.floorIndex ?? 0) + 1)
).replace("_", "-")}
/>
</View>
Expand Down

0 comments on commit 667e118

Please sign in to comment.