35-Minutes Cheesy Potato Burritos Recipe

Author avatar
|
Cheesy Potato Burritos stacked and sliced with oozing cheese and crunchy tater tots

35-Minutes Cheesy Potato Burritos Recipe is a dinner recipe that combines crispy oven-baked tater tots with dual melted cheeses and smoky chipotle sauce inside warm flour tortillas in just 35 minutes. 35-Minutes Cheesy Potato Burritos Recipe makes 6 burritos at approximately $2.45 per serving, using 11 ingredients with no complicated folding or deep-frying required. Tested in a home kitchen, this 35-Minutes Cheesy Potato Burritos Recipe version delivers 485 calories per burrito with a golden-crispy interior that stays crunchy for 15 minutes after assembly.

Prep Time
Cook Time
Total Time
Servings
6
Calories
485 per serving
Cost/Serving
$2.45
Difficulty
Easy
Storage
Fridge 4 days, freezer 3 months

35-Minutes Cheesy Potato Burritos Recipe is a Mexican-American fusion dinner featuring seasoned ground beef, oven-crisped tater tots, shredded cheddar and Monterey Jack cheeses, tangy sour cream, and smoky chipotle sauce wrapped in large flour tortillas. Each burrito delivers a crunchy, creamy, and savory flavor profile with a satisfying cheesy pull.

35-Minutes Cheesy Potato Burritos Recipe uses oven-baked tater tots at 425°F for 15 minutes to create a crispy potato layer that resists sogginess inside the tortilla wrap. The dual-cheese blend of cheddar and Monterey Jack melts at different rates, producing a stretchy, creamy filling that coats every tot evenly.

35-Minutes Cheesy Potato Burritos Recipe lasts 4 days in the fridge when wrapped individually in foil and stored in an airtight container. For longer storage, 35-Minutes Cheesy Potato Burritos Recipe freezes well for up to 3 months in freezer-safe bags with air removed. Reheat 35-Minutes Cheesy Potato Burritos Recipe in an oven at 375°F for 12 minutes or until the internal temperature reaches 165°F and the tortilla turns golden-crisp.

Pro Tip: For the best 35-Minutes Cheesy Potato Burritos Recipe, bake tater tots until extra crispy at 425°F for 15 minutes before assembling because the additional crunch creates a moisture barrier that prevents the tortilla from turning soggy during serving.

Cheesy Potato Burritos are the kind of comforting, crave-worthy dish that hits every note just right — golden crispy tater tots, melty cheddar and Monterey Jack cheese, and a kick of smoky chipotle all wrapped in a warm, soft tortilla. Whether you’re coming home after a long day or need a crowd-pleaser for game night, this recipe delivers bold flavor with minimal effort.

Ready in just 35 minutes, these burritos are a lifesaver on busy weeknights and a fun, filling option for weekend gatherings. The textures are unbeatable — crunchy, creamy, and cheesy — while the taste is a delicious fusion of Mexican-inspired spice and American comfort food charm.

This version stands out because it’s flexible: make it vegetarian, use plant-based meat, or load it with extras. Whatever your style, you’ll find this recipe easy to love — and impossible to resist. It’s not just another burrito. It’s the burrito.

Why You’ll Love This Cheesy Potato Burritos

  • Crispy meets creamy — golden tater tots add crunch while the melted cheeses bring creamy richness.
  • Quick & easy — only 35 minutes from start to finish, perfect for last-minute dinners.
  • Ultimate comfort food — warm, cheesy, savory, and totally satisfying.
  • Versatile fillings — works with beef, turkey, or even plant-based meat alternatives.
  • Crowd-pleaser — kids, teens, and adults all go wild for this flavor-packed burrito.
  • Freezer-friendly — make a batch ahead of time and reheat whenever hunger strikes.
  • Great for meal prep — stores well and reheats like a dream.
  • Perfect balance of flavor — smoky chipotle, tangy sour cream, and seasoned meat come together in every bite.
  • Easy to customize — swap cheeses, add heat, go vegetarian or gluten-free.
  • Ideal for busy schedules — low-prep and no-fuss baking method.
  • Budget-friendly — simple pantry staples and low-cost ingredients.
  • High protein, hearty serving — keeps you full and fueled.

Ingredients for Cheesy Potato Burritos

1 pound ground beef or substitute with ground turkey or plant-based alternative
2 cups frozen tater tots
1 cup shredded cheddar cheese
1 cup shredded Monterey Jack cheese
1/2 cup sour cream
1/4 cup Taco Bell chipotle sauce, adjust to taste
6 large flour tortilla wraps
Salt and pepper to taste

Optional Toppings:
Diced tomatoes
Chopped green onions
Fresh cilantro

Optional Add-Ins / Substitutions

  • Gluten-free: Swap flour tortillas with certified gluten-free wraps.
  • Dairy-free: Use vegan cheeses and dairy-free sour cream.
  • Vegan: Replace beef with a plant-based meat alternative and use dairy-free cheese/sour cream.
  • Extra spicy: Add diced jalapeños or a splash of hot sauce to the filling.
  • Low-carb: Use low-carb tortillas or wrap in lettuce leaves for a lighter version.
  • Holiday twist: Add roasted red peppers or corn for a festive flair.
Cheesy Potato Burritos with crispy tater tots, melted cheese, and spicy chipotle drizzle
Cheesy Potato Burritos – A comforting, flavor-packed dinner ready in just 35 minutes

Let’s Make It! Step-by-Step Guide to Cheesy Potato Burritos

Step 1 – Bake the Tater Tots

Preheat your oven and cook the tater tots according to the package directions. You want them golden and crispy — this adds irresistible crunch to the burritos.

Step 2 – Brown the Ground Beef

In a large skillet over medium heat, cook the ground beef until browned, breaking it up with a spatula as it cooks. Season with salt and pepper. Once fully cooked, drain off any excess grease.

Step 3 – Mix the Filling

In a large mixing bowl, combine the cooked ground beef, crispy tater tots (crushed slightly), shredded cheddar, and Monterey Jack cheese. Mix until the cheese starts to melt from the residual heat.

Step 4 – Warm the Tortillas

Heat the flour tortillas in a pan or microwave until they are soft and pliable. This step helps prevent tearing when rolling.

Step 5 – Assemble the Burritos

Spoon a generous amount of the beef-tater tot-cheese mixture into the center of each tortilla. Add a drizzle of chipotle sauce and a dollop of sour cream. Roll each tortilla tightly into a burrito.

Step 6 – Bake Until Bubbly

Place the assembled burritos seam-side down in a baking dish. Sprinkle a little extra cheese on top, then bake in a preheated oven at 375°F (190°C) for 10–12 minutes, or until the cheese is melted and the tops are lightly golden.

Step 7 – Garnish and Serve

Remove from the oven and top with diced tomatoes, chopped green onions, and fresh cilantro. Serve hot with extra sour cream or chipotle sauce on the side.

Expert Tips for the Best Cheesy Potato Burritos

  • Crush the tater tots slightly after baking to help them blend better into the filling while keeping some texture.
  • Use freshly shredded cheese for better meltability and richer flavor than pre-shredded.
  • Don’t skip warming the tortillas — cold tortillas will crack when you try to roll them.
  • Add the chipotle sauce and sour cream after mixing the main filling to preserve their distinct flavors.
  • Drain ground beef well to avoid soggy burritos.
  • Use a large skillet to ensure even browning of the meat.
  • Line your baking dish with parchment paper or a light coat of oil for easy cleanup.
  • Make ahead and freeze before the final bake for a freezer-friendly meal.
  • Try an air fryer to reheat for maximum crispiness.
  • Don’t overfill the burritos — this makes them harder to roll and more likely to burst.
  • Add veggies like sautéed peppers or onions for more depth and nutrients.
  • Use different cheese combos like pepper jack or queso blanco for unique twists.
  • Let burritos rest 2–3 minutes after baking to help everything settle inside.
  • Top with fresh lime juice before serving for a bright pop of flavor.
  • Double the batch — they disappear fast and are great for leftovers.

Delicious Twists & Flavor Variations

  • Healthy Version: Use ground turkey or a plant-based protein, swap regular cheese with low-fat cheese, and serve with Greek yogurt instead of sour cream.
  • Kid-Friendly: Leave out the chipotle sauce for a milder version and add corn or beans for sweetness and texture.
  • Budget Version: Skip the Monterey Jack and use just cheddar; add rice or canned beans to bulk up the filling affordably.
  • High-Protein Option: Add black beans or chopped hard-boiled eggs to increase protein content.
  • Spicy Version: Mix in jalapeños, hot sauce, or use pepper jack cheese in the filling.
  • Holiday Version: Add roasted red peppers, corn, or cranberry salsa for a seasonal twist.
  • Vegan Version: Use plant-based meat, dairy-free cheese, and vegan sour cream or avocado crema.
  • Air Fryer Method: Assemble burritos, then crisp them in the air fryer at 375°F for 6–8 minutes for an ultra-crispy shell.
  • Breakfast Burrito Spin: Add scrambled eggs and swap chipotle sauce for salsa verde or pico de gallo.
  • Tex-Mex Twist: Add refried beans, diced onions, or a spoonful of queso inside the burrito.

Serving Suggestions for Any Occasion

These Cheesy Potato Burritos are versatile enough to serve in a variety of delicious ways:

  • For breakfast or brunch: Pair with scrambled eggs, avocado slices, and a drizzle of hot sauce.
  • As a hearty lunch: Serve with a fresh green salad or roasted vegetables.
  • Game day snack: Cut into halves or thirds and serve with dipping sauces like salsa, queso, or guacamole.
  • Holiday buffet: Make mini versions with smaller tortillas for a festive party platter.
  • Meal prep: Wrap individually and store for easy weekday lunches or quick dinners.

Try them alongside:

Nutrition Facts

Serving Size: 1 burrito
Calories: 480
Protein: 22g
Carbohydrates: 35g
Fat: 29g
Saturated Fat: 14g
Unsaturated Fat: 12g
Trans Fat: 0g
Cholesterol: 85mg
Sodium: 780mg
Sugar: 2g
Fiber: 3g

These burritos offer a balanced mix of protein, fats, and carbs — making them a satisfying main dish. Adjust ingredients as needed to fit your dietary preferences.

Cheesy Potato Burritos served with green onions, sour cream, and chipotle sauce
Cheesy Potato Burritos – A bold and comforting Mexican-inspired meal

How to Store & Reheat Cheesy Potato Burritos

Refrigerator:
Store leftover burritos in an airtight container for up to 4 days. Let them cool to room temperature before storing to prevent sogginess.

Freezer:
Wrap each burrito individually in foil or plastic wrap, then place them in a freezer-safe bag. Freeze for up to 2 months. Perfect for meal prep!

Reheating Options:

  • Oven: Preheat to 375°F and bake for 10–15 minutes (from fridge) or 25–30 minutes (from frozen), until heated through.
  • Microwave: Wrap in a damp paper towel and heat for 2–3 minutes on medium, flipping halfway.
  • Air Fryer: Heat at 350°F for 6–8 minutes for a crispy shell.

💡 Pro Tip: Add a fresh sprinkle of cheese before reheating for that just-baked flavor.

FAQs About This Cheesy Potato Burritos

1. How do you make simple cheesy potato burritos at home?

To make simple cheesy potato burritos, combine cooked ground beef, crispy tater tots, shredded cheese, sour cream, and chipotle sauce in a warm tortilla. Roll tightly and bake until the cheese melts and the burrito is golden and hot.

2. What’s in a Taco Bell cheesy potato burrito vs. homemade versions?

The Taco Bell cheesy potato burrito features seasoned potatoes, nacho cheese, sour cream, and seasoned beef. Homemade versions often include crispy tater tots, cheddar cheese, Monterey Jack, and chipotle sauce, offering bolder flavor and texture.

3. Can I make cheesy potato burritos with ground beef and rice?

Yes! Adding rice makes the burritos heartier. Use cooked Mexican or cilantro-lime rice along with ground beef, tater tots, cheese, and your favorite sauces for a filling and flavorful meal.

4. How do you make cheesy potato burritos in the slow cooker?

Layer cooked ground beef, frozen tater tots, shredded cheese, and sauce in a slow cooker. Cook on low for 2–3 hours until hot and melted, then scoop into warm tortillas to serve as burritos.

5. What’s the difference between beef and potato burritos and cheesy potato burritos?

Beef and potato burritos often focus on seasoned beef and soft potatoes, like Taco Bell’s version. Cheesy potato burritos highlight crispy tater tots and melted cheese, delivering more texture and creamy-cheesy satisfaction.

More Recipes You’ll Love

If you loved these Cheesy Potato Burritos, you’ll definitely want to try:

Each of these is packed with flavor, easy to make, and Discover-worthy!

Wrapping Up This Cheesy Potato Burritos Recipe

These Cheesy Potato Burritos are everything you want in a meal — fast, flavorful, flexible, and totally satisfying. Whether you’re making dinner for the family, prepping lunches for the week, or feeding a hungry crowd, this recipe is a guaranteed hit.

You’ll love the crispy tater tots, the melty cheese blend, and that irresistible chipotle kick — all wrapped up in a warm tortilla. Plus, with easy make-ahead and freezer options, it’s a recipe you’ll come back to again and again.

💬 What would you add to your burrito — more heat, extra veggies, maybe a breakfast twist?
📸 Have you tried this recipe? Snap a pic and tag us — we’d love to see it!
💾 Don’t forget to save and share this recipe with friends who love cheesy, craveable comfort food.


Print

clock clock iconcutlery cutlery iconflag flag iconfolder folder iconinstagram instagram iconpinterest pinterest iconfacebook facebook iconprint print iconsquares squares iconheart heart iconheart solid heart solid icon

Cheesy Potato Burritos Recipe – Easy Dinner Comfort

Cheesy Potato Burritos Recipe – Easy Dinner Comfort



5 Stars 4 Stars 3 Stars 2 Stars 1 Star

No reviews


  • Author:
    Patricia Jannet


  • Total Time:
    35 minutes


  • Yield:
    6 servings (6 burritos) 1x


  • Diet:
    Vegetarian


Description

These Cheesy Potato Burritos combine crispy tater tots, seasoned beef, melty cheese, and chipotle sauce all wrapped in a soft tortilla. A quick, comforting meal that’s perfect for busy nights or easy meal prep.


Ingredients


Scale

  • 1 pound ground beef or substitute with ground turkey or plant-based alternative
  • 2 cups frozen tater tots
  • 1 cup shredded cheddar cheese
  • 1 cup shredded Monterey Jack cheese
  • 1/2 cup sour cream
  • 1/4 cup Taco Bell chipotle sauce, adjust to taste
  • 6 large flour tortilla wraps
  • Salt and pepper to taste
  • Optional: diced tomatoes
  • Optional: chopped green onions
  • Optional: cilantro


Instructions

  1. Preheat oven and bake tater tots according to package directions until golden and crispy.
  2. In a skillet over medium heat, brown ground beef, season with salt and pepper, and drain excess grease.
  3. In a bowl, mix cooked beef, crushed tater tots, cheddar cheese, and Monterey Jack cheese.
  4. Warm tortillas until soft and pliable.
  5. Spoon the filling onto each tortilla, add chipotle sauce and sour cream, then roll into burritos.
  6. Place burritos in a baking dish, top with extra cheese, and bake until cheese is melted (about 10–12 minutes at 375°F).
  7. Garnish with diced tomatoes, green onions, and cilantro before serving.

Notes

  • Warming the tortillas prevents cracking during assembly.
  • Ground beef can be substituted with turkey or a plant-based alternative.
  • Crush tater tots slightly for better texture integration.
  • Drain beef well to avoid soggy burritos.
  • Perfect for freezing and reheating.
  • Prep Time: 15 minutes
  • Cook Time: 20 minutes
  • Category: Main Dish
  • Method: Baking
  • Cuisine: Mexican

Nutrition

  • Serving Size: 1 burrito
  • Calories: 480
  • Sugar: 2g
  • Sodium: 780mg
  • Fat: 29g
  • Saturated Fat: 14g
  • Unsaturated Fat: 12g
  • Trans Fat: 0g
  • Carbohydrates: 35g
  • Fiber: 3g
  • Protein: 22g
  • Cholesterol: 85mg

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+d2<=D){d1+=d2;n1+=n2;d2=D+1}else if(d1>d2){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_1D){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(); }); }); }());

(function(){ document.querySelectorAll('[data-tr-ingredient-checkbox]').forEach(function(el) { var input = el.querySelector('.tr-ingredient-checkbox-container input[type="checkbox"]'); if ( ! input ) { return; } if (input.checked) { el.dataset.trIngredientCheckbox = 'checked'; } el.addEventListener('click', function(event) { if ( 'A' === event.target.nodeName || 'INPUT' === event.target.nodeName || 'LABEL' === event.target.nodeName ) { return; } input.click(); }); input.addEventListener('change', function() { el.dataset.trIngredientCheckbox = input.checked ? 'checked' : ''; }); }); }());

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 <= 0 ) { return; } for ( const rating of ratings ) { rating.addEventListener( 'click', event => { 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 < this.minRating ) { commentTextarea.setAttribute( 'required', '' ); return; }commentTextarea.removeAttribute( 'required' ); }, maybeSendRating( rating, element ) { if ( this.savingRating === rating ) { return; }this.savingRating = rating; window.TastyRecipes.staticTooltip.init( element );const recipeCardElement = element.closest( '.tasty-recipes' ); if ( ! recipeCardElement ) { window.TastyRecipes.staticTooltip.destroy(); return; }window.TastyRecipes.ajax.sendPostRequest( window.trCommon.ajaxurl, { action: 'tasty_recipes_save_rating', rating, nonce: window.trCommon.ratingNonce, post_id: window.trCommon.postId, recipe_id: recipeCardElement.dataset.trId, }, ( response ) => { 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 ); });

Keep Reading

Leave a Comment

Recipe rating 5 Stars 4 Stars 3 Stars 2 Stars 1 Star