         
         filterResults(searchText)
     }
+    
+    // Toast message ----------------------------------------------------
+    /* upvoteFeedbackMsg
+    */
+    func voteFeedbackMsg(matchIngredient : PFIngredient, upvote : Bool) -> String {
+        let matchName = matchIngredient.name
+        let searchNames: [String] = currentSearch.map { return $0.name }
+        let searchString = searchNames.joinWithSeparator(", ")
+        if upvote {
+            return "Upvoted \(matchName) with \(searchString)"
+        } else {
+            return "Downvoted \(matchName) with \(searchString)"
+        }
+    }
+    
+    
 }
                    selBtn.select()
                    unvoteHotpot(user, hotpot: currentSearch, matchIngredient: matchIngredient, voteType: _s_upvotes)
                    downvoteHotpot(user, hotpot: currentSearch, matchIngredient: matchIngredient)
                } else { // first-time vote
                    selBtn.select()
                    downvoteHotpot(user, hotpot: currentSearch, matchIngredient: matchIngredient)
                }
                return false
            } else {

                    selBtn.select()
                    unvoteHotpot(user, hotpot: currentSearch, matchIngredient: matchIngredient, voteType: _s_downvotes)
                    upvoteHotpot(user, hotpot: currentSearch, matchIngredient: matchIngredient)
                    // Toast message:
                    self.parentViewController?.view.makeToast(voteFeedbackMsg(matchIngredient, upvote: true), duration: TOAST_DURATION, position: .Bottom)
                } else { // first-time vote
                    selBtn.select()
                    upvoteHotpot(user, hotpot: currentSearch, matchIngredient: matchIngredient)
                    // Toast message:
                    self.parentViewController?.view.makeToast(voteFeedbackMsg(matchIngredient, upvote: true), duration: TOAST_DURATION, position: .Bottom)
                }
                return false
            } else {
