Skip to content

Commit bc67852

Browse files
Merge pull request #173 from GAchuzia/fix/frontend-browse-dining-bug
Fix/frontend browse dining bug
2 parents e7580d0 + 9c0b14b commit bc67852

3 files changed

Lines changed: 121 additions & 194 deletions

File tree

frontend/cu-bytes/app/dining.tsx

Lines changed: 30 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,15 @@ import { API_BASE_URL } from '../services/api';
1313
export default function DiningScreen() {
1414

1515
const [loading, setLoading] = useState(true);
16+
17+
const [foodItemSaved, setFoodItemSaved] = useState(false);
1618
const [diningLocationsVisible, setDiningLocationsVisible] = useState(true);
1719
const [foodItemsVisible, setFoodItemsVisible] = useState(true);
18-
const [modalVisible, setModalVisible] = useState(false);
20+
const [foodItemSelected, setFoodItemSelected] = useState(false);
21+
const [foodItemInfoVisible, setFoodItemInfoVisible] = useState(false);
22+
const [foodItemWarningVisible, setFoodItemWarningVisible] = useState(false);
23+
24+
1925
const [isHomeOrSplashPressed, setIsHomeOrSplashPressed] = useState(false);
2026
const [isLoginLogoutPressed, setIsLoginLogoutPressed] = useState(false);
2127
const [isSearchPressed, setIsSearchPressed] = useState(false);
@@ -667,8 +673,11 @@ export default function DiningScreen() {
667673
onPressOut={() => setIsSearchPressed(false)}
668674
onPress={() => {
669675
filterDiningLocationArray(diningLocationName);
676+
setDiningLocationsVisible(true);
670677
setFoodItemsVisible(false);
671-
setDiningLocationsVisible(true);}}
678+
setFoodItemSelected(false);
679+
setFoodItemInfoVisible(false);
680+
setFoodItemWarningVisible(false);}}
672681
activeOpacity={0.92}>
673682

674683
<Text id="browseDiningLocationsButtonText" style={sc.bodyButtonText}>
@@ -691,8 +700,11 @@ export default function DiningScreen() {
691700
key={diningLocation["id"]}
692701
onPress={() => {
693702
filterFoodItemArray(diningLocation["id"]);
703+
setDiningLocationsVisible(false);
694704
setFoodItemsVisible(true);
695-
setDiningLocationsVisible(false);}}>
705+
setFoodItemSelected(false);
706+
setFoodItemInfoVisible(false);
707+
setFoodItemWarningVisible(false);}}>
696708
{diningLocation["name"]}
697709
</Text>
698710
))}
@@ -707,14 +719,18 @@ export default function DiningScreen() {
707719
key={foodItem["id"]}
708720
onPress={() => {
709721
getFoodItem(foodItem["id"]);
710-
setFoodItemsVisible(false);}}>
722+
setDiningLocationsVisible(false);
723+
setFoodItemsVisible(false);
724+
setFoodItemSelected(true);
725+
setFoodItemInfoVisible(true);
726+
setFoodItemWarningVisible(true);}}>
711727
{foodItem["name"]}
712728
</Text>
713729
))}
714730
</View>
715731
)}
716732

717-
{!foodItemsVisible && foodItem.name != "" && (
733+
{foodItemSelected && foodItemInfoVisible && (
718734
<View id="foodItemOuterView" style={[sc.card, styles.selectedFoodItemContainer]}>
719735
<FlatList id="foodItemFlatList"
720736
data={processSelectedFoodItem(foodItem)}
@@ -729,7 +745,7 @@ export default function DiningScreen() {
729745
</View>
730746
)}
731747

732-
{!foodItemsVisible && foodItem.name != "" && (
748+
{foodItemSelected && foodItemWarningVisible && (
733749
<View id="warningOuterView" style={[sc.card, styles.selectedFoodItemContainer]}>
734750
<FlatList id="warningFlatList"
735751
data={processSelectedFoodItemWarnings(foodItem)}
@@ -744,13 +760,15 @@ export default function DiningScreen() {
744760
</View>
745761
)}
746762

747-
{usernameGlobal != "" && !foodItemsVisible && foodItem.name != "" && (
763+
{usernameGlobal != "" && foodItemSelected && (
748764
<TouchableOpacity id="saveFoodItemButton" style={sc.bodyButton}
749765
onPress={() => {
750766
logFoodItemById(foodItem.id);
751-
setFoodItemsVisible(true);
752-
setModalVisible(true);
753-
setTimeout(() => {setModalVisible(false);}, 8000);
767+
setFoodItemSelected(false);
768+
setFoodItemInfoVisible(false);
769+
setFoodItemWarningVisible(false);
770+
setFoodItemSaved(true);
771+
setTimeout(() => {setFoodItemSaved(false);}, 2000);
754772
router.push("/home");}}
755773
disabled={loading}
756774
activeOpacity={0.92}>
@@ -761,11 +779,11 @@ export default function DiningScreen() {
761779
</TouchableOpacity>
762780
)}
763781

764-
{modalVisible && usernameGlobal != "" && (
782+
{usernameGlobal != "" && foodItemSaved && (
765783
<Modal id="savedFoodItemModal"
766784
animationType="fade"
767785
transparent={true}
768-
visible={modalVisible}>
786+
visible={foodItemSaved}>
769787

770788
<View id="savedFoodItemOuterView" style={styles.savedFoodItemMessageContainer}>
771789
<View id="savedFoodItemInnerView" style={styles.savedFoodItemInner}>

0 commit comments

Comments
 (0)