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

Family Table Ideas

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

Family Table Ideas

  • Home
  • Recipe Index
  • Budget
  • Cheat Meal
  • Healthy
  • Keto
  • Quick
  • Vegan
  • About
  • Contact
Healthy / Dessert / Anti Inflammatory Turmeric Chicken Soup: An Incredible Secret Recipe You’ll Love

Anti Inflammatory Turmeric Chicken Soup: An Incredible Secret Recipe You’ll Love

May 1, 2026 by JenniferHayes

Jump to Recipe·Print Recipe

If you’re looking for a cozy and nourishing meal, you’ve come to the right place! This Anti Inflammatory Turmeric Chicken Soup: An Incredible Secret Recipe You’ll Love is one of those dishes that warms you from the inside out. With its bright golden hue and aromatic spices, this soup is not only delicious but packed with wholesome ingredients that support your well-being. It’s perfect for busy weeknights, comforting family gatherings, or whenever you need a little pick-me-up.

Anti Inflammatory Turmeric Chicken Soup: An Incredible Secret Recipe You’ll Love image 2

The beauty of this recipe lies in its simplicity and flavor. Each spoonful is like a warm hug, making it a go-to favorite across the US and beyond. Plus, it’s incredibly easy to prepare, so you can enjoy a nourishing bowl of soup without spending hours in the kitchen!

Anti Inflammatory Turmeric Chicken Soup: An Incredible Secret Recipe You’ll Love image 3
Anti Inflammatory Turmeric Chicken Soup: An Incredible Secret Recipe You’ll Love image 4

Why You’ll Love This Recipe

  • Quick to Prepare: With just 15 minutes of prep time, you can have a delightful meal ready in no time.
  • Family-Friendly Appeal: This soup is loved by both kids and adults alike, making it an ideal choice for family dinners.
  • Make-Ahead Convenience: You can easily make a big batch for meal prep, saving you time during hectic weeks.
  • Deliciously Flavorful: The combination of turmeric, ginger, and fresh herbs creates a comforting taste that warms the soul.
  • Health Benefits: Packed with anti-inflammatory ingredients, this soup supports your overall wellness while satisfying your hunger.

Ingredients You’ll Need

Creating your Anti Inflammatory Turmeric Chicken Soup is all about simple and wholesome ingredients. Here’s what you’ll need:

  • 1 pound boneless, skinless chicken thighs or breasts
  • 1 tablespoon olive oil
  • 1 medium onion, chopped
  • 3 cloves garlic, minced
  • 1 tablespoon fresh ginger, grated
  • 2 teaspoons ground turmeric
  • 1 teaspoon cumin
  • ½ teaspoon black pepper
  • 6 cups low-sodium chicken broth
  • 2 medium carrots, sliced
  • 2 celery stalks, chopped
  • 1 cup kale or spinach, chopped
  • Salt to taste
  • Fresh lemon juice (optional, for serving)
  • Fresh cilantro, for garnish

Variations

This recipe is wonderfully flexible! Here are some fun ways to switch it up:

  • Swap the protein: You can use chickpeas or tofu instead of chicken for a hearty vegetarian option.
  • Add more veggies: Feel free to toss in any seasonal vegetables you have on hand like bell peppers or zucchini.
  • Spice it up: If you love heat, add a pinch of cayenne pepper or some red pepper flakes for an extra kick.
  • Creamy twist: Stir in some coconut milk at the end for a rich and creamy texture that complements the spices beautifully.

How to Make Anti Inflammatory Turmeric Chicken Soup: An Incredible Secret Recipe You’ll Love

Step 1: Sauté the Onions

In a large pot, heat the olive oil over medium heat until shimmering. Add the chopped onion and sauté for about 3-4 minutes until soft and translucent. This step builds the foundation of flavor in your soup!

Step 2: Add Garlic and Ginger

Stir in the minced garlic and grated ginger, cooking for an additional minute until fragrant. These aromatic ingredients not only enhance flavor but also bring their own health benefits.

Step 3: Incorporate Spices

Add the ground turmeric, cumin, and black pepper to the pot. Stir well to coat the onions with the spices. This is where all those wonderful flavors begin to meld together!

Step 4: Add Chicken

Place the chicken thighs or breasts into the pot and pour in the chicken broth. The broth will infuse all its goodness into the chicken as it cooks.

Step 5: Simmer the Soup

Bring the mixture to a boil. Once boiling, reduce to a simmer and cover. Let it cook for about 30 minutes until the chicken is cooked through. This slow cooking allows all those flavors to deepen.

Step 6: Shred the Chicken

Remove the chicken from the pot and shred it with two forks. Return the shredded chicken to the soup. Shredding ensures each bite is tender and juicy!

Step 7: Include Vegetables

Add sliced carrots and chopped celery to the pot. Cook for an additional 10-15 minutes until vegetables are tender. They add sweetness and crunch to balance out the dish.

Step 8: Add Greens

Stir in chopped kale or spinach and cook for another 3-5 minutes until wilted. These greens provide an extra boost of nutrients!

Step 9: Season and Serve

Taste your soup and add salt as necessary. Serve hot, garnished with fresh cilantro and a squeeze of lemon juice if desired. Enjoy this incredible bowl of goodness that’s as good for your body as it is delicious!

Pro Tips for Making Anti Inflammatory Turmeric Chicken Soup: An Incredible Secret Recipe You’ll Love

Creating the perfect soup can be simple and enjoyable with these helpful tips!

  • Use Fresh Ingredients: Fresh vegetables and herbs enhance the flavor and nutritional value of your soup, making it more vibrant and delicious.

  • Adjust the Spice Level: If you enjoy a little kick, consider adding red pepper flakes or fresh chili to the mix. This not only adds heat but can also boost metabolism.

  • Let it Sit: Allowing your soup to sit for a bit before serving can help meld the flavors together, resulting in a richer taste.

  • Make it Ahead: This soup keeps well in the refrigerator for up to 3 days or freezes beautifully, making it perfect for meal prep.

  • Experiment with Herbs: Try adding fresh herbs like parsley or basil at the end of cooking for an extra burst of freshness.

How to Serve Anti Inflammatory Turmeric Chicken Soup: An Incredible Secret Recipe You’ll Love

Presenting your Anti Inflammatory Turmeric Chicken Soup beautifully can enhance the dining experience. Here are some ideas on how to serve it.

Garnishes

  • Fresh Cilantro: A handful of chopped cilantro not only brightens up the dish but also adds a fresh flavor that complements the spices.
  • Lemon Wedges: Serving lemon wedges allows guests to add a splash of tangy brightness that enhances the overall flavor profile of the soup.
  • Crushed Red Pepper: For those who like a spicy kick, offering crushed red pepper flakes on the side lets everyone customize their bowl.

Side Dishes

  • Quinoa Salad: A light quinoa salad with cucumbers and cherry tomatoes provides a refreshing contrast and boosts fiber intake.
  • Whole Grain Bread: A slice of hearty whole grain bread is perfect for dipping into your soup, adding satisfying texture and flavor.
  • Roasted Vegetables: Seasoned roasted veggies make a delicious and colorful accompaniment that balances the meal while adding more nutrients.
  • Brown Rice: A small serving of brown rice offers additional whole grains and makes for a heartier meal option alongside your soup.

Make Ahead and Storage

This Anti Inflammatory Turmeric Chicken Soup is perfect for meal prep, allowing you to enjoy a warm, nourishing bowl any day of the week.

Storing Leftovers

  • Allow the soup to cool completely before transferring it to an airtight container.
  • Store in the refrigerator for up to 3-5 days.
  • Label containers with the date for easy tracking.

Freezing

  • Portion the soup into freezer-safe containers or bags, leaving some space at the top for expansion.
  • Freeze for up to 2-3 months.
  • For best results, use within one month.

Reheating

  • Thaw frozen soup overnight in the refrigerator before reheating.
  • Heat on the stovetop over medium heat until warmed through, stirring occasionally.
  • Alternatively, microwave in a microwave-safe bowl, stirring every minute until heated evenly.

FAQs

Can I make Anti Inflammatory Turmeric Chicken Soup ahead of time?

Yes! This soup is great for meal prep. You can make it in advance and store leftovers in the fridge or freezer for quick meals later.

What are the health benefits of Anti Inflammatory Turmeric Chicken Soup?

The turmeric in this soup has potent anti-inflammatory properties, while chicken provides protein. Together with vegetables, they create a nourishing dish that supports overall health.

Can I substitute other ingredients in Anti Inflammatory Turmeric Chicken Soup?

Absolutely! Feel free to swap chicken for tofu or chickpeas and use any greens you have on hand. Just keep in mind that cooking times may vary slightly with different ingredients.

How long does Anti Inflammatory Turmeric Chicken Soup last in the fridge?

When stored properly in an airtight container, this soup can last 3-5 days in the refrigerator.

Final Thoughts

I hope you find joy in making this Anti Inflammatory Turmeric Chicken Soup! It’s not just a recipe but a heartwarming dish that brings comfort and nourishment. Enjoy every spoonful knowing you’re treating your body well. Happy cooking!

Print

Anti Inflammatory Turmeric Chicken Soup

Print Recipe

5 Stars 4 Stars 3 Stars 2 Stars 1 Star

No reviews

If you’re craving a comforting and nourishing meal, this Anti Inflammatory Turmeric Chicken Soup is the perfect choice. Its vibrant golden color and aromatic spices not only delight the senses but also pack a punch of health benefits. This soup is incredibly easy to prepare, making it ideal for busy weeknights or family gatherings. With its combination of anti-inflammatory ingredients like turmeric and ginger, it’s a delicious way to support your wellness while satisfying your hunger. Whether you’re looking for a cozy dinner or meal prep option, this recipe will warm you from the inside out!

  • Author: JenniferHayes
  • Prep Time: 15 minutes
  • Cook Time: 45 minutes
  • Total Time: 1 hour
  • Yield: Serves approximately 4 people 1x
  • Category: Soup
  • Method: Stovetop
  • Cuisine: American

Ingredients


Scale

  • 1 pound boneless, skinless chicken thighs or breasts
  • 1 tablespoon olive oil
  • 1 medium onion, chopped
  • 3 cloves garlic, minced
  • 1 tablespoon fresh ginger, grated
  • 2 teaspoons ground turmeric
  • 1 teaspoon cumin
  • ½ teaspoon black pepper
  • 6 cups low-sodium chicken broth
  • 2 medium carrots, sliced
  • 2 celery stalks, chopped
  • 1 cup kale or spinach, chopped
  • Salt to taste
  • Fresh lemon juice (optional, for serving)
  • Fresh cilantro, for garnish

Instructions

  1. In a large pot, heat olive oil over medium heat. Sauté the chopped onion until soft.
  2. Add garlic and ginger; cook until fragrant.
  3. Stir in turmeric and mix well with onions.
  4. Add chicken and pour in the broth; bring to a boil then reduce to simmer.
  5. Cook for about 30 minutes until chicken is fully cooked; shred chicken.
  6. Add carrots and celery; cook until tender.
  7. Stir in greens and cook until wilted.
  8. Season with salt and serve garnished with cilantro.

Nutrition

  • Serving Size: 1 bowl (about 300g)
  • Calories: 330
  • Sugar: 4g
  • Sodium: 450mg
  • Fat: 10g
  • Saturated Fat: 1g
  • Unsaturated Fat: 8g
  • Trans Fat: 0g
  • Carbohydrates: 30g
  • Fiber: 5g
  • Protein: 36g
  • Cholesterol: 90mg

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.familytableideas.com\/wp-admin\/admin-ajax.php”,”ratingNonce”:”80ae28c2b5″,”postId”:2403};
window.TastyRecipes = window.TastyRecipes || {};

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

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

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

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

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

(function(){

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

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

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

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

window.tastyRecipesUpdatePrintLink = () => {

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

if ( ! printButton ) {
return;
}

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

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

let unit = ”;
let scale = ”;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

failure( xhr );
};

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

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

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

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

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

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

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

if ( ! data.count ) {
return;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

« Previous Post
Iced Mango Matcha Latte Recipe for a Refreshing Summer Drink
Next Post »
Steakhouse Potato Salad

If you enjoyed this…

Blueberry Cinnamon Rolls

Blueberry Cinnamon Rolls

Strawberry Pretzel Jello Salad

Strawberry Pretzel Jello Salad

Easy Lemon Orzo Salad with Feta

Easy Lemon Orzo Salad with Feta

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
  • About
  • Contact
  • Disclaimer
  • Homepage
  • Privacy Policy
  • Recipe Index
  • Terms and Conditions

© 2026 Family Table Ideas · All Rights Reserved · Created with heart by Jennifer Hayes · About · Privacy Policy · Terms & Conditions · Disclaimer · Affiliate Disclosure · Contact