Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
4658585
Manual scrape of building info
Marian-Hristov Feb 1, 2026
a7b653f
Updated data for better naming
Marian-Hristov Feb 2, 2026
fbc1378
Added building info extraction
Marian-Hristov Feb 2, 2026
a27a3ac
Applied comments from reviews
Marian-Hristov Feb 3, 2026
62ed6ab
implement the building info popup on tap and integrate it with the map
DallaliRim Feb 3, 2026
2bead9a
add parsing for readable accessibility functions
DallaliRim Feb 3, 2026
cf79f07
apply the desired the style and color scheme from UI/UX Designer
DallaliRim Feb 3, 2026
7439a9e
add clickable markers on buildings
DallaliRim Feb 3, 2026
84c922b
implement clustered markers to reduce visual clutter
DallaliRim Feb 3, 2026
4c8bac6
change styling
DallaliRim Feb 3, 2026
50ed14b
fix eslint comments
DallaliRim Feb 3, 2026
ecae959
fix merge conflicts
DallaliRim Feb 4, 2026
54de2b0
fix color scheme and logo to fit UI design
DallaliRim Feb 4, 2026
f67cd73
fix Sonar issues
DallaliRim Feb 4, 2026
3a3fd38
fix sonar issues
DallaliRim Feb 4, 2026
5e8af33
fix PR comment by renaming a variable to be more specific
DallaliRim Feb 4, 2026
2adf4fe
update buildinginfopopup to be more readable by changing variable names
DallaliRim Feb 4, 2026
4bf5f4e
put the hard coded colors into theme file
DallaliRim Feb 4, 2026
298a0c5
use esm instead of code consistency
DallaliRim Feb 4, 2026
9367990
add the OnPanDrag and onuserlocationchanged that I accidentally removed
DallaliRim Feb 4, 2026
8fa03f1
Rename exported function
DallaliRim Feb 4, 2026
291c04b
incorporate PR feedback
DallaliRim Feb 4, 2026
1773a41
Merge branch '52-tsk10403-display-building-info-pop-up' of https://gi…
DallaliRim Feb 4, 2026
5bd9ab3
make the accessibility reggex function more robust
DallaliRim Feb 4, 2026
a02537a
use theme color variables instead of hardcoding
DallaliRim Feb 4, 2026
643b5dd
use theme color variables instead of hardcoding
DallaliRim Feb 4, 2026
0e5eff3
add fonts I accidentally removed
DallaliRim Feb 4, 2026
e70e4a9
remove unnecessary color
DallaliRim Feb 4, 2026
9e32500
minimize function recomputation
DallaliRim Feb 4, 2026
934d7b2
Fixed CL building marker location
CanadianMaple-Syrup Feb 4, 2026
2b41554
Changed cjs for esm syntax
CanadianMaple-Syrup Feb 4, 2026
1e1e7e1
Merge branch '52-tsk10403-display-building-info-pop-up' of https://gi…
CanadianMaple-Syrup Feb 4, 2026
55077a3
create a proper interface for clusters instead of bypassing with any
DallaliRim Feb 4, 2026
4beedf7
Merge branch '52-tsk10403-display-building-info-pop-up' of https://gi…
CanadianMaple-Syrup Feb 4, 2026
f0b6583
add error handling for links
DallaliRim Feb 4, 2026
a7fc043
attempt to fix IOS crash issue by forbiding null
DallaliRim Feb 4, 2026
1688dc1
fix ios popup, crashing & overlapping markers
benjaminsunliu Feb 5, 2026
b6a0725
fix hidden header
benjaminsunliu Feb 5, 2026
c15deac
Fixed overlapping polygon not showing and adjusted building focus to …
CanadianMaple-Syrup Feb 6, 2026
b4e27bd
Removed unused import
CanadianMaple-Syrup Feb 6, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
76 changes: 67 additions & 9 deletions app/(tabs)/_layout.tsx
Original file line number Diff line number Diff line change
@@ -1,46 +1,104 @@
import { Tabs } from "expo-router";
import React from "react";

import { View, Image, StyleSheet } from "react-native";
import { useSafeAreaInsets } from "react-native-safe-area-context";
import { HapticTab } from "@/components/haptic-tab";
import { IconSymbol } from "@/components/ui/icon-symbol";
import { Colors } from "@/constants/theme";
import { useColorScheme } from "@/hooks/use-color-scheme";
import Feather from "@expo/vector-icons/Feather";
import lightIcon from "@/assets/logo/logo-light.png";
import darkIcon from "@/assets/logo/logo-dark.png";

interface TabHeaderProps {
readonly backgroundColor: string;
readonly logoSource: number;
}

function TabHeader({ backgroundColor, logoSource }: TabHeaderProps) {
const insets = useSafeAreaInsets();

return (
<View style={[styles.header, { backgroundColor, paddingTop: insets.top }]}>
<Image source={logoSource} style={styles.logo} resizeMode="contain" />
</View>
);
}

function MapTabIcon({ color }: { readonly color: string }) {
return <Feather name="map" size={24} color={color} />;
}

function HomeTabIcon({ color }: { readonly color: string }) {
return <IconSymbol size={28} name="house.fill" color={color} />;
}

function CalendarTabIcon({ color }: { readonly color: string }) {
return <Feather name="calendar" size={24} color={color} />;
}

export default function TabLayout() {
const colorScheme = useColorScheme();
const colorScheme = useColorScheme() ?? "light";
const logos = {
light: lightIcon,
dark: darkIcon,
};

const logoSource = logos[colorScheme];

return (
<Tabs
screenOptions={{
tabBarActiveTintColor: Colors[colorScheme ?? "light"].tint,
headerShown: false,
header: () => (
<TabHeader
backgroundColor={Colors[colorScheme].background}
logoSource={logoSource}
/>
),
tabBarButton: HapticTab,
tabBarActiveTintColor: Colors[colorScheme].tint,
tabBarInactiveTintColor: Colors[colorScheme].text,
tabBarStyle: {
backgroundColor: Colors[colorScheme].background,
borderTopWidth: 0,
elevation: 5,
},
}}
>
<Tabs.Screen
name="map-tab"
options={{
title: "Map",
tabBarIcon: ({ color }) => <Feather name="map" size={24} color={color} />,
tabBarIcon: MapTabIcon,
}}
/>
<Tabs.Screen
name="index"
options={{
title: "Home",
tabBarIcon: ({ color }) => (
<IconSymbol size={28} name="house.fill" color={color} />
),
tabBarIcon: HomeTabIcon,
}}
/>
<Tabs.Screen
name="calendar"
options={{
title: "Calendar",
tabBarIcon: ({ color }) => <Feather name="calendar" size={24} color={color} />,
tabBarIcon: CalendarTabIcon,
}}
/>
</Tabs>
);
}

const styles = StyleSheet.create({
header: {
paddingBottom: 15,
justifyContent: "center",
alignItems: "center",
borderBottomWidth: StyleSheet.hairlineWidth
},
logo: {
width: 120,
height: 40,
}
});
1 change: 1 addition & 0 deletions app/(tabs)/calendar.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import { ThemedText } from '@/components/themed-text';
import { ThemedView } from '@/components/themed-view';
import { IconSymbol } from '@/components/ui/icon-symbol';
import { Fonts } from '@/constants/theme';
import React from 'react';

export default function TabTwoScreen() {
return (
Expand Down
1 change: 1 addition & 0 deletions app/(tabs)/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import ParallaxScrollView from '@/components/parallax-scroll-view';
import { ThemedText } from '@/components/themed-text';
import { ThemedView } from '@/components/themed-view';
import { Link } from 'expo-router';
import React from 'react';

export default function HomeScreen() {
return (
Expand Down
1 change: 1 addition & 0 deletions app/(tabs)/map-tab.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import MapViewer from "@/components/map/map-viewer";
import React from "react";

export default function MapTab() {
return <MapViewer />;
Expand Down
1 change: 1 addition & 0 deletions app/_layout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import { StatusBar } from 'expo-status-bar';
import 'react-native-reanimated';

import { useColorScheme } from '@/hooks/use-color-scheme';
import React from 'react';

export const unstable_settings = {
anchor: '(tabs)',
Expand Down
1 change: 1 addition & 0 deletions app/modal.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import { StyleSheet } from 'react-native';

import { ThemedText } from '@/components/themed-text';
import { ThemedView } from '@/components/themed-view';
import React from 'react';

export default function ModalScreen() {
return (
Expand Down
Binary file added assets/logo/logo-dark.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/logo/logo-light.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading