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

Simple Daily Eats

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

Simple Daily Eats

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

Garlic Butter Chicken Bites with Creamy Parmesan Pasta: An Incredible 7-Step Recipe

Jump to Recipe·Print Recipe

If you’re looking for a comforting and delicious meal that brings everyone together, you’ve come to the right place! Garlic Butter Chicken Bites with Creamy Parmesan Pasta: An Incredible 7-Step Recipe is one of those dishes I can whip up on busy weeknights or serve at family gatherings. The combination of tender chicken bites infused with rich garlic butter, paired with creamy pasta, is simply irresistible. It’s a recipe that’s become a favorite in my home, and I can’t wait to share it with you!

Garlic Butter Chicken Bites with Creamy Parmesan Pasta: An Incredible 7-Step Recipe image 2

With just a few simple steps, you can create a dish that’s not only satisfying but also packed with flavor. Whether you’re feeding the kids after school or impressing guests at dinner, this recipe is sure to become a staple in your kitchen.

Garlic Butter Chicken Bites with Creamy Parmesan Pasta: An Incredible 7-Step Recipe image 3
Garlic Butter Chicken Bites with Creamy Parmesan Pasta: An Incredible 7-Step Recipe image 4

Why You’ll Love This Recipe

  • Quick Preparation: You can have this meal ready in under 30 minutes—perfect for those hectic evenings.
  • Family-Friendly Flavor: With its creamy sauce and tender chicken, it’s a hit among both kids and adults alike.
  • Versatile Ingredients: Simple and wholesome components make this recipe easy to adapt based on what you have at home.
  • Comfort Food Delight: It’s the ultimate cozy dish that wraps you in warmth and satisfaction.
  • Meal Prep Friendly: Make extra for lunches or dinners throughout the week—it’s just as delicious reheated!

Ingredients You’ll Need

Creating Garlic Butter Chicken Bites with Creamy Parmesan Pasta is all about using straightforward, wholesome ingredients that pack a punch of flavor. Here’s what you’ll need to gather:

For the Chicken Bites

  • 1 lb boneless, skinless chicken breasts, cut into bite-sized pieces
  • 4 tablespoons unsalted butter
  • 4 cloves garlic, minced
  • 1 teaspoon Italian seasoning
  • ½ teaspoon red pepper flakes (optional)
  • Salt and pepper, to taste

For the Pasta

  • 8 oz fettuccine or pasta of your choice
  • 1 cup heavy cream
  • 1 cup grated Parmesan cheese
  • Fresh parsley, chopped (for garnish)

Variations

One of the best things about this recipe is its flexibility! You can easily customize it to suit your tastes or dietary preferences. Here are some fun ideas:

  • Swap the protein: Try using shrimp or tofu instead of chicken for a different twist!
  • Make it lighter: Substitute half-and-half for heavy cream to reduce calories while maintaining creaminess.
  • Add veggies: Toss in some spinach, broccoli, or bell peppers for extra nutrition and color.
  • Try different cheeses: Experiment with mozzarella or goat cheese if you’re feeling adventurous!

How to Make Garlic Butter Chicken Bites with Creamy Parmesan Pasta: An Incredible 7-Step Recipe

Step 1: Cook the Pasta

Start by boiling a large pot of salted water. This step is essential because it enhances the pasta’s flavor. Add your fettuccine and cook according to package instructions until al dente. Drain it well and set aside so it’s ready when you need it!

Step 2: Prepare Chicken Bites

While your pasta cooks, season your bite-sized chicken pieces with salt, pepper, and Italian seasoning. This gives them great flavor right from the start.

Step 3: Sauté Chicken

In a large skillet over medium heat, melt 2 tablespoons of butter. Once melted, add your seasoned chicken bites. Cook them until they turn golden brown and are cooked through—around 5-7 minutes. Removing them from the skillet keeps them juicy while you make the sauce.

Step 4: Make Garlic Butter

Using the same skillet ensures all those lovely flavors stay intact! Add the remaining butter along with minced garlic. Sauté for about 1-2 minutes until fragrant—be careful not to burn the garlic as it can turn bitter.

Step 5: Add Cream

Pour in the heavy cream and bring it to a gentle simmer. Stir frequently for about 3 minutes; this helps create that luxurious creamy base for your pasta.

Step 6: Incorporate Cheese

Gradually whisk in grated Parmesan cheese until it’s melted and smooth. Don’t forget to taste as you go; season with more salt, pepper, and red pepper flakes if you’d like a little kick!

Step 7: Combine Everything

Return your cooked chicken to the skillet along with drained pasta. Toss everything together until every piece is well-coated in that dreamy creamy sauce. This final step brings all those flavors together beautifully!

And there you have it—a delightful dish filled with flavor and comfort that will surely become one of your favorites! Enjoy every bite!

Pro Tips for Making Garlic Butter Chicken Bites with Creamy Parmesan Pasta: An Incredible 7-Step Recipe

Creating this delightful dish can be even easier with a few helpful tips!

  • Use Fresh Ingredients: Fresh garlic and high-quality Parmesan cheese make a significant difference in flavor, ensuring your dish is rich and delicious.
  • Don’t Overcook the Chicken: Aim for golden brown chicken bites that are juicy on the inside. Overcooking can make them dry and less enjoyable.
  • Adjust the Creaminess: If you prefer a lighter sauce, feel free to reduce the amount of heavy cream or replace it with half-and-half for a healthier option.
  • Customize Your Pasta: While fettuccine is a classic choice, feel free to experiment with whole wheat or gluten-free pasta to suit your dietary preferences.
  • Save Some Pasta Water: Reserve a cup of pasta cooking water before draining. You can add it to the sauce if you need to loosen it up later.

How to Serve Garlic Butter Chicken Bites with Creamy Parmesan Pasta: An Incredible 7-Step Recipe

Presenting your Garlic Butter Chicken Bites with Creamy Parmesan Pasta beautifully can enhance the dining experience. Here are some ideas to elevate your serving game.

Garnishes

  • Fresh Parsley: A sprinkle of chopped fresh parsley adds not only color but also a refreshing taste that balances the richness of the dish.
  • Lemon Zest: A light grating of lemon zest on top brings brightness and enhances the flavors in the creamy sauce.

Side Dishes

  • Garlic Bread: Perfect for soaking up any leftover creamy sauce, garlic bread complements the flavors beautifully while adding extra comfort.
  • Steamed Broccoli: A healthy green side that provides crunch and nutrition, steamed broccoli pairs well visually and texturally with this dish.
  • Caesar Salad: Crisp romaine lettuce, croutons, and Caesar dressing create a refreshing contrast to the creamy pasta, making it an ideal accompaniment.
  • Roasted Vegetables: Seasonal roasted vegetables add depth and color to your plate while providing additional nutrients without overpowering the main dish.

Make Ahead and Storage

This Garlic Butter Chicken Bites with Creamy Parmesan Pasta recipe is perfect for meal prep, making it easy to enjoy throughout the week.

Storing Leftovers

  • Store leftovers in an airtight container in the refrigerator.
  • Consume within 3-4 days for optimal freshness and flavor.

Freezing

  • Allow the dish to cool completely before freezing.
  • Transfer to a freezer-safe container or bag, removing as much air as possible.
  • Freeze for up to 2 months.

Reheating

  • Thaw overnight in the refrigerator if frozen.
  • Reheat on the stovetop over low heat, adding a splash of cream or broth if needed to loosen the sauce.
  • Stir occasionally until heated through.

FAQs

Here are some common questions about this recipe.

Can I make Garlic Butter Chicken Bites with Creamy Parmesan Pasta ahead of time?

Absolutely! You can prepare the chicken and sauce in advance and store them separately from the pasta until you’re ready to serve.

What can I substitute for heavy cream in Garlic Butter Chicken Bites with Creamy Parmesan Pasta: An Incredible 7-Step Recipe?

You can use half-and-half or a dairy-free alternative like coconut cream for a lighter option, though it may slightly alter the flavor.

Can I use different types of pasta for this recipe?

Yes! Feel free to substitute fettuccine with your favorite pasta shape such as penne, spaghetti, or gluten-free options.

How do I make this dish spicy?

To add heat, you can increase the amount of red pepper flakes or add some diced jalapeños while cooking the chicken.

Can I use chicken thighs instead of breasts?

Certainly! Chicken thighs will provide a richer flavor and remain juicy during cooking. Just adjust cooking times accordingly.

Final Thoughts

This Garlic Butter Chicken Bites with Creamy Parmesan Pasta recipe is not only delicious but also incredibly comforting. I hope you enjoy making it as much as I do! It’s perfect for gatherings or cozy dinners at home. Please give it a try, and share your experience—I’d love to hear how it turns out!

Print

Garlic Butter Chicken Bites with Creamy Parmesan Pasta

Print Recipe

5 Stars 4 Stars 3 Stars 2 Stars 1 Star

No reviews

Garlic Butter Chicken Bites with Creamy Parmesan Pasta is a delightful dish that combines tender chicken infused with rich garlic butter and creamy pasta, making it a perfect choice for busy weeknights or family gatherings. Ready in under 30 minutes, this recipe is not only quick but also incredibly satisfying, appealing to both kids and adults alike. With its versatile ingredients, you can easily customize it to suit your taste preferences. Whether you’re looking for a comforting meal after a long day or a delicious dish to impress your guests, this Garlic Butter Chicken Bites paired with Creamy Parmesan Pasta will surely become a favorite in your home.

  • Author: Sarah Mitchell
  • Prep Time: 10 minutes
  • Cook Time: 20 minutes
  • Total Time: 30 minutes
  • Yield: Serves 4
  • Category: Main
  • Method: Sautéing
  • Cuisine: Italian

Ingredients


Scale

  • 1 lb boneless, skinless chicken breasts, cut into bite-sized pieces
  • 4 tablespoons unsalted butter
  • 4 cloves garlic, minced
  • 1 teaspoon Italian seasoning
  • ½ teaspoon red pepper flakes (optional)
  • Salt and pepper, to taste
  • 8 oz fettuccine or pasta of your choice
  • 1 cup heavy cream
  • 1 cup grated Parmesan cheese
  • Fresh parsley, chopped (for garnish)

Instructions

  1. Cook the pasta according to package instructions until al dente. Drain and set aside.
  2. Season the chicken with salt, pepper, and Italian seasoning.
  3. In a skillet over medium heat, melt 2 tablespoons of butter and sauté the chicken until golden brown and cooked through (5-7 minutes). Remove from skillet.
  4. In the same skillet, add remaining butter and minced garlic; sauté until fragrant (1-2 minutes).
  5. Pour in heavy cream and let simmer for about 3 minutes.
  6. Gradually whisk in Parmesan cheese until melted and smooth. Adjust seasoning as desired.
  7. Combine cooked chicken and drained pasta in the skillet, tossing to coat in the creamy sauce.

Nutrition

  • Serving Size: 1 plate (approx. 300g)
  • Calories: 680
  • Sugar: 2g
  • Sodium: 620mg
  • Fat: 34g
  • Saturated Fat: 20g
  • Unsaturated Fat: 10g
  • Trans Fat: 0g
  • Carbohydrates: 57g
  • Fiber: 3g
  • Protein: 42g
  • Cholesterol: 170mg

Did you make this recipe?

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

window.trCommon={“minRating”:6,”ajaxurl”:”https:\/\/www.simpledailyeats.com\/wp-admin\/admin-ajax.php”,”ratingNonce”:”8c4d8e7409″,”postId”:3659};
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
Cilantro Lime Steak Bowls
Next Post »
Cilantro Lime Steak Bowls: A Flavorful Recipe for a Quick Dinner

If you enjoyed this…

Keto Air Fryer Avocado Baked Egg

Keto Air Fryer Avocado Baked Egg

Crispy Smashed Potato Salad

Crispy Smashed Potato Salad

Chicken Florentine Recipe

Chicken Florentine Recipe

Primary Sidebar

Browse by Diet

HealthyBudgetKetoQuickVeganCheat Meal
Chili-Lime Quinoa Black Bean Salad with Corn

Chili-Lime Quinoa Black Bean Salad with Corn

Garlic Butter Beef Bites with Potatoes

Garlic Butter Beef Bites with Potatoes

Mediterranean Bean Salad

Mediterranean Bean Salad

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

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