Umm Ali

Umm Ali

April 27, 2021

Here's a delicious dessert that guarantees to blow you away – this popular Egyptian dish has a lot in common with the beloved Western bread pudding, and touts lots of nuts!

Continue Reading

Chicken Majboos

Chicken Majboos

April 19, 2021

Looking for a marvelously delectable dish that can be enjoyed by the whole family? Enter Majboos – a popular Arabian dish that flaunts a mouthwatering combination of rice and chicken.

Continue Reading

Lentil Soup

Lentil Soup

April 12, 2021

This hearty and delicious lentil soup packed with protein and flavor makes for a perfect weeknight meal while guaranteeing to keep you warm!

Continue Reading


Salted Caramel Brownie

Salted Caramel Brownie

April 08, 2021

Did someone say dessert?! Here's a delicious salted caramel brownie recipe to satisfy your sweet tooth cravings!

Continue Reading

Slow Cooked Beef Short Ribs

Slow Cooked Beef Short Ribs

March 24, 2021

There's nothing better than slow cooked meat that effortlessly falls off the bone – here's a mouthwatering recipe that'll give you just that!

Continue Reading

Egg White Frittata

Egg White Frittata

March 17, 2021

Egg White Frittata – a mouthwatering Italian delicacy that's unfathomably easy and quick to cook, and yet tastes egg-celent (sorry, we just had to).

Continue Reading


Polpette Al Sugo

Polpette Al Sugo

March 09, 2021

Who doesn't love meatballs?! Here's an Italian take on meatballs doused in tomato sauce, aka, Polpette Al Sugo – a dish widely cherished for centuries in Italy.

Continue Reading

Vegan Biryani

Vegan Biryani

March 07, 2021

If you're vegan or simply looking for more 'meat free Monday' recipes, here's our very own mouthwatering Vegan Biryani recipe that'll make sure you aren't missing out on any of that delicious biryani taste!

Continue Reading

Beetroot Ice Latte

Beetroot Ice Latte

February 22, 2021

Add a pop of colour to your morning coffee! This Beetroot Ice Latte is velvety and sweet with the earthy aftertaste of beetroot. It's also low in sugar to give you a lighter start to your day!

Continue Reading


Figilicious (Fig Açaí Bowl)

Figilicious (Fig Açaí Bowl)

February 18, 2021

A simple, delicious and healthy Açaí bowl made with fresh figs, blueberries and garnished with edible flowers. Not only does it taste great, but it looks almost too good to eat too!

Continue Reading

Blue Pancakes on a plate

Blue Pancakes

February 16, 2021

These vibrant blue pancakes are sure to add some colour to your day! Sweet and delicious, they are a great option for breakfast, brunch or dessert. Top them off with some fresh berries and syrup for an extra-special treat. 

Continue Reading

Chocolate Molten Lava Cake

Chocolate Molten Lava Cake

February 11, 2021

These chocolate molten lava cakes are delicious and decadent - perfect for a family gathering or dinner party! This recipe is provided by our partner, Valrhona, who have been producing the world’s finest chocolate in the small village of Tain L’Hermitage, France since 1922

Continue Reading



/** * Module to ajaxify all add to cart forms on the page. * * Copyright (c) 2015 Caroline Schnapp (11heavens.com) * Dual licensed under the MIT and GPL licenses: * http://www.opensource.org/licenses/mit-license.php * http://www.gnu.org/licenses/gpl.html * */ Shopify.AjaxifyCart = (function($) { // Some configuration options. // I have separated what you will never need to change from what // you might change. var _config = { // What you might want to change addToCartBtnLabel: 'Add to cart', addedToCartBtnLabel: 'Added to cart!', addingToCartBtnLabel: 'Adding...', soldOutBtnLabel: 'Sold Out', howLongTillBtnReturnsToNormal: 1000, // in milliseconds. cartCountSelector: '.cart-count, #cart-count a:first, #gocart p a, #cart .checkout em, .item-count', cartTotalSelector: '#cart-price', // 'aboveForm' for top of add to cart form, // 'belowForm' for below the add to cart form, and // 'nextButton' for next to add to cart button. feedbackPosition: 'nextButton', // What you will never need to change addToCartBtnSelector: '[type="submit"]', addToCartFormSelector: 'form[action="/cart/add"]', shopifyAjaxAddURL: '/cart/add.js', shopifyAjaxCartURL: '/cart.js' }; // We need some feedback when adding an item to the cart. // Here it is. var _showFeedback = function(success, html, $addToCartForm) { $('.ajaxified-cart-feedback').remove(); var feedback = '

' + html + '

'; switch (_config.feedbackPosition) { case 'aboveForm': $addToCartForm.before(feedback); break; case 'belowForm': $addToCartForm.after(feedback); break; case 'nextButton': default: $addToCartForm.find(_config.addToCartBtnSelector).after(feedback); break; } // If you use animate.css // $('.ajaxified-cart-feedback').addClass('animated bounceInDown'); $('.ajaxified-cart-feedback').slideDown(); }; var _setText = function($button, label) { if ($button.children().length) { $button.children().each(function() { if ($.trim($(this).text()) !== '') { $(this).text(label); } }); } else { $button.val(label).text(label); } }; var _init = function() { $(document).ready(function() { $(_config.addToCartFormSelector).submit(function(e) { e.preventDefault(); var $addToCartForm = $(this); var $addToCartBtn = $addToCartForm.find(_config.addToCartBtnSelector); _setText($addToCartBtn, _config.addingToCartBtnLabel); $addToCartBtn.addClass('disabled').prop('disabled', true); // Add to cart. $.ajax({ url: _config.shopifyAjaxAddURL, dataType: 'json', type: 'post', data: $addToCartForm.serialize(), success: function(itemData) { // Re-enable add to cart button. $addToCartBtn.addClass('inverted'); _setText($addToCartBtn, _config.addedToCartBtnLabel); // _showFeedback('success',' Added to cart!',$addToCartForm); window.setTimeout(function(){ $addToCartBtn.prop('disabled', false).removeClass('disabled').removeClass('inverted'); _setText($addToCartBtn,_config.addToCartBtnLabel); }, _config.howLongTillBtnReturnsToNormal); // Update cart count and show cart link. $.getJSON(_config.shopifyAjaxCartURL, function(cart) { if (_config.cartCountSelector && $(_config.cartCountSelector).length) { var value = $(_config.cartCountSelector).html() || '0'; $(_config.cartCountSelector).html(value.replace(/[0-9]+/,cart.item_count)).removeClass('hidden-count'); } if (_config.cartTotalSelector && $(_config.cartTotalSelector).length) { if (typeof Currency !== 'undefined' && typeof Currency.moneyFormats !== 'undefined') { var newCurrency = ''; if ($('[name="currencies"]').length) { newCurrency = $('[name="currencies"]').val(); } else if ($('#currencies span.selected').length) { newCurrency = $('#currencies span.selected').attr('data-currency'); } if (newCurrency) { $(_config.cartTotalSelector).html('' + Shopify.formatMoney(Currency.convert(cart.total_price, "AED", newCurrency), Currency.money_format[newCurrency]) + ''); } else { $(_config.cartTotalSelector).html(Shopify.formatMoney(cart.total_price, "")); } } else { $(_config.cartTotalSelector).html(Shopify.formatMoney(cart.total_price, "")); } }; }); }, error: function(XMLHttpRequest) { var response = eval('(' + XMLHttpRequest.responseText + ')'); response = response.description; if (response.slice(0,4) === 'All ') { _showFeedback('error', response.replace('All 1 ', 'All '), $addToCartForm); $addToCartBtn.prop('disabled', false); _setText($addToCartBtn, _config.soldOutBtnLabel); $addToCartBtn.prop('disabled',true); } else { _showFeedback('error', ' ' + response, $addToCartForm); $addToCartBtn.prop('disabled', false).removeClass('disabled'); _setText($addToCartBtn, _config.addToCartBtnLabel); } } }); return false; }); }); }; return { init: function(params) { // Configuration params = params || {}; // Merging with defaults. $.extend(_config, params); // Action $(function() { _init(); }); }, getConfig: function() { return _config; } } })(jQuery); Shopify.AjaxifyCart.init();