• 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 / Breakfast / Easy Cottage Cheese Egg Bake

Easy Cottage Cheese Egg Bake

March 25, 2026 by JenniferHayes

Jump to Recipe·Print Recipe

If you’re looking for a delicious and satisfying breakfast that’s perfect for any occasion, my Easy Cottage Cheese Egg Bake is just what you need! This delightful dish is not only packed with protein but also brimming with colorful veggies and savory chicken sausage. Whether you’re hosting a brunch for friends or need something quick and nourishing for your family during busy mornings, this recipe will quickly become a favorite.

Easy Cottage Cheese Egg Bake image 2

What I love most about this bake is its versatility. You can whip it up over the weekend, pop it in the fridge, and enjoy hearty slices throughout the week. It’s also a hit with kids and adults alike — who doesn’t love a fluffy egg bake?

Easy Cottage Cheese Egg Bake image 3
Easy Cottage Cheese Egg Bake image 4

Why You’ll Love This Recipe

  • Quick and easy prep: With just a few simple steps, you can have this dish ready to bake in no time!
  • Customizable flavors: Feel free to mix in your favorite vegetables or cheeses for a personal touch.
  • Meal-prep friendly: Make it ahead of time for quick breakfasts all week long.
  • Packed with protein: Each serving offers a hearty dose of protein to keep you energized.
  • Family-friendly: Perfect for feeding a crowd or enjoying as leftovers!

Ingredients You’ll Need

This Easy Cottage Cheese Egg Bake uses simple, wholesome ingredients that you might already have on hand. Let’s gather everything we need to create this delicious dish!

For the Base:

  • 2 Tablespoons Olive Oil
  • 3/4 Cup Red Bell Pepper
  • 3/4 Cup Green Bell Pepper
  • 1 Cup Yellow Onion, diced
  • 2 cloves Garlic, minced
  • 2 Cups Baby Spinach
  • 12 ounces Chicken Sausage
  • 12 Eggs
  • 16 ounces Cottage Cheese
  • ½ Cup Milk
  • â…“ Cup All Purpose Flour
  • ½ teaspoon Kosher Salt
  • ¼ teaspoon Black Pepper
  • 1 ½ Cups Shredded Cheddar Cheese, divided

Variations

One of the best things about this recipe is how flexible it is! You can easily adapt it to suit your taste preferences or dietary needs.

  • Swap the protein: Use turkey sausage or even diced tofu for a vegetarian option.
  • Change up the veggies: Add mushrooms, zucchini, or kale to mix things up.
  • Try different cheeses: Swap cheddar for feta or mozzarella for a different flavor profile.
  • Make it spicy: Toss in some jalapeños or hot sauce if you’re looking to add some heat!

How to Make Easy Cottage Cheese Egg Bake

Step 1: Preheat the Oven

Start by preheating your oven to 350°F. This ensures that your egg bake will cook evenly when you pop it in later.

Step 2: Sauté the Veggies

Add the olive oil to a large skillet over medium heat. Once it’s hot, toss in the red and green bell peppers along with the onion. Sauté them for about 5-7 minutes until softened. This step brings out their natural sweetness and builds flavor!

Step 3: Add Garlic and Spinach

Next, stir in the minced garlic and baby spinach. Continue cooking while stirring for another 2-3 minutes until the spinach wilts down. The vibrant colors are not only beautiful but also packed with nutrients!

Step 4: Cool Down the Mixture

Transfer your sautéed veggies into a bowl or plate and let them cool while you prepare the chicken sausage.

Step 5: Cook the Chicken Sausage

In the same skillet, add your chicken sausage and cook until browned. If you’re using links, break them into smaller pieces as they cook. This adds hearty texture to your casserole.

Step 6: Combine Everything

Once cooked through, combine the sausage with your cooled vegetable mixture. Now it’s time to prepare the egg mixture!

Step 7: Whisk Together Eggs and More

In a large mixing bowl, crack open all twelve eggs and whisk them until well blended. Then add in cottage cheese, milk, flour, salt, and pepper. Stir it all together until combined — this creates that fluffy texture we love in an egg bake!

Step 8: Mix In Veggies and Sausage

Gently fold in your veggie-sausage mixture along with one cup of shredded cheddar cheese into your egg blend. This is where all those flavors come together beautifully.

Step 9: Pour Into Baking Dish

Pour this colorful mixture into your prepared baking dish and sprinkle on the remaining cheese on top.

Step 10: Bake It Up!

Cover with aluminum foil and bake for 30 minutes. After that time has passed, remove the foil and continue baking uncovered for another 20-25 minutes until golden brown on top. The aroma wafting through your kitchen will be irresistible!

Pro Tips for Making Easy Cottage Cheese Egg Bake

To ensure your Easy Cottage Cheese Egg Bake turns out perfectly every time, keep these helpful tips in mind!

  • Prep Ahead: Prepare the vegetable and sausage mixture the night before to save time on the day of serving. This allows the flavors to meld and makes assembly quicker.

  • Use Fresh Ingredients: Opt for fresh vegetables and high-quality chicken sausage for the best flavor and texture. Fresh ingredients make a noticeable difference in taste.

  • Let It Rest: After baking, allow the casserole to rest for about 10 minutes before slicing. This helps it set up nicely and makes serving easier.

  • Customize Your Fillings: Feel free to swap in your favorite veggies or proteins based on what you have on hand. This recipe is versatile, so get creative!

  • Check Doneness: Use a toothpick or knife to check if the center is set before removing it from the oven. The eggs should be fully cooked but not overdone.

How to Serve Easy Cottage Cheese Egg Bake

Serving your Easy Cottage Cheese Egg Bake can be as delightful as making it! Here are some ideas to present this dish beautifully.

Garnishes

  • Chopped Fresh Herbs: Sprinkle chopped parsley or chives on top for a burst of color and freshness.
  • Sliced Avocado: Add a few slices of creamy avocado on the side for richness that complements the dish well.
  • Hot Sauce: Provide a small bottle of hot sauce for guests who enjoy an extra kick of flavor.

Side Dishes

  • Mixed Green Salad: A light salad with a tangy vinaigrette balances the hearty egg bake perfectly and adds freshness.
  • Fruit Salad: A refreshing fruit salad with seasonal fruits can bring sweetness and contrast to the savory casserole.
  • Whole Grain Toast: Offer slices of whole grain toast for those who want something crunchy alongside their meal.
  • Yogurt Parfait: Serve individual yogurt parfaits layered with granola and berries for a wholesome addition that enhances breakfast.

Make Ahead and Storage

This Easy Cottage Cheese Egg Bake is perfect for meal prep, allowing you to enjoy a delicious breakfast throughout the week without any hassle.

Storing Leftovers

  • Allow the egg bake to cool completely before storing.
  • Transfer leftovers to an airtight container.
  • Refrigerate for up to 4 days.

Freezing

  • Cut the egg bake into individual portions.
  • Wrap each portion tightly in plastic wrap, then place in a freezer-safe bag or container.
  • Freeze for up to 3 months for best quality.

Reheating

  • Thaw overnight in the refrigerator if frozen.
  • Reheat in the microwave on medium power until heated through, about 1-2 minutes per portion.
  • Alternatively, reheat in an oven at 350°F (175°C) until warmed throughout.

FAQs

Here are some common questions about the Easy Cottage Cheese Egg Bake.

Can I use different vegetables in the Easy Cottage Cheese Egg Bake?

Absolutely! Feel free to swap out the bell peppers and spinach with your favorite veggies such as zucchini, broccoli, or mushrooms. The versatility of this recipe makes it easy to customize!

How long can I store leftovers of the Easy Cottage Cheese Egg Bake?

Leftovers can be stored in an airtight container in the refrigerator for up to 4 days. For longer storage, consider freezing individual portions.

Can I make this egg bake without chicken sausage?

Yes! You can omit the chicken sausage or replace it with a plant-based sausage or simply load up on more veggies for a delightful vegetarian version.

Is this recipe suitable for meal prep?

Definitely! This Easy Cottage Cheese Egg Bake is great for meal prep. You can prepare it ahead of time and enjoy hearty breakfasts throughout the week.

Final Thoughts

This Easy Cottage Cheese Egg Bake is not just a simple dish; it’s a heartwarming way to start your day with family and friends. It’s filled with wholesome ingredients that nourish your body and bring joy to your table. I hope you enjoy making this recipe as much as I do—it’s sure to become a favorite in your home! Happy cooking!

Print

Easy Cottage Cheese Egg Bake

Print Recipe

5 Stars 4 Stars 3 Stars 2 Stars 1 Star

No reviews

If you’re seeking a delightful and nourishing breakfast option, the Easy Cottage Cheese Egg Bake is your answer. Bursting with flavors from fresh vegetables and savory chicken sausage, this dish is not only high in protein but also versatile enough to suit any palate. Perfect for brunch gatherings or busy weekday mornings, you can prepare it ahead of time and enjoy hearty slices throughout the week. Whether you’re serving a crowd or simply indulging yourself, this fluffy egg bake will quickly become a family favorite!

  • Author: JenniferHayes
  • Prep Time: 20 minutes
  • Cook Time: 55 minutes
  • Total Time: 1 hour 15 minutes
  • Yield: Serves approximately 8
  • Category: Breakfast
  • Method: Baking
  • Cuisine: American

Ingredients


Scale

  • 2 tablespoons olive oil
  • 3/4 cup red bell pepper, diced
  • 3/4 cup green bell pepper, diced
  • 1 cup yellow onion, diced
  • 2 cloves garlic, minced
  • 2 cups baby spinach
  • 12 ounces chicken sausage, cooked and crumbled
  • 12 large eggs
  • 16 ounces cottage cheese
  • 1/2 cup milk
  • 1/3 cup all-purpose flour
  • 1/2 teaspoon kosher salt
  • 1/4 teaspoon black pepper
  • 1 1/2 cups shredded cheddar cheese

Instructions

  1. Preheat oven to 350°F (175°C).
  2. Heat olive oil in a skillet over medium heat; sauté red and green bell peppers and onion for about 5-7 minutes until softened.
  3. Stir in garlic and spinach; cook for an additional 2-3 minutes until spinach wilts.
  4. Cool the veggie mixture before adding cooked chicken sausage.
  5. In a bowl, whisk together eggs, cottage cheese, milk, flour, salt, and pepper until combined.
  6. Fold in the veggie-sausage mixture and one cup of cheddar cheese.
  7. Pour into a baking dish; sprinkle remaining cheese on top.
  8. Cover with foil and bake for 30 minutes; uncover and bake for another 20-25 minutes until golden brown.

Nutrition

  • Serving Size: 1 serving
  • Calories: 280
  • Sugar: 3g
  • Sodium: 600mg
  • Fat: 15g
  • Saturated Fat: 6g
  • Unsaturated Fat: 9g
  • Trans Fat: 0g
  • Carbohydrates: 18g
  • Fiber: 2g
  • Protein: 22g
  • Cholesterol: 320mg

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”:”94b4840d20″,”postId”:968};
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
Easy High Protein No-Bake Cheesecake Cups
Next Post »
Best High Protein White Chicken Chili Recipe for Healthy Eating

If you enjoyed this…

Delicious Fig, Prosciutto, and Goat Cheese Pinwheels Recipe

Delicious Fig, turkey slices, and Goat Cheese Pinwheels Recipe

Mandarin Orange Salad

Mandarin Orange Salad

Sugar Free Yogurt Cake

Sugar Free Yogurt Cake

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

Powered by
►
Necessary cookies enable essential site features like secure log-ins and consent preference adjustments. They do not store personal data.
None
►
Functional cookies support features like content sharing on social media, collecting feedback, and enabling third-party tools.
None
►
Analytical cookies track visitor interactions, providing insights on metrics like visitor count, bounce rate, and traffic sources.
None
►
Advertisement cookies deliver personalized ads based on your previous visits and analyze the effectiveness of ad campaigns.
None
►
Unclassified cookies are cookies that we are in the process of classifying, together with the providers of individual cookies.
None
Powered by