Loading backend/src/route/route.service.ts +2 −1 Original line number Diff line number Diff line Loading @@ -95,7 +95,8 @@ export class RouteService { async getRouteAndPlacesByUser(email: string, routeStatus: RouteStatus) { const res = await this.routeRepository.find({ relations: ['travelPlace'], where: { user: { email }, status: routeStatus, endDate: MoreThan(new Date()) }, where: { user: { email }, status: routeStatus }, order: { endDate: 'DESC' }, }); return res; Loading mobile/app/routes/generate_route.tsx +6 −6 Original line number Diff line number Diff line Loading @@ -3,9 +3,9 @@ import { Text } from "react-native"; import { RoutePreviewPage } from "../../src/route/screens/route_preview"; export default function GenerateRoute() { const { townId } = useLocalSearchParams<{ townId: string }>(); if (!townId) { const { routeId } = useLocalSearchParams<{ routeId: string }>(); if (!routeId) { return <Text>Invalid town id</Text>; } return <RoutePreviewPage townId={parseInt(townId)} />; return <RoutePreviewPage townId={parseInt(routeId)} />; } mobile/src/common/components/custom_tile_button.tsx +12 −9 Original line number Diff line number Diff line Loading @@ -14,17 +14,21 @@ export const CustomTileButton = ({ title, onPress, leadingIcon, subtitle subtitle, }: CustomTileButtonProps) => { return ( <TouchableOpacity onPress={onPress} style={styles.account_option}> <View style={{ flexDirection: "row", gap: 20, alignItems: "center" }}> {leadingIcon} <View style={styles.titleContainer}> <Text style={styles.title} numberOfLines={1} >{title}</Text> { subtitle && <Text style={styles.subtitle} numberOfLines={1} >{subtitle}</Text> } <Text style={styles.title} numberOfLines={1}> {title} </Text> {subtitle && ( <Text style={styles.subtitle} numberOfLines={1}> {subtitle} </Text> )} </View> </View> <MaterialIcons name="keyboard-arrow-right" size={30} color="black" /> Loading @@ -50,9 +54,8 @@ const styles = StyleSheet.create({ alignItems: "flex-start", justifyContent: "space-between", paddingVertical: 10, minWidth: "50%", minWidth: "70%", maxWidth: "85%", }, title: { fontSize: 16, Loading @@ -63,5 +66,5 @@ const styles = StyleSheet.create({ color: "#777", fontWeight: "500", textAlign: "left", } }, }); mobile/src/common/utils/time.ts +22 −14 Original line number Diff line number Diff line Loading @@ -7,10 +7,18 @@ export const millisecondsToHourFormat = (milliseconds: number) => { let seconds = totalSeconds % 60; const formattedTime = [ hours.toString().padStart(2, '0'), minutes.toString().padStart(2, '0'), seconds.toString().padStart(2, '0') ].join(':'); hours.toString().padStart(2, "0"), minutes.toString().padStart(2, "0"), seconds.toString().padStart(2, "0"), ].join(":"); return formattedTime; } No newline at end of file }; export const formatToDDMMYYYY = (date: Date) => { return `${date.getDate()}/${date.getMonth() + 1}/${date.getFullYear()}`; }; export const hourToFormattedString = (hour: number) => { return `${hour.toString().padStart(2, "0")}:00`; }; mobile/src/route/components/route_activity_tile.tsx +7 −4 Original line number Diff line number Diff line Loading @@ -15,6 +15,7 @@ export const RouteActivityTile = ({ isLast, isFirst, }: RouteActivityTileProps) => { console.log(activity.imageUri); return ( <View style={styles.container}> <View style={styles.sideIndicator}> Loading @@ -39,7 +40,9 @@ export const RouteActivityTile = ({ resizeMode="cover" /> <View style={styles.activityInfoContainer}> <Text style={styles.activityNameText} numberOfLines={1}>{activity.name}</Text> <Text style={styles.activityNameText} numberOfLines={1}> {activity.name} </Text> <Text numberOfLines={1}>{activity.startTime.toISOString()}</Text> <Text numberOfLines={1}>{activity.location}</Text> <FlatList Loading Loading @@ -99,5 +102,5 @@ const styles = StyleSheet.create({ color: LIGHT_THEME.color.white, justifyContent: "center", alignItems: "center", } }, }); Loading
backend/src/route/route.service.ts +2 −1 Original line number Diff line number Diff line Loading @@ -95,7 +95,8 @@ export class RouteService { async getRouteAndPlacesByUser(email: string, routeStatus: RouteStatus) { const res = await this.routeRepository.find({ relations: ['travelPlace'], where: { user: { email }, status: routeStatus, endDate: MoreThan(new Date()) }, where: { user: { email }, status: routeStatus }, order: { endDate: 'DESC' }, }); return res; Loading
mobile/app/routes/generate_route.tsx +6 −6 Original line number Diff line number Diff line Loading @@ -3,9 +3,9 @@ import { Text } from "react-native"; import { RoutePreviewPage } from "../../src/route/screens/route_preview"; export default function GenerateRoute() { const { townId } = useLocalSearchParams<{ townId: string }>(); if (!townId) { const { routeId } = useLocalSearchParams<{ routeId: string }>(); if (!routeId) { return <Text>Invalid town id</Text>; } return <RoutePreviewPage townId={parseInt(townId)} />; return <RoutePreviewPage townId={parseInt(routeId)} />; }
mobile/src/common/components/custom_tile_button.tsx +12 −9 Original line number Diff line number Diff line Loading @@ -14,17 +14,21 @@ export const CustomTileButton = ({ title, onPress, leadingIcon, subtitle subtitle, }: CustomTileButtonProps) => { return ( <TouchableOpacity onPress={onPress} style={styles.account_option}> <View style={{ flexDirection: "row", gap: 20, alignItems: "center" }}> {leadingIcon} <View style={styles.titleContainer}> <Text style={styles.title} numberOfLines={1} >{title}</Text> { subtitle && <Text style={styles.subtitle} numberOfLines={1} >{subtitle}</Text> } <Text style={styles.title} numberOfLines={1}> {title} </Text> {subtitle && ( <Text style={styles.subtitle} numberOfLines={1}> {subtitle} </Text> )} </View> </View> <MaterialIcons name="keyboard-arrow-right" size={30} color="black" /> Loading @@ -50,9 +54,8 @@ const styles = StyleSheet.create({ alignItems: "flex-start", justifyContent: "space-between", paddingVertical: 10, minWidth: "50%", minWidth: "70%", maxWidth: "85%", }, title: { fontSize: 16, Loading @@ -63,5 +66,5 @@ const styles = StyleSheet.create({ color: "#777", fontWeight: "500", textAlign: "left", } }, });
mobile/src/common/utils/time.ts +22 −14 Original line number Diff line number Diff line Loading @@ -7,10 +7,18 @@ export const millisecondsToHourFormat = (milliseconds: number) => { let seconds = totalSeconds % 60; const formattedTime = [ hours.toString().padStart(2, '0'), minutes.toString().padStart(2, '0'), seconds.toString().padStart(2, '0') ].join(':'); hours.toString().padStart(2, "0"), minutes.toString().padStart(2, "0"), seconds.toString().padStart(2, "0"), ].join(":"); return formattedTime; } No newline at end of file }; export const formatToDDMMYYYY = (date: Date) => { return `${date.getDate()}/${date.getMonth() + 1}/${date.getFullYear()}`; }; export const hourToFormattedString = (hour: number) => { return `${hour.toString().padStart(2, "0")}:00`; };
mobile/src/route/components/route_activity_tile.tsx +7 −4 Original line number Diff line number Diff line Loading @@ -15,6 +15,7 @@ export const RouteActivityTile = ({ isLast, isFirst, }: RouteActivityTileProps) => { console.log(activity.imageUri); return ( <View style={styles.container}> <View style={styles.sideIndicator}> Loading @@ -39,7 +40,9 @@ export const RouteActivityTile = ({ resizeMode="cover" /> <View style={styles.activityInfoContainer}> <Text style={styles.activityNameText} numberOfLines={1}>{activity.name}</Text> <Text style={styles.activityNameText} numberOfLines={1}> {activity.name} </Text> <Text numberOfLines={1}>{activity.startTime.toISOString()}</Text> <Text numberOfLines={1}>{activity.location}</Text> <FlatList Loading Loading @@ -99,5 +102,5 @@ const styles = StyleSheet.create({ color: LIGHT_THEME.color.white, justifyContent: "center", alignItems: "center", } }, });