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

Tasty Daily Home

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

Tasty Daily Home

  • 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 breakfast that feels indulgent but is actually guilt-free, these Apple Cinnamon Greek Yogurt Muffins: 5 Guilt-Free Delights are just the ticket! They’re moist, flavorful, and packed with wholesome ingredients that make them perfect for busy mornings or leisurely weekends alike. Imagine biting into a warm muffin, bursting with sweet apple and a hint of cinnamon—it’s like a cozy hug in food form!

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

These muffins can easily become a family favorite, whether you’re whipping them up for a quick weekday breakfast or serving them at a weekend brunch with friends. Plus, they’re great for meal prep; make a batch ahead of time and enjoy them all week long!

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 to prepare: With only 15 minutes of prep time, you can have these muffins ready to bake in no time!
  • Family-friendly: Kids love the sweet apple flavor, making it an easy way to sneak in healthy ingredients.
  • Make-ahead convenience: Bake a batch on Sunday and enjoy fresh muffins all week—perfect for busy mornings.
  • Wholesome ingredients: Made with Greek yogurt and oats, these muffins are as nutritious as they are delicious.
  • Versatile flavors: The recipe is flexible; feel free to add nuts or dried fruits for an extra twist!

Ingredients You’ll Need

These Apple Cinnamon Greek Yogurt Muffins are made with simple, wholesome ingredients that you likely have on hand. Let’s gather everything we 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! You can easily customize it to suit your taste or dietary preferences. Here are some fun ideas:

  • Add nuts: Toss in some chopped walnuts or pecans for added crunch and healthy fats.
  • Go vegan: Substitute the egg with flaxseed meal mixed with water for a plant-based version.
  • Add spices: Experiment by adding nutmeg or ginger to elevate the flavor profile.
  • Use different fruits: Swap out apples for mashed bananas or berries to mix things up.

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

Step 1: Preheat Your Oven

Preheat your oven to 350°F (175°C). This step is crucial because it ensures even baking. A hot oven will give your muffins that lovely rise and golden top.

Step 2: Mix the Dry Ingredients

In a medium bowl, combine your flour, oats, baking powder, baking soda, cinnamon, and salt. Mixing these dry ingredients first helps evenly distribute the leavening agents throughout the batter, which is key for fluffy muffins.

Step 3: Combine Wet Ingredients

In another bowl, whisk together the Greek yogurt, sugar, apple sauce, and egg until smooth. This mixture brings moisture and richness to your muffins while still keeping them light and airy.

Step 4: Mix Together

Gently fold the wet ingredients into the dry ingredients until just combined. Be careful not to overmix—this will help keep your muffins tender and soft.

Step 5: Add Apples

Fold in the diced apples carefully so they’re evenly distributed without breaking down too much. Fresh apples add wonderful texture and natural sweetness.

Step 6: Prepare Muffin Tins

Pour the batter into muffin tins lined with paper liners or greased lightly. Fill each about two-thirds full to allow room for rising without overflowing.

Step 7: Bake Until Golden

Bake in your preheated oven for about 20-25 minutes or until golden brown. You’ll know they’re done when a toothpick inserted into the center comes out clean—this is an essential step to ensure they’re fully baked.

Step 8: Cool Before Serving

Let them cool in the pan for a few minutes before transferring them to a wire rack. This helps maintain their shape and gives you those lovely warm muffins ready to enjoy!

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

Making muffins can be a breeze with a few helpful tips!

  • Use room temperature ingredients – This helps your batter mix more evenly, resulting in a better texture for your muffins.
  • Don’t overmix the batter – Mixing just until combined ensures your muffins stay light and fluffy rather than dense.
  • Let your apples shine – Choose fresh, crisp apples for the best flavor; varieties like Honeycrisp or Fuji work wonderfully in this recipe.
  • Cool before serving – Allowing the muffins to cool for at least 10 minutes helps them set and makes them easier to remove from the tin without falling apart.
  • Store properly – Keep leftovers in an airtight container at room temperature for up to 3 days or refrigerate for up to a week to maintain freshness.

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

Presenting your delicious muffins can enhance the overall experience. Here are some ideas to elevate your serving game!

Garnishes

  • A sprinkle of cinnamon sugar – A light dusting of cinnamon sugar on top adds a delightful crunch and extra sweetness.
  • Chopped nuts – Toasted walnuts or pecans sprinkled on top give a nice texture contrast while adding healthy fats.

Side Dishes

  • Fresh fruit salad – A mix of seasonal fruits provides a refreshing balance to the sweetness of the muffins and adds vibrant color to your plate.
  • Greek yogurt with honey – Serve alongside a small bowl of Greek yogurt drizzled with honey for an extra protein boost and creaminess that pairs perfectly with the muffins.
  • Herbal tea or coffee – A warm cup of herbal tea or freshly brewed coffee complements these muffins beautifully, making it perfect for breakfast or an afternoon snack.

Make Ahead and Storage

These Apple Cinnamon Greek Yogurt Muffins are perfect for meal prep, allowing you to enjoy a nutritious breakfast throughout the week. Here’s how to keep them fresh!

Storing Leftovers

  • Allow muffins to cool completely.
  • Place them in an airtight container.
  • Store at room temperature for up to 3 days or in the refrigerator for up to a week.

Freezing

  • Wrap each muffin individually in plastic wrap or aluminum foil.
  • Place wrapped muffins in a freezer-safe bag or container.
  • Freeze for up to 3 months.

Reheating

  • Remove muffins from the freezer and let them thaw overnight in the refrigerator.
  • Reheat in the microwave for 15-20 seconds or until warmed through.
  • Alternatively, warm them in a preheated oven at 350°F (175°C) for about 10 minutes.

FAQs

Here are some common questions you might have about these delightful muffins.

Can I make Apple Cinnamon Greek Yogurt Muffins gluten-free?

Yes! You can substitute the all-purpose flour with a gluten-free flour blend to make these muffins gluten-free. Just ensure that your baking powder is also gluten-free.

How long do Apple Cinnamon Greek Yogurt Muffins last?

When stored properly, these muffins will last at room temperature for up to 3 days and in the refrigerator for up to a week. They can also be frozen for up to 3 months.

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

Absolutely! Feel free to mix in other fruits like blueberries, raspberries, or bananas. Just keep in mind that different fruits may alter the texture slightly.

Are Apple Cinnamon Greek Yogurt Muffins healthy?

Yes! Made with Greek yogurt and apples, these muffins provide protein and fiber while being lower in fat compared to traditional recipes. They make a great guilt-free breakfast option!

Can I skip the sugar?

You can reduce the sugar or substitute it with natural sweeteners like honey or maple syrup. Just remember that this may affect the final texture and flavor of your muffins.

Final Thoughts

These Apple Cinnamon Greek Yogurt Muffins are not only delicious but also a wholesome choice for breakfast or snacks. I hope you enjoy making them as much as I do! They’re perfect for sharing with family or friends, so don’t hesitate to whip up a batch and spread the joy of home-baked goodness!

Print

Apple Cinnamon Greek Yogurt Muffins: 5 Guilt-Free Delights

Print Recipe

5 Stars 4 Stars 3 Stars 2 Stars 1 Star

No reviews

Apple Cinnamon Greek Yogurt Muffins: 5 Guilt-Free Delights are the perfect way to start your day with a nutritious and satisfying breakfast. These moist, fluffy muffins combine the natural sweetness of apples and the warm spice of cinnamon, all while being packed with wholesome ingredients like Greek yogurt and oats. Ideal for busy mornings or leisurely brunches, they offer a delightful balance of flavor and health. Plus, they’re easy to prepare in just 15 minutes! Bake a batch ahead of time, and enjoy fresh muffins throughout the week. With endless variations to suit your taste, these guilt-free delights are sure to become a family favorite.

  • Author: Chef Adrian Vale
  • Prep Time: 15 minutes
  • Cook Time: 25 minutes
  • Total Time: 40 minutes
  • Yield: Makes 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 apple sauce
  • 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 medium bowl, mix together flour, oats, baking powder, baking soda, cinnamon, and salt.
  3. In another bowl, whisk Greek yogurt, sugar, apple sauce, and egg until smooth.
  4. Fold the wet mixture into the dry ingredients until just combined.
  5. Gently fold in diced apples.
  6. Pour batter into muffin tins lined with paper liners or greased lightly.
  7. Bake for about 20-25 minutes until golden brown; a toothpick inserted should come out clean.
  8. Let cool for a few minutes before transferring to a wire rack.

Nutrition

  • Serving Size: 1 muffin (50g)
  • Calories: 130
  • Sugar: 10g
  • Sodium: 150mg
  • Fat: 3g
  • Saturated Fat: 0.5g
  • Unsaturated Fat: 2g
  • Trans Fat: 0g
  • Carbohydrates: 24g
  • 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.tastydailyhome.com\/wp-admin\/admin-ajax.php”,”ratingNonce”:”99d9732a32″,”postId”:1754};
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 );
});

REMEMBER

WANT TO SAVE THIS RECIPE? CLICK BELOW AND PIN IT

PIN

« Previous Post
Mediterranean Quesadillas
Next Post »
Mini Cinnamon Sugar Pumpkin Muffins

If you enjoyed this…

Apple Pie Cinnamon Rolls

Apple Pie Cinnamon Rolls

Pumpkin Crepes Cinnamon Mascarpone

Pumpkin Crepes Cinnamon Mascarpone

Summer Corn Salad with Avocado

Summer Corn Salad with Avocado

Primary Sidebar

Browse by Diet

HealthyBudgetKetoQuickVeganCheat Meal
  • About
  • Contact
  • DISCLAIMER
  • Homepage
  • PRIVACY POLICY
  • Recipe Index
  • TERMS AND CONDITIONS

© 2026 Tasty Daily Home · All Rights Reserved · Created by Chef Adrian Vale · About · Privacy Policy · Terms & Conditions · Disclaimer · Contact