• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar

Simple Daily Eats

  • Home
  • Recipe Index
  • Budget
  • Cheat Meal
  • Healthy
  • Keto
  • Quick
  • Vegan
  • About
  • Contact

Simple Daily Eats

  • Home
  • Recipe Index
  • Budget
  • Cheat Meal
  • Healthy
  • Keto
  • Quick
  • Vegan
  • About
  • Contact

Apple Cinnamon Greek Yogurt Muffins: 5 Guilt-Free Delights

Jump to Recipe·Print Recipe

If you’re looking for a delightful, guilt-free treat that’s perfect for breakfast or a quick snack, you’ve come to the right place! These Apple Cinnamon Greek Yogurt Muffins: 5 Guilt-Free Delights are not only delicious but also packed with wholesome ingredients that make them a family favorite across the globe. The combination of juicy apples and warm cinnamon creates a cozy flavor that’s hard to resist, whether you’re enjoying them on a busy weekday morning or serving them at a family gathering.

Apple Cinnamon Greek Yogurt Muffins: 5 Guilt-Free Delights image 2

What makes these muffins truly special is their moist texture, thanks to the Greek yogurt and applesauce. They’re easy to whip up, making them an ideal choice for anyone looking to add a nutritious twist to their baking routine. Let’s dive into why you’ll love this recipe!

Apple Cinnamon Greek Yogurt Muffins: 5 Guilt-Free Delights image 3
Apple Cinnamon Greek Yogurt Muffins: 5 Guilt-Free Delights image 4

Why You’ll Love This Recipe

  • Quick and Easy: These muffins are simple to prepare in just under 40 minutes, making them perfect for busy mornings or last-minute guests.
  • Family-Friendly: With their sweet apple and cinnamon flavor, everyone in the family will enjoy these delicious bites.
  • Make-Ahead Convenience: You can bake a batch ahead of time and store them for busy days—just grab and go!
  • Healthy Ingredients: Packed with oats and Greek yogurt, these muffins offer a great balance of protein and fiber without compromising on taste.

Ingredients You’ll Need

These muffins are made with simple, wholesome ingredients that you likely have on hand. Each item contributes to the delightful flavor and texture we all love. Here’s what you’ll need:

For the Muffins

  • 1 cup all-purpose flour
  • 1 cup rolled oats
  • 1/2 cup Greek yogurt
  • 1/2 cup sugar
  • 1/2 cup apple sauce
  • 1 large egg
  • 1 teaspoon baking powder
  • 1 teaspoon baking soda
  • 1 teaspoon cinnamon
  • 1/2 teaspoon salt
  • 1 cup diced apples

Variations

This recipe is wonderfully flexible, allowing you to customize it based on your preferences or what you have in your pantry. Here are some fun variations to try:

  • Try Whole Wheat Flour: Swap in whole wheat flour for a heartier muffin packed with even more nutrients.
  • Add Nuts or Seeds: Toss in some chopped walnuts or flaxseeds for added crunch and healthy fats.
  • Make It Vegan: Replace the egg with a flaxseed egg (1 tablespoon ground flaxseed mixed with 3 tablespoons water) and use dairy-free yogurt.
  • Experiment with Spices: Add a pinch of nutmeg or ginger for an extra layer of warmth and spice.

How to Make Apple Cinnamon Greek Yogurt Muffins: 5 Guilt-Free Delights

Step 1: Preheat Your Oven

Start by preheating your oven to 350°F (175°C). This ensures that your muffins bake evenly from the moment they go in—no one likes undercooked centers!

Step 2: Mix Dry Ingredients

In a large bowl, whisk together the all-purpose flour, rolled oats, baking powder, baking soda, cinnamon, and salt. This step is crucial as it evenly distributes the leavening agents throughout your dry mix, which helps your muffins rise beautifully.

Step 3: Combine Wet Ingredients

In another bowl, whisk together the Greek yogurt, sugar, apple sauce, and egg. Mixing these wet ingredients separately allows you to achieve that creamy texture we want in our muffins while ensuring everything blends smoothly.

Step 4: Combine Wet and Dry Mixtures

Now it’s time to combine the two bowls! Gently fold the wet mixture into the dry ingredients until just combined. Overmixing can lead to dense muffins, so be careful here—it’s okay if there are a few lumps!

Step 5: Add Diced Apples

Fold in the diced apples gently. They’ll add bursts of freshness and sweetness throughout each muffin, making every bite delightful.

Step 6: Fill Muffin Tins

Pour the batter into greased muffin tins, filling each cup about two-thirds full. This gives them room to rise without spilling over.

Step 7: Bake Until Golden

Bake in your preheated oven for about 20-25 minutes or until they turn golden brown. You can test doneness by inserting a toothpick; it should come out clean when they’re ready.

Step 8: Cool Before Serving

Once baked, let them cool in the tin for about five minutes before transferring them to a wire rack. This helps prevent sogginess while allowing those lovely flavors to develop further! Enjoy your Apple Cinnamon Greek Yogurt Muffins warm or at room temperature!

Pro Tips for Making Apple Cinnamon Greek Yogurt Muffins: 5 Guilt-Free Delights

Creating these delightful muffins is a breeze with a few handy tips!

  • Measure Ingredients Accurately: Using precise measurements ensures your muffins rise perfectly and have the right texture. A kitchen scale can be especially helpful.

  • Use Room Temperature Ingredients: Allow your Greek yogurt and egg to come to room temperature before mixing. This helps create a smoother batter and results in more evenly baked muffins.

  • Don’t Overmix the Batter: Gently fold the ingredients together until just combined. Overmixing can lead to dense muffins, while a light touch creates that fluffy texture we love.

  • Cool Before Serving: Let your muffins cool in the pan for a few minutes before transferring them to a wire rack. This helps maintain their shape and prevents them from becoming soggy.

  • Store Properly: To keep your muffins fresh, store them in an airtight container at room temperature for up to three days, or freeze for longer storage. Just thaw before enjoying!

How to Serve Apple Cinnamon Greek Yogurt Muffins: 5 Guilt-Free Delights

These muffins are perfect on their own, but with a few creative touches, you can elevate your breakfast experience!

Garnishes

  • Honey Drizzle: A light drizzle of honey adds sweetness and a lovely sheen, making your muffins even more inviting.
  • Chopped Nuts: Sprinkle some chopped walnuts or pecans on top for added crunch and flavor contrast.

Side Dishes

  • Fresh Fruit Salad: A medley of seasonal fruits complements the warm spices of the muffins while adding freshness and color to your plate.
  • Greek Yogurt Parfait: Layer Greek yogurt with granola and berries for a satisfying side that echoes the flavors of the muffins.
  • Smoothie: Blend up a quick fruit smoothie for a refreshing beverage that pairs beautifully with the warm muffins.
  • Herbal Tea: A steaming cup of herbal tea provides a soothing balance to your muffin indulgence, creating a cozy breakfast atmosphere.

Make Ahead and Storage

This Apple Cinnamon Greek Yogurt Muffins recipe is perfect for meal prep, allowing you to enjoy delicious muffins throughout the week without the hassle of making them daily.

Storing Leftovers

  • Place muffins in an airtight container at room temperature for up to 3 days.
  • For longer freshness, store in the refrigerator for up to a week.

Freezing

  • Allow muffins to cool completely before freezing.
  • Wrap each muffin individually in plastic wrap and place them in a freezer-safe bag.
  • They can be frozen for up to 3 months.

Reheating

  • To reheat, remove from the freezer and let them thaw at room temperature.
  • Warm in the microwave for about 15-20 seconds or until heated through.
  • Alternatively, pop them in a preheated oven at 350°F (175°C) for about 10 minutes.

FAQs

If you have questions about this recipe, you’re not alone! Here are some common inquiries:

Can I use other fruits in Apple Cinnamon Greek Yogurt Muffins?

Absolutely! While apples are the star ingredient, you can substitute with other fruits like pears or berries for a delightful twist.

How can I make Apple Cinnamon Greek Yogurt Muffins healthier?

You can reduce sugar or substitute it with a natural sweetener like honey or maple syrup. Using whole wheat flour instead of all-purpose flour is another great option!

Are Apple Cinnamon Greek Yogurt Muffins suitable for breakfast?

Yes! These muffins are not only delicious but also packed with protein from Greek yogurt, making them an excellent breakfast choice.

How long do Apple Cinnamon Greek Yogurt Muffins last?

When stored properly, they will stay fresh at room temperature for up to 3 days or in the fridge for up to a week.

Final Thoughts

These Apple Cinnamon Greek Yogurt Muffins really do bring together healthy ingredients and delicious flavors that make breakfast feel special. I hope you enjoy making these delightful treats as much as I do! Don’t hesitate to get creative with your additions and variations—happy baking!

Print

Apple Cinnamon Greek Yogurt Muffins

Print Recipe

5 Stars 4 Stars 3 Stars 2 Stars 1 Star

No reviews

Delight in the warmth of homemade Apple Cinnamon Greek Yogurt Muffins, perfect for breakfast or a quick snack! These guilt-free delights blend juicy apples with aromatic cinnamon, creating a cozy flavor that will make any morning feel special. With a moist texture from Greek yogurt and applesauce, these muffins are not only easy to make but also family-approved. Bake a batch ahead of time for effortless mornings or serve them fresh at gatherings. Packed with healthy ingredients like oats and Greek yogurt, they offer a nutritious boost without sacrificing taste. Dive into this simple recipe for a deliciously wholesome treat!

  • Author: Sarah Mitchell
  • Prep Time: 15 minutes
  • Cook Time: 25 minutes
  • Total Time: 40 minutes
  • Yield: Approximately 12 muffins 1x
  • Category: Breakfast
  • Method: Baking
  • Cuisine: American

Ingredients


Scale

  • 1 cup all-purpose flour
  • 1 cup rolled oats
  • 1/2 cup Greek yogurt
  • 1/2 cup sugar
  • 1/2 cup applesauce
  • 1 large egg
  • 1 teaspoon baking powder
  • 1 teaspoon baking soda
  • 1 teaspoon cinnamon
  • 1/2 teaspoon salt
  • 1 cup diced apples

Instructions

  1. Preheat your oven to 350°F (175°C).
  2. In a large bowl, whisk together the flour, oats, baking powder, baking soda, cinnamon, and salt.
  3. In another bowl, mix the Greek yogurt, sugar, applesauce, and egg until smooth.
  4. Fold the wet mixture into the dry ingredients gently until just combined; avoid overmixing.
  5. Carefully fold in the diced apples.
  6. Pour the batter into greased muffin tins, filling each about two-thirds full.
  7. Bake for 20-25 minutes or until golden brown; check doneness with a toothpick.
  8. Allow muffins to cool in the tin for five minutes before transferring to a wire rack.

Nutrition

  • Serving Size: 1 muffin (approx. 60g)
  • Calories: 132
  • Sugar: 9g
  • Sodium: 120mg
  • Fat: 3g
  • Saturated Fat: 0g
  • Unsaturated Fat: 3g
  • Trans Fat: 0g
  • Carbohydrates: 23g
  • Fiber: 2g
  • Protein: 4g
  • Cholesterol: 20mg

Did you make this recipe?

Share a photo and tag us — we can’t wait to see what you’ve made!

window.trCommon={“minRating”:6,”ajaxurl”:”https:\/\/www.simpledailyeats.com\/wp-admin\/admin-ajax.php”,”ratingNonce”:”7fb51600c8″,”postId”:1590};
window.TastyRecipes = window.TastyRecipes || {};

window.TastyRecipes.smoothScroll = {
init() {
document.addEventListener( ‘click’, ( e ) => {
let anchor = e.target;
if ( anchor.tagName !== ‘A’ ) {
anchor = anchor.closest( ‘a.tasty-recipes-scrollto’ );
}

if ( ! anchor || ! anchor.classList.contains( ‘tasty-recipes-scrollto’ ) ) {
return;
}

const elementHref = anchor.getAttribute( ‘href’ );
if ( ! elementHref ) {
return;
}

e.preventDefault();
this.goToSelector( elementHref );
});
},
goToSelector( selector ) {
const element = document.querySelector( selector );
if ( ! element ) {
return;
}
element.scrollIntoView( { behavior: ‘smooth’ } );
}
};

document.addEventListener(
‘DOMContentLoaded’,
() => window.TastyRecipes.smoothScroll.init()
);

(function(){

var bothEquals = function( d1, d2, D ) {
var ret = 0;
if (d1<=D) {
ret++;
}
if (d2<=D) {
ret++;
}
return ret === 2;
};

var frac =function frac(x,D,mixed){var n1=Math.floor(x),d1=1;var n2=n1+1,d2=1;if(x!==n1){while(bothEquals(d1,d2,D)){var m=(n1+n2)/(d1+d2);if(x===m){if(d1+d2d2){d2=D+1;}else {d1=D+1;}break}else if(xD){d1=d2;n1=n2}if(!mixed){return[0,n1,d1];}var q=Math.floor(n1/d1);return[q,n1-q*d1,d1]};frac.cont=function cont(x,D,mixed){var sgn=x<0?-1:1;var B=x*sgn;var P_2=0,P_1=1,P=0;var Q_2=1,Q_1=0,Q=0;var A=Math.floor(B);while(Q_1<D){A=Math.floor(B);P=A*P_1+P_2;Q=A*Q_1+Q_2;if(B-AD){if(Q_1>D){Q=Q_2;P=P_2}else{Q=Q_1;P=P_1}}if(!mixed){return[0,sgn*P,Q];}var q=Math.floor(sgn*P/Q);return[q,sgn*P-q*Q,Q]};

window.tastyRecipesVulgarFractions = JSON.parse(decodeURIComponent(“%7B%22%C2%BC%22%3A%221%2F4%22%2C%22%C2%BD%22%3A%221%2F2%22%2C%22%C2%BE%22%3A%223%2F4%22%2C%22%E2%85%93%22%3A%221%2F3%22%2C%22%E2%85%94%22%3A%222%2F3%22%2C%22%E2%85%95%22%3A%221%2F5%22%2C%22%E2%85%96%22%3A%222%2F5%22%2C%22%E2%85%97%22%3A%223%2F5%22%2C%22%E2%85%98%22%3A%224%2F5%22%2C%22%E2%85%99%22%3A%221%2F6%22%2C%22%E2%85%9A%22%3A%225%2F6%22%2C%22%E2%85%9B%22%3A%221%2F8%22%2C%22%E2%85%9C%22%3A%223%2F8%22%2C%22%E2%85%9D%22%3A%225%2F8%22%2C%22%E2%85%9E%22%3A%227%2F8%22%7D”));

window.tastyRecipesFormatAmount = function(amount, el) {
if ( parseFloat( amount ) === parseInt( amount ) ) {
return amount;
}
var roundType = ‘frac’;
if (typeof el.dataset.amountShouldRound !== ‘undefined’) {
if (‘false’ !== el.dataset.amountShouldRound) {
if ( ‘number’ === el.dataset.amountShouldRound ) {
roundType = ‘number’;
} else if (‘frac’ === el.dataset.amountShouldRound) {
roundType = ‘frac’;
} else if (‘vulgar’ === el.dataset.amountShouldRound) {
roundType = ‘vulgar’;
} else {
roundType = ‘integer’;
}
}
}
if (‘number’ === roundType) {
amount = Number.parseFloat(amount).toPrecision(2);
} else if (‘integer’ === roundType) {
amount = Math.round(amount);
} else if (‘frac’ === roundType || ‘vulgar’ === roundType) {
var denom = 8;
if (typeof el.dataset.unit !== ‘undefined’) {
var unit = el.dataset.unit;
if ([‘cups’,’cup’,’c’].includes(unit)) {
denom = 4;
if (0.125 === amount) {
denom = 8;
}
if (“0.1667″ === Number.parseFloat( amount ).toPrecision(4)) {
denom = 6;
}
}
if ([‘tablespoons’,’tablespoon’,’tbsp’].includes(unit)) {
denom = 2;
}
if ([‘teaspoons’,’teaspoon’,’tsp’].includes(unit)) {
denom = 8;
}
}
var amountArray = frac.cont( amount, denom, true );
var newAmount = ”;
if ( amountArray[1] !== 0 ) {
newAmount = amountArray[1] + ‘/’ + amountArray[2];
if (‘vulgar’ === roundType) {
Object.keys(window.tastyRecipesVulgarFractions).forEach(function(vulgar) {
if (newAmount === window.tastyRecipesVulgarFractions[vulgar]) {
newAmount = vulgar;
}
});
}
}
if ( newAmount ) {
newAmount = ‘ ‘ + newAmount;
}
if ( amountArray[0] ) {
newAmount = amountArray[0] + newAmount;
}
amount = newAmount;
}
return amount;
};

window.tastyRecipesUpdatePrintLink = () => {

const printButton = document.querySelector( ‘.tasty-recipes-print-button’ );

if ( ! printButton ) {
return;
}

const printURL = new URL( printButton.href );
const searchParams = new URLSearchParams( printURL.search );

const unitButton = document.querySelector( ‘.tasty-recipes-convert-button-active’ );
const scaleButton = document.querySelector( ‘.tasty-recipes-scale-button-active’ );

let unit = ”;
let scale = ”;

if ( unitButton ) {
unit = unitButton.dataset.unitType;
searchParams.delete(‘unit’);
searchParams.set( ‘unit’, unit );
}

if ( scaleButton ) {
scale = scaleButton.dataset.amount;
searchParams.set( ‘scale’, scale );
}

const paramString = searchParams.toString();
const newURL = ” === paramString ? printURL.href : printURL.origin + printURL.pathname + ‘?’ + paramString;
const printLinks = document.querySelectorAll( ‘.tasty-recipes-print-link’ );

printLinks.forEach( ( el ) => {
el.href = newURL;
});

const printButtons = document.querySelectorAll( ‘.tasty-recipes-print-button’ );
printButtons.forEach( ( el ) => {
el.href = newURL;
});
};

document.addEventListener( ‘DOMContentLoaded’, () => {

if ( ! window.location.href.includes( ‘/print/’ ) ) {
return;
}

const searchParams = new URLSearchParams( window.location.search );

const unit = searchParams.get( ‘unit’ );
const scale = searchParams.get( ‘scale’ );

if ( unit && ( ‘metric’ === unit || ‘usc’ === unit ) ) {
document.querySelector( ‘.tasty-recipes-convert-button[data-unit-type=”‘ + unit + ‘”]’ ).click();
}

if ( scale && Number(scale) > 0 ) {
document.querySelector( ‘.tasty-recipes-scale-button[data-amount=”‘ + Number(scale) + ‘”]’ ).click();
}
});
}());

(function(){
var buttonClass = ‘tasty-recipes-scale-button’,
buttonActiveClass = ‘tasty-recipes-scale-button-active’,
buttons = document.querySelectorAll(‘.tasty-recipes-scale-button’);
if ( ! buttons ) {
return;
}

buttons.forEach(function(button){
button.addEventListener(‘click’, function(event){
event.preventDefault();
var recipe = event.target.closest(‘.tasty-recipes’);
if ( ! recipe ) {
return;
}
var otherButtons = recipe.querySelectorAll(‘.’ + buttonClass);
otherButtons.forEach(function(bt){
bt.classList.remove(buttonActiveClass);
});
button.classList.add(buttonActiveClass);

var scalables = recipe.querySelectorAll(‘span[data-amount]’);
var buttonAmount = parseFloat( button.dataset.amount );
scalables.forEach(function(scalable){
if (typeof scalable.dataset.amountOriginalType === ‘undefined’
&& typeof scalable.dataset.nfOriginal === ‘undefined’) {
if (-1 !== scalable.innerText.indexOf(‘/’)) {
scalable.dataset.amountOriginalType = ‘frac’;
}
if (-1 !== scalable.innerText.indexOf(‘.’)) {
scalable.dataset.amountOriginalType = ‘number’;
}
Object.keys(window.tastyRecipesVulgarFractions).forEach(function(vulgar) {
if (-1 !== scalable.innerText.indexOf(vulgar)) {
scalable.dataset.amountOriginalType = ‘vulgar’;
}
});
if (typeof scalable.dataset.amountOriginalType !== ‘undefined’) {
scalable.dataset.amountShouldRound = scalable.dataset.amountOriginalType;
}
}
var amount = parseFloat( scalable.dataset.amount ) * buttonAmount;
amount = window.tastyRecipesFormatAmount(amount, scalable);
if ( typeof scalable.dataset.unit !== ‘undefined’ ) {
if ( ! scalable.classList.contains(‘nutrifox-quantity’) ) {
if ( ! scalable.classList.contains(‘nutrifox-second-quantity’) ) {
amount += ‘ ‘ + scalable.dataset.unit;
}
}
}
scalable.innerText = amount;
});

var nonNumerics = recipe.querySelectorAll(‘[data-has-non-numeric-amount]’);
nonNumerics.forEach(function(nonNumeric){
var indicator = nonNumeric.querySelector(‘span[data-non-numeric-label]’);
if ( indicator ) {
nonNumeric.removeChild(indicator);
}
if ( 1 !== buttonAmount ) {
indicator = document.createElement(‘span’);
indicator.setAttribute(‘data-non-numeric-label’, true);
var text = document.createTextNode(‘ (x’ + buttonAmount + ‘)’);
indicator.appendChild(text);
nonNumeric.appendChild(indicator);
}
});

window.tastyRecipesUpdatePrintLink();
});
});
}());

window.TastyRecipes = window.TastyRecipes || {};
window.TastyRecipes.cookMode = {
wakeLockApi: false,
wakeLock: false,
cookModeSelector: ‘.tasty-recipes-cook-mode’,
init() {
if (“wakeLock” in navigator && “request” in navigator.wakeLock) {
this.wakeLockApi = navigator.wakeLock;
}

const cookModes = document.querySelectorAll(this.cookModeSelector);

if (cookModes.length > 0) {
for (const cookMode of cookModes) {
if (this.wakeLockApi) {
cookMode.querySelector(‘input[type=”checkbox”]’).addEventListener(“change”, event => {
this.checkboxChange(event.target);
}, false);
} else {
cookMode.style.display = “none”;
}
}
}
},
checkboxChange(checkbox) {
if (checkbox.checked) {
this.lock();
} else {
this.unlock();
}
},
setCheckboxesState(state) {
const checkboxes = document.querySelectorAll(this.cookModeSelector + ‘ input[type=”checkbox”]’);
for (const checkbox of checkboxes) {
checkbox.checked = state;
}
},
async lock() {
try {
this.wakeLock = await this.wakeLockApi.request(“screen”);
this.wakeLock.addEventListener(“release”, () => {
this.wakeLock = false;
this.setCheckboxesState(false);
});
this.setCheckboxesState(true);
} catch (error) {
this.setCheckboxesState(false);
}
},
unlock() {
if (this.wakeLock) {
this.wakeLock.release();
this.wakeLock = false;
}
this.setCheckboxesState(false);
}
};

(function(callback) {
if (document.readyState !== “loading”) {
callback();
} else {
document.addEventListener(“DOMContentLoaded”, callback);
}
})(() => {
window.TastyRecipes.cookMode.init();
});

window.TastyRecipes = window.TastyRecipes || {};

window.TastyRecipes.staticTooltip = {
element: null,
tooltipElement: null,
deleting: false,
init( element ) {
if ( this.deleting ) {
return;
}
this.element = element;
this.buildElements();
},
destroy() {
if ( ! this.tooltipElement || this.deleting ) {
return;
}

this.deleting = true;
this.tooltipElement.classList.remove( ‘opened’ );

setTimeout( () => {
this.tooltipElement.remove();
this.deleting = false;
}, 500 );
},
buildElements() {
const tooltipElement = document.createElement( ‘div’ );
tooltipElement.classList.add( ‘tasty-recipes-static-tooltip’);
tooltipElement.setAttribute( ‘id’, ‘tasty-recipes-tooltip’ );

const currentTooltipElement = document.getElementById( ‘tasty-recipes-tooltip’ );
if ( currentTooltipElement ) {
document.body.replaceChild( tooltipElement, currentTooltipElement );
} else {
document.body.appendChild( tooltipElement );
}

this.tooltipElement = document.getElementById( ‘tasty-recipes-tooltip’ );
},
show() {
if ( ! this.tooltipElement ) {
return;
}

const tooltipTop = this.element.getBoundingClientRect().top
+ window.scrollY
– 10 // 10px offset.
– this.tooltipElement.getBoundingClientRect().height;
const tooltipLeft = this.element.getBoundingClientRect().left
– ( this.tooltipElement.getBoundingClientRect().width / 2 )
+ ( this.element.getBoundingClientRect().width / 2 ) – 1;
const posLeft = Math.max( 10, tooltipLeft );
this.maybeRemoveTail( posLeft !== tooltipLeft );

this.tooltipElement.setAttribute( ‘style’, ‘top:’ + tooltipTop + ‘px;left:’ + posLeft + ‘px;’ );
this.tooltipElement.classList.add( ‘opened’ );

},
maybeRemoveTail( removeTail ) {
if ( removeTail ) {
this.tooltipElement.classList.add( ‘tr-hide-tail’ );
} else {
this.tooltipElement.classList.remove( ‘tr-hide-tail’ );
}
},
changeMessage( message ) {
if ( ! this.tooltipElement ) {
return;
}
this.tooltipElement.innerHTML = message;
}
};

window.TastyRecipes.ajax = {
sendPostRequest( url, data, success, failure ) {
const xhr = new XMLHttpRequest();
xhr.open( ‘POST’, url, true );
xhr.send( this.preparePostData( data ) );

xhr.onreadystatechange = () => {
if ( 4 !== xhr.readyState ) {
return;
}
if ( xhr.status === 200 ) {
success( JSON.parse( xhr.responseText ) );
return;
}

failure( xhr );
};

xhr.onerror = () => {
failure( xhr );
};
},
preparePostData( data ) {
const formData = new FormData();

for ( const key in data ) {
formData.append( key, data[key] );
}
return formData;
},
};

window.TastyRecipes.ratings = {
defaultRating: 0,
currentRatingPercentage: 100,
savingRating: false,
init( minRating ) {
this.minRating = minRating;

this.formWatchRating();
this.closeTooltipWhenClickOutside();
this.addBodyClassBasedOnSelectedRating();
this.backwardCompFormRatingPosition();
},
formWatchRating() {
const ratings = document.querySelectorAll(‘.tasty-recipes-no-ratings-buttons [data-rating]’);
if ( ratings.length {
event.preventDefault();
this.defaultRating = event.target.closest( ‘.checked’ ).dataset.rating;
this.setCheckedStar( event.target );
this.maybeSendRating( this.defaultRating, event.target );
this.setRatingInForm( this.defaultRating );
} );
}
},
closeTooltipWhenClickOutside() {
window.addEventListener( ‘click’, e => {
// Bailout (don’t remove the tooltip) when the clicked element is a rating star, or it’s the tooltip itself.
if ( e.target.closest( ‘.tasty-recipes-rating’ ) || e.target.classList.contains( ‘tasty-recipes-static-tooltip’ ) ) {
return;
}

window.TastyRecipes.staticTooltip.destroy();
} );
},
setRatingInForm( rating ) {
const ratingInput = document.querySelector( ‘#respond .tasty-recipes-rating[value=”‘ + rating + ‘”]’ );
if ( ! ratingInput ) {
return;
}
ratingInput.click();
},
addBodyClassBasedOnSelectedRating() {
const ratingInputs = document.querySelectorAll( ‘input.tasty-recipes-rating’ );
if ( ! ratingInputs ) {
return;
}
for ( const ratingInput of ratingInputs ) {
ratingInput.addEventListener( ‘click’, currentEvent => {
const selectedRating = currentEvent.target.getAttribute( ‘value’ );
this.handleBodyClassByRating( selectedRating );
this.toggleCommentTextareaRequired( selectedRating );
} );
}
},
handleBodyClassByRating( rating ) {
if ( rating < this.minRating ) {
document.body.classList.remove( 'tasty-recipes-selected-minimum-rating' );
return;
}
document.body.classList.add( 'tasty-recipes-selected-minimum-rating' );
},
toggleCommentTextareaRequired( rating ) {
const commentTextarea = document.getElementById( 'comment' );
if ( ! commentTextarea ) {
return;
}

if ( rating {
window.TastyRecipes.staticTooltip.changeMessage( response.data.message );
window.TastyRecipes.staticTooltip.show();
this.updateAverageText( response.data, recipeCardElement );
this.maybeFillCommentForm( response.data );

// Hide the tooltip after 5 seconds.
setTimeout( () => {
this.maybeResetTooltip( recipeCardElement, response.data, rating );
}, 5000 );
},
() => {
this.resetTooltip( recipeCardElement );
}
);
},
updateAverageText( data, recipeCardElement ) {
if ( ! data.average ) {
return;
}
this.setRatingPercent( data );

if ( ! data.count ) {
return;
}

const quickLink = document.querySelector( ‘.tasty-recipes-rating-link’ );
if ( quickLink ) {
this.setTextInContainer( quickLink, data );
this.setPartialStar( quickLink );
}

const cardStars = recipeCardElement.querySelector( ‘.tasty-recipes-ratings-buttons’ );
cardStars.dataset.trDefaultRating = data.average;
this.setTextInContainer( recipeCardElement.querySelector( ‘.tasty-recipes-rating’ ), data );
},
setTextInContainer( container, data ) {
if ( ! container ) {
return;
}

if ( data.label ) {
const ratingLabelElement = container.querySelector( ‘.rating-label’ );
if ( ratingLabelElement ) {
ratingLabelElement.innerHTML = data.label;
}
return;
}

const averageElement = container.querySelector( ‘.average’ );
if ( averageElement ) {
averageElement.textContent = data.average;
}

const countElement = container.querySelector( ‘.count’ );
if ( countElement ) {
countElement.textContent = data.count;
}
},
setPartialStar( container ) {
const highestStar = container.querySelector( ‘[data-rating=”‘ + Math.ceil( this.defaultRating ) + ‘”]’ );
if ( highestStar ) {
highestStar.dataset.trClip = this.currentRatingPercentage;
}
},
setRatingPercent( data ) {
this.defaultRating = data.average.toFixed( 1 );
const parts = data.average.toFixed( 2 ).toString().split( ‘.’ );
this.currentRatingPercentage = parts[1] ? parts[1] : 100;
if ( this.currentRatingPercentage === ’00’ ) {
this.currentRatingPercentage = 100;
}
},
setCheckedStar( target ) {
const cardRatingContainer = target.closest( ‘.tasty-recipes-ratings-buttons’ );
const selectedRatingElement = cardRatingContainer.querySelector( ‘[data-tr-checked]’ );
if ( selectedRatingElement ) {
delete selectedRatingElement.dataset.trChecked;
}

const thisStar = target.closest( ‘.tasty-recipes-rating’ );
thisStar.dataset.trChecked = 1;
thisStar.querySelector( ‘[data-tr-clip]’ ).dataset.trClip = 100;
},
maybeFillCommentForm( data ) {
if ( ! data.comment || ! data.comment.content ) {
return;
}

const commentForm = document.querySelector( ‘#commentform’ );
if ( ! commentForm ) {
return;
}

const commentBox = commentForm.querySelector( ‘[name=comment]’ );
if ( ! commentBox || commentBox.value ) {
return;
}

// Add comment details for editing.
commentBox.innerHTML = data.comment.content;
if ( data.comment.name ) {
commentForm.querySelector( ‘[name=author]’ ).value = data.comment.name;
commentForm.querySelector( ‘[name=email]’ ).value = data.comment.email;
}
},
maybeResetTooltip( recipeCardElement, data, rating ) {
if ( this.savingRating === rating ) {
this.resetTooltip( recipeCardElement, data );
}
},
resetTooltip( recipeCardElement, data ) {
window.TastyRecipes.staticTooltip.destroy();
this.savingRating = false;

// Reset the default rating.
const cardRatingContainer = recipeCardElement.querySelector( ‘.tasty-recipes-ratings-buttons’ );
if ( cardRatingContainer ) {
this.defaultRating = ( data && data.average ) ? data.average.toFixed(1) : cardRatingContainer.dataset.trDefaultRating;
cardRatingContainer.dataset.trDefaultRating = this.defaultRating;

this.resetSelectedStar( cardRatingContainer, data );
}
},
resetSelectedStar( cardRatingContainer ) {
const selectedRatingElement = cardRatingContainer.querySelector( ‘[data-rating=”‘ + Math.ceil( this.defaultRating ) + ‘”]’ );
if ( selectedRatingElement ) {
selectedRatingElement.querySelector( ‘[data-tr-clip]’ ).dataset.trClip = this.currentRatingPercentage;
selectedRatingElement.parentNode.dataset.trChecked = 1;
}

const previousSelectedElement= cardRatingContainer.querySelector( ‘[data-tr-checked]’ );
if ( previousSelectedElement ) {
const currentSelectedRating = previousSelectedElement.querySelector(‘[data-rating]’);
if ( currentSelectedRating !== selectedRatingElement ) {
delete previousSelectedElement.dataset.trChecked;
}
}
},
backwardCompFormRatingPosition() {
const ratingsButtons = document.querySelector( ‘#respond .tasty-recipes-ratings-buttons, #tasty-recipes-comment-rating .tasty-recipes-ratings-buttons’ );
if ( ! ratingsButtons ) {
return;
}
const ratingsButtonsStyles = window.getComputedStyle(ratingsButtons);
if ( ! ratingsButtonsStyles.display.includes( ‘flex’ ) ) {
ratingsButtons.style.direction = ‘rtl’;
}

if ( typeof tastyRecipesRating !== ‘undefined’ ) {
// Select the rating that was previously selected in admin.
ratingsButtons.querySelector( ‘.tasty-recipes-rating[value=”‘ + tastyRecipesRating + ‘”]’ ).checked = true;
}

const ratingSpans = ratingsButtons.querySelectorAll( ‘.tasty-recipes-rating’ );
for (const ratingSpan of ratingSpans) {
ratingSpan.addEventListener( ‘click’, event => {
if ( ratingSpan === event.target ) {
return;
}
ratingSpan.previousElementSibling.click();
} );
}
}
};

(function(callback) {
if (document.readyState !== “loading”) {
callback();
} else {
window.addEventListener( ‘load’, callback );
}
})(() => {
window.TastyRecipes.ratings.init( window.trCommon ? window.trCommon.minRating : 4 );
});

« Previous Post
High-Protein Pancake Sausage Mini Muffins
Next Post »
Crockpot Mexican Street Corn & Chicken Chowder

If you enjoyed this…

Ina Garten Bacon Potato Frittata Recipe

Ina Garten Bacon Potato Frittata Recipe

Hawaiian BBQ Chicken Wraps

Hawaiian BBQ Chicken Wraps

Cheesecake Fruit Salad

Cheesecake Fruit Salad

Primary Sidebar

Browse by Diet

HealthyBudgetKetoQuickVeganCheat Meal
Chili-Lime Quinoa Black Bean Salad with Corn

Chili-Lime Quinoa Black Bean Salad with Corn

Garlic Butter Beef Bites with Potatoes

Garlic Butter Beef Bites with Potatoes

Mediterranean Bean Salad

Mediterranean Bean Salad

  • Home
  • Recipe Index
  • Budget
  • Cheat Meal
  • Healthy
  • Keto
  • Quick
  • Vegan
  • About
  • Contact

© 2026 Simple Daily Eats · All Rights Reserved · Created with heart by Sarah Mitchell · About · Privacy Policy · Terms & Conditions · Disclaimer · Affiliate Disclosure · Contact