@@ -13,9 +13,15 @@ import { API_BASE_URL } from '../services/api';
1313export 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