app.controller('SelectMenuPageController',['$scope','$firebaseObject','$timeout','$interval',function($scope,$firebaseObject,$timeout,$interval){ if(firebase.auth().currentUser){ $scope.ref = firebase.database().ref().child('users').child(firebase.auth().currentUser.uid).child('meals'); } else{ $scope.ref = firebase.database().ref().child('meals'); } $interval(function(){ if(firebase.auth().currentUser){ $scope.ref = firebase.database().ref().child('users').child(firebase.auth().currentUser.uid).child('meals'); } else{ $scope.ref = firebase.database().ref().child('meals'); } $scope.ref.on('value', snap => { $timeout(function(){ $scope.meals = snap.val(); }) }) },1000) // var ref = firebase.database().ref().child('meals'); $scope.mealType = 'breakfast'; $scope.meals = []; $scope.selectedNumber = 0; $scope.selectMeal = function(i){ if(firebase.auth().currentUser){ var keys = Object.keys($scope.meals); //animating btn if(!$scope.meals[keys[i]].isSelected){ var selectedMealsBtn = angular.element(document.querySelector('.selected-meals-btn')); selectedMealsBtn.addClass('selected-meals-btn-animate'); $timeout(function(){ selectedMealsBtn.removeClass('selected-meals-btn-animate'); },500) } //animating btn $scope.meals[keys[i]].isSelected = true; $scope.ref.child(keys[i]).set($scope.meals[keys[i]]); } else{ var loginPopupJQ = angular.element(document.querySelector('.login-popup')); loginPopupJQ.css('display','flex'); $timeout(function(){ loginPopupJQ.css('opacity','1'); },50) } } $scope.ref.on('value', snap => { $timeout(function(){ $scope.meals = snap.val(); }) }) }])