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

Week Meal Ideas

  • Recipe Index
  • Homepage
  • Budget
  • Cheat Meal
  • Healthy
  • Keto
  • Quick
  • Vegan
  • About

Week Meal Ideas

  • Recipe Index
  • Homepage
  • Budget
  • Cheat Meal
  • Healthy
  • Keto
  • Quick
  • Vegan
  • About
Budget / Mexican Street Corn Chili

Mexican Street Corn Chili

June 25, 2026 by Alex

Jump to Recipe·Print Recipe

If you’re looking for a cozy meal that feels like a warm hug on a chilly evening, this Mexican Street Corn Chili is just what you need. It’s creamy, hearty, and bursting with flavors from fresh lime and spices. This dish has quickly become a favorite in our home, perfect for everything from busy weeknights to casual family gatherings. It’s one of those recipes that makes everyone feel welcome at the table.

Mexican Street Corn Chili image 2

Imagine sitting down to a steaming bowl of chili, topped with your favorite garnishes—it’s simply irresistible! Whether you’re enjoying it solo or sharing it with loved ones, this comforting bowl brings smiles all around.

REMEMBER

WANT TO SAVE THIS RECIPE? CLICK BELOW AND PIN IT

PIN
Mexican Street Corn Chili image 3
Mexican Street Corn Chili image 4

Why You’ll Love This Recipe

  • Quick and Easy: This recipe comes together in just 30 minutes, making it ideal for those busy evenings when time is tight.
  • Flavorful Comfort Food: Each bite is packed with deliciousness—creamy, spicy, and a touch of sweetness from the corn.
  • Family-Friendly Appeal: With its mild spice level and customizable toppings, it’s sure to please even the pickiest eaters.
  • Healthy Ingredients: Made with wholesome ingredients like chicken and fresh veggies, it’s both nutritious and satisfying.
  • Perfect for Meal Prep: Make a big batch ahead of time; this chili stores beautifully in the fridge or freezer!

Ingredients You’ll Need

You’ll love how simple and wholesome these ingredients are! This recipe uses everyday staples that you probably already have on hand.

REMEMBER

WANT TO SAVE THIS RECIPE? CLICK BELOW AND PIN IT

PIN

For the Chili

  • 2 boneless skinless chicken breasts, cooked and shredded
  • 1 medium yellow onion, diced
  • 1 jalapeño pepper, diced
  • 3 cloves garlic, minced
  • 2 cups frozen corn
  • 4 cups chicken bone broth or low-sodium chicken broth
  • 1 teaspoon dried oregano
  • 1 teaspoon chili powder
  • 1 teaspoon salt
  • 1/2 teaspoon ground black pepper
  • 2 tablespoons fresh lime juice

For Thickening & Toppings

  • 1 tablespoon cornstarch
  • 2 tablespoons water
  • Cooked bacon crumbles
  • Tortilla strips
  • Sliced jalapeños
  • Diced avocado
  • Cotija cheese crumbles
  • Shredded cheese

Variations

This recipe is incredibly adaptable! Feel free to get creative based on your taste preferences or dietary needs.

  • Swap the protein: Use shredded turkey or even tofu for a vegetarian option—both work wonderfully in this chili!
  • Add more veggies: Toss in some bell peppers or zucchini for an extra boost of nutrition and flavor.
  • Make it spicier: If you love heat, add more jalapeños or sprinkle in some cayenne pepper for an extra kick.
  • Create a vegan version: Substitute chicken with chickpeas or lentils and use vegetable broth instead of chicken broth.

How to Make Mexican Street Corn Chili

Step 1: Sauté the Aromatics

In a large pot, sauté the diced onion and jalapeño over medium heat until softened, about 3-4 minutes. Adding garlic next allows its fragrant aroma to infuse into the base of your chili—a crucial step for building layers of flavor!

Step 2: Build the Chili Base

Now it’s time to add in the chicken, broth, oregano, chili powder, salt, and black pepper. Bring everything to a boil before reducing heat to let it simmer covered for about 10-15 minutes. This simmering process melds all those wonderful flavors together beautifully.

REMEMBER

WANT TO SAVE THIS RECIPE? CLICK BELOW AND PIN IT

PIN

Step 3: Thicken It Up

While your chili simmers away, whisk together cornstarch and water in a small bowl until smooth. This mixture will help create that luscious texture we crave in chili!

Step 4: Shred the Chicken

Once done simmering, remove the chicken from the pot. Use two forks to shred it into bite-sized pieces before returning it back into the mix along with frozen corn and fresh lime juice. The corn adds sweetness while lime brightens up every bite.

Step 5: Final Simmer

Stir in your cornstarch slurry and continue to simmer uncovered for an additional 10 minutes until thickened. This step ensures your chili has that perfect consistency—hearty but not too soupy!

REMEMBER

WANT TO SAVE THIS RECIPE? CLICK BELOW AND PIN IT

PIN

Step 6: Serve & Garnish

Ladle your delicious chili into bowls and top with your favorite garnishes like bacon crumbles (if using), cotija cheese, tortilla strips, avocado slices—let your creativity shine here! Each topping brings its own delightful crunch and creaminess that elevates this dish even further.

Enjoy every comforting spoonful of your homemade Mexican Street Corn Chili!

Pro Tips for Making Mexican Street Corn Chili

To ensure your Mexican Street Corn Chili turns out perfectly every time, keep these helpful tips in mind!

REMEMBER

WANT TO SAVE THIS RECIPE? CLICK BELOW AND PIN IT

PIN
  • Use fresh ingredients: Fresh produce and spices can elevate the flavor of your chili, making it more vibrant and delicious.

  • Adjust spice level: If you prefer a milder chili, remove the seeds from the jalapeño before dicing it. For extra heat, consider adding a pinch of cayenne pepper.

  • Let it rest: Allowing the chili to sit for a few minutes after cooking enhances the flavors. The ingredients will meld together beautifully!

    REMEMBER

    WANT TO SAVE THIS RECIPE? CLICK BELOW AND PIN IT

    PIN
  • Make it ahead: This chili tastes even better the next day! Prepare it in advance and store leftovers in an airtight container for easy reheating.

  • Experiment with toppings: Don’t hesitate to mix and match garnishes. Different toppings can create unique flavor profiles each time you make it!

How to Serve Mexican Street Corn Chili

Serving your Mexican Street Corn Chili can enhance the dining experience, making it feel special and inviting.

REMEMBER

WANT TO SAVE THIS RECIPE? CLICK BELOW AND PIN IT

PIN

Garnishes

  • Diced avocado: Adds creaminess and a refreshing contrast to the spices.
  • Chopped cilantro: Provides a burst of fresh flavor that complements the chili.
  • Lime wedges: A squeeze of lime juice brightens up the dish, enhancing all the flavors.

Side Dishes

  • Cornbread: This sweet and savory bread is perfect for dipping into the chili and adds a comforting touch.
  • Mexican rice: Fluffy rice seasoned with spices makes an excellent accompaniment that balances out the richness of the chili.
  • Simple green salad: A light salad with mixed greens, tomatoes, and a tangy vinaigrette offers a refreshing contrast to the hearty chili.
  • Grilled vegetables: Adding grilled zucchini or bell peppers can bring additional textures and flavors to your meal while keeping it healthy.

Make Ahead and Storage

This Mexican Street Corn Chili is perfect for meal prep and can easily fit into your busy schedule. You can make a big batch ahead of time, store it properly, and enjoy it throughout the week.

Storing Leftovers

  • Let the chili cool completely before transferring it to an airtight container.
  • Store in the refrigerator for up to 4 days.
  • Label containers with the date to keep track of freshness.

Freezing

  • Allow the chili to cool completely before freezing.
  • Use freezer-safe containers or heavy-duty freezer bags, removing as much air as possible.
  • Freeze for up to 3 months.

Reheating

  • Thaw frozen chili overnight in the refrigerator before reheating.
  • Heat on the stovetop over medium heat until warmed through, stirring occasionally.
  • For microwave reheating, place in a microwave-safe bowl, cover loosely, and heat in 1-minute increments until hot.

FAQs

Can I make Mexican Street Corn Chili vegetarian?

Absolutely! You can substitute shredded chicken with plant-based protein or additional beans for a delicious vegetarian version.

How spicy is Mexican Street Corn Chili?

The spiciness level can be adjusted based on your preference. Feel free to reduce or omit the jalapeño pepper or use milder varieties if you’re sensitive to heat.

REMEMBER

WANT TO SAVE THIS RECIPE? CLICK BELOW AND PIN IT

PIN

Can I use fresh corn instead of frozen in Mexican Street Corn Chili?

Yes! Fresh corn will add wonderful flavor and texture. Just make sure to cook it until tender before adding it to the chili.

Final Thoughts

I hope you enjoy making this comforting bowl of Mexican Street Corn Chili as much as I do! It’s a delightful blend of flavors that brings warmth and satisfaction to any meal. Don’t hesitate to customize it to your taste, and share it with loved ones. Happy cooking!

Print

REMEMBER

WANT TO SAVE THIS RECIPE? CLICK BELOW AND PIN IT

PIN

Mexican Street Corn Chili

Print Recipe

5 Stars 4 Stars 3 Stars 2 Stars 1 Star

REMEMBER

WANT TO SAVE THIS RECIPE? CLICK BELOW AND PIN IT

PIN

No reviews

Mexican Street Corn Chili is the ultimate cozy dish, perfect for chilly evenings when you need a warm hug in a bowl. This creamy and hearty chili is bursting with the vibrant flavors of fresh lime, savory spices, and tender chicken. Quick to prepare in just 30 minutes, it’s an ideal solution for busy weeknights or casual family gatherings. With customizable toppings like crunchy tortilla strips and creamy avocado, this dish is sure to please everyone at the table. Enjoy a steaming bowl solo or share it with loved ones—each spoonful promises comfort and satisfaction.

  • Author: Alex
  • Prep Time: 10 minutes
  • Cook Time: 20 minutes
  • Total Time: 30 minutes
  • Yield: Serves approximately 4
  • Category: Soup/Stew
  • Method: Simmering
  • Cuisine: Mexican

Ingredients


Scale
  • 2 boneless skinless chicken breasts
  • 1 medium yellow onion
  • 1 jalapeño pepper
  • 3 cloves garlic
  • 2 cups frozen corn
  • 4 cups chicken broth
  • 1 teaspoon dried oregano
  • 1 teaspoon chili powder
  • 1 teaspoon salt
  • 1/2 teaspoon ground black pepper
  • 2 tablespoons fresh lime juice
  • 1 tablespoon cornstarch
  • 2 tablespoons water
  • Tortilla strips
  • Sliced jalapeños
  • Diced avocado
  • Cotija cheese crumbles
  • Shredded cheese

REMEMBER

WANT TO SAVE THIS RECIPE? CLICK BELOW AND PIN IT

PIN

Instructions

  1. Sauté diced onion and jalapeño in a large pot over medium heat for 3-4 minutes until softened. Add minced garlic and cook until fragrant.
  2. Stir in shredded chicken, chicken broth, oregano, chili powder, salt, and black pepper. Bring to a boil, then reduce heat and simmer covered for 10-15 minutes.
  3. In a small bowl, mix cornstarch with water until smooth; add to the chili during the last simmering phase.
  4. Shred cooked chicken using forks if not already shredded; return to the pot along with frozen corn and lime juice.
  5. Simmer uncovered for another 10 minutes until thickened. Serve with desired garnishes.

Nutrition

  • Serving Size: 1 serving
  • Calories: 350
  • Sugar: 6g
  • Sodium: 680mg
  • Fat: 10g
  • Saturated Fat: 2g
  • Unsaturated Fat: 7g
  • Trans Fat: 0g
  • Carbohydrates: 40g
  • Fiber: 5g
  • Protein: 24g
  • Cholesterol: 60mg

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.weekmealideas.com\/wp-admin\/admin-ajax.php”,”ratingNonce”:”baab174dde”,”postId”:9013};
window.TastyRecipes = window.TastyRecipes || {};

REMEMBER

WANT TO SAVE THIS RECIPE? CLICK BELOW AND PIN IT

PIN

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;
}

REMEMBER

WANT TO SAVE THIS RECIPE? CLICK BELOW AND PIN IT

PIN

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(){

REMEMBER

WANT TO SAVE THIS RECIPE? CLICK BELOW AND PIN IT

PIN

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”));

REMEMBER

WANT TO SAVE THIS RECIPE? CLICK BELOW AND PIN IT

PIN

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’ );

REMEMBER

WANT TO SAVE THIS RECIPE? CLICK BELOW AND PIN IT

PIN

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’ );

REMEMBER

WANT TO SAVE THIS RECIPE? CLICK BELOW AND PIN IT

PIN

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 );
}

REMEMBER

WANT TO SAVE THIS RECIPE? CLICK BELOW AND PIN IT

PIN

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;
});
};

REMEMBER

WANT TO SAVE THIS RECIPE? CLICK BELOW AND PIN IT

PIN

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

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

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

REMEMBER

WANT TO SAVE THIS RECIPE? CLICK BELOW AND PIN IT

PIN

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();
}
});
}());

REMEMBER

WANT TO SAVE THIS RECIPE? CLICK BELOW AND PIN IT

PIN

(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;
});

REMEMBER

WANT TO SAVE THIS RECIPE? CLICK BELOW AND PIN IT

PIN

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;
}

REMEMBER

WANT TO SAVE THIS RECIPE? CLICK BELOW AND PIN IT

PIN

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();
});

REMEMBER

WANT TO SAVE THIS RECIPE? CLICK BELOW AND PIN IT

PIN

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’ );

REMEMBER

WANT TO SAVE THIS RECIPE? CLICK BELOW AND PIN IT

PIN

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;
}

REMEMBER

WANT TO SAVE THIS RECIPE? CLICK BELOW AND PIN IT

PIN

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;
}
};

REMEMBER

WANT TO SAVE THIS RECIPE? CLICK BELOW AND PIN IT

PIN

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 );
};

REMEMBER

WANT TO SAVE THIS RECIPE? CLICK BELOW AND PIN IT

PIN

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;

REMEMBER

WANT TO SAVE THIS RECIPE? CLICK BELOW AND PIN IT

PIN

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 );

REMEMBER

WANT TO SAVE THIS RECIPE? CLICK BELOW AND PIN IT

PIN

// 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 );
}

REMEMBER

WANT TO SAVE THIS RECIPE? CLICK BELOW AND PIN IT

PIN

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;
}

REMEMBER

WANT TO SAVE THIS RECIPE? CLICK BELOW AND PIN IT

PIN

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;
}

REMEMBER

WANT TO SAVE THIS RECIPE? CLICK BELOW AND PIN IT

PIN

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;

REMEMBER

WANT TO SAVE THIS RECIPE? CLICK BELOW AND PIN IT

PIN

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;
}

REMEMBER

WANT TO SAVE THIS RECIPE? CLICK BELOW AND PIN IT

PIN

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
crispy chicken ranch snack wrap
Next Post »
Mediterranean Celery Salad

If you enjoyed this…

Pistachio Butter Cinnamon Rolls

Pistachio Butter Cinnamon Rolls

Candy Corn Rice Krispie Treats

Candy Corn Rice Krispie Treats

Back-to-school turkey pinwheels

Back-to-school turkey pinwheels

Reader Interactions

Leave a Comment Cancel reply

Helpful comments include feedback on the post or changes you made.

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

Primary Sidebar

Browse by Diet

HealthyBudgetKetoQuickVeganCheat Meal
Chipotle Chicken Bowl with Black Beans, Corn, & Creamy Sauce

Chipotle Chicken Bowl with Black Beans, Corn, & Creamy Sauce

Apple and Cranberry Grilled Cheese

Apple and Cranberry Grilled Cheese

Creamy, Spicy Chicken Pasta with Summer Vegetables

Creamy, Spicy Chicken Pasta with Summer Vegetables

  • Disclaimer
  • Terms and Conditions
  • Privacy Policy
  • Contact
  • About
  • Recipe Index

© 2026 · © Week Meal Ideas · All Rights Reserved · Created by Alex ·