• 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
Budget / Amish Hamburger Steak Bake

Amish Hamburger Steak Bake

May 18, 2026 by JenniferHayes

Jump to Recipe·Print Recipe

If you’re looking for a comforting meal that wraps you in warmth like a cozy blanket, then the Amish Hamburger Steak Bake is just what you need. This dish brings together juicy hamburger steaks and creamy gravy, making it a go-to for busy weeknights or family gatherings. It’s simple enough to whip up after a long day yet special enough to impress your loved ones during Sunday dinner.

Amish Hamburger Steak Bake image 2

What truly makes this recipe shine is its nostalgia—it’s a classic comfort food that many cherish. With every bite, you’ll be reminded of hearty meals shared around the table, making it perfect for creating new memories with family and friends.

Amish Hamburger Steak Bake image 3
Amish Hamburger Steak Bake image 4

Why You’ll Love This Recipe

  • Easy to prepare: This recipe uses straightforward ingredients and requires minimal prep time, making it perfect for those hectic evenings.
  • Family-friendly: Everyone loves a good hamburger steak! This dish is sure to be a hit with kids and adults alike.
  • Deliciously satisfying: The rich gravy paired with juicy patties brings comfort in every bite, ideal for chilly nights.
  • Make-ahead convenience: You can assemble this bake ahead of time and simply pop it in the oven when you’re ready to eat.
  • Perfect with sides: Serve it alongside mashed potatoes or steamed veggies for a complete meal that feels indulgent yet wholesome.

Ingredients You’ll Need

You’ll find that the ingredients for this Amish Hamburger Steak Bake are simple and wholesome—perfect for bringing out those comforting flavors. Here’s what you’ll need:

For the Hamburger Steaks

  • 2 lbs Ground beef (80/20 blend for best flavor)
  • 1/2 cup Breadcrumbs (Plain or seasoned)
  • 1 Egg (Beaten)
  • 1 Onion (Finely diced)
  • 2 tsp Salt
  • 1 tsp Black pepper

For the Gravy

  • 3 tbsp Butter (Salted or unsalted)
  • 3 tbsp All-purpose flour (For thickening gravy)
  • 2 cups Beef broth (Low sodium preferred)
  • 1 cup Heavy cream
  • 1 Onion (Sliced)
  • 1 tsp Garlic powder

Variations

One of the best things about this recipe is its flexibility! Feel free to customize it according to your tastes or dietary preferences. Here are some fun ideas:

  • Swap the protein: Try using ground turkey or chicken instead of beef for a lighter option that still packs flavor.
  • Make it vegetarian: Use plant-based ground meat alternatives combined with vegetable broth and skip the egg.
  • Add more veggies: Sneak in diced bell peppers or mushrooms into the patties or gravy for extra nutrition.
  • Spice it up: Mix in some hot honey or chili flakes to give your gravy a sweet and spicy twist!

How to Make Amish Hamburger Steak Bake

Step 1: Prepare the Patties

Start by gently mixing together your ground beef, breadcrumbs, beaten egg, diced onion, salt, and pepper in a large bowl. It’s important not to overmix; otherwise, your patties can become tough. Form them into 6–8 oval-shaped patties, allowing them to rest while we whip up that delicious gravy base.

Step 2: Brown the Patties

In an oven-safe skillet, brown each patty on both sides for about 3–4 minutes until they turn golden brown. This step not only adds flavor through caramelization but also helps seal in their juices. Once browned, remove them from the skillet and set aside while we work on the gravy.

Step 3: Sauté Onions and Make Gravy

In the same skillet, add butter and sauté sliced onions until they soften. This brings out their natural sweetness! After about five minutes, stir in flour and cook for another two minutes before whisking in your broth and cream. The mixture should thicken nicely—this creamy goodness is what you’ll nestle those patties into!

Step 4: Bake It All Together

Nestle your browned patties back into the skillet with the gravy. Cover tightly with a lid or foil and bake at 350°F for 45 minutes. Then uncover and bake for an additional 15 minutes to allow everything to meld together beautifully.

Step 5: Rest Before Serving

Remove your skillet from the oven and let it rest for about 10 minutes before serving. This step allows all those delicious flavors to settle—trust me; it’s worth the wait! Now grab some mashed potatoes or crusty bread, and dig into this delightful Amish Hamburger Steak Bake!

Pro Tips for Making Amish Hamburger Steak Bake

Creating the perfect Amish Hamburger Steak Bake is all about attention to detail. Here are some tips to ensure your dish turns out delicious every time!

  • Choose the right ground beef: Using an 80/20 blend of ground beef provides a balance of flavor and moisture, making your hamburger steaks juicy and flavorful.

  • Let the patties rest: Allowing the formed patties to rest for a few minutes before cooking helps them hold their shape better during browning, resulting in a more appealing texture.

  • Don’t skip the onion: Sautéing sliced onions in butter before adding them to the gravy brings out their sweetness, enhancing the overall flavor of the dish.

  • Control the gravy consistency: If your gravy seems too thick after baking, you can whisk in a little more beef broth or cream to reach your desired consistency.

  • Allow to rest before serving: Letting the dish sit for 10 minutes after baking allows the juices to redistribute, ensuring each bite is tender and full of flavor.

How to Serve Amish Hamburger Steak Bake

Serving your Amish Hamburger Steak Bake is just as important as making it! Here are some ideas to present this hearty dish beautifully.

Garnishes

  • Fresh parsley: A sprinkle of chopped fresh parsley adds a pop of color and freshness that brightens up the rich flavors of the gravy.
  • Chopped green onions: Adding sliced green onions on top provides a mild crunch and enhances visual appeal.

Side Dishes

  • Mashed potatoes: Creamy mashed potatoes are a classic pairing that perfectly soak up the savory gravy, making each bite comforting.
  • Steamed green beans: Bright green beans add a fresh crunch and vibrant color, balancing out the richness of the bake.
  • Cornbread: Slightly sweet cornbread complements the savory flavors beautifully and is perfect for mopping up any extra gravy.
  • Coleslaw: A chilled coleslaw offers a nice contrast with its crisp texture and tangy flavor, cutting through the richness of the steak bake.

Make Ahead and Storage

This Amish Hamburger Steak Bake is perfect for meal prep and can be made ahead of time, making weeknight dinners a breeze!

Storing Leftovers

  • Allow the dish to cool completely before storing.
  • Transfer leftovers to an airtight container.
  • Store in the refrigerator for up to 3-4 days.

Freezing

  • Cool the dish completely before freezing.
  • Portion into freezer-safe containers or wrap tightly in aluminum foil.
  • Freeze for up to 3 months. For best quality, consume within 1-2 months.

Reheating

  • Thaw in the refrigerator overnight if frozen.
  • Reheat in the oven at 350°F until heated through (about 20-30 minutes).
  • Alternatively, reheat in the microwave in short intervals, stirring occasionally.

FAQs

Can I use leaner ground beef for Amish Hamburger Steak Bake?

While you can use leaner ground beef, a blend with some fat (like 80/20) enhances flavor and keeps the patties juicy during baking.

How do I enhance the flavor of Amish Hamburger Steak Bake?

To boost flavor, consider adding herbs like thyme or parsley, or even a splash of Worcestershire sauce to the meat mixture or gravy.

Can I substitute ingredients in this Amish Hamburger Steak Bake?

Yes! You can use gluten-free breadcrumbs and dairy-free cream options if desired. Just ensure that substitutes complement each other well.

How long does it take to make Amish Hamburger Steak Bake?

The total time for this recipe is approximately 80 minutes, including preparation and cooking time. It’s a straightforward process that yields delicious results!

Final Thoughts

This Amish Hamburger Steak Bake brings warmth and comfort to your dinner table with its rich flavors and hearty ingredients. I hope you enjoy making this old-fashioned recipe as much as I do! It’s not just about satisfying hunger; it’s about creating memories around shared meals. Happy cooking!

Print

Amish Hamburger Steak Bake

Print Recipe

5 Stars 4 Stars 3 Stars 2 Stars 1 Star

No reviews

Amish Hamburger Steak Bake is the ultimate comfort food that brings warmth and nostalgia to your dining table. This hearty dish combines juicy ground beef patties with a rich, creamy gravy, making it perfect for busy weeknights or family gatherings. With simple ingredients and straightforward preparation, this recipe is an excellent choice for those looking to create lasting memories around the table. Serve it alongside fluffy mashed potatoes or vibrant green vegetables for a wholesome meal that feels indulgent yet satisfying.

  • Author: JenniferHayes
  • Prep Time: 20 minutes
  • Cook Time: 60 minutes
  • Total Time: 1 hour 20 minutes
  • Yield: Serves approximately six people 1x
  • Category: Main
  • Method: Baking
  • Cuisine: American

Ingredients


Scale

  • 2 lbs ground beef (80/20 blend)
  • 1/2 cup breadcrumbs
  • 1 egg (beaten)
  • 1 onion (finely diced)
  • 2 tsp salt
  • 1 tsp black pepper
  • 3 tbsp butter
  • 3 tbsp all-purpose flour
  • 2 cups beef broth
  • 1 cup heavy cream
  • 1 onion (sliced)
  • 1 tsp garlic powder

Instructions

  1. In a large bowl, combine ground beef, breadcrumbs, beaten egg, diced onion, salt, and pepper. Form into 6–8 oval-shaped patties.
  2. In an oven-safe skillet, brown each patty on both sides for 3–4 minutes. Remove and set aside.
  3. In the same skillet, add butter and sauté sliced onions until softened. Stir in flour and cook for another two minutes before whisking in broth and cream until thickened.
  4. Nestle browned patties back into the skillet with gravy. Cover and bake at 350°F for 45 minutes; uncover and bake for an additional 15 minutes.
  5. Let rest for 10 minutes before serving.

Nutrition

  • Serving Size: 1/6 of recipe (approximately 270g)
  • Calories: 540
  • Sugar: 3g
  • Sodium: 800mg
  • Fat: 36g
  • Saturated Fat: 16g
  • Unsaturated Fat: 16g
  • Trans Fat: 0g
  • Carbohydrates: 26g
  • Fiber: 1g
  • Protein: 30g
  • Cholesterol: 120mg

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”:”9580e7095a”,”postId”:3044};
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
Char Siu (Chinese BBQ beef Recipe)
Next Post »
Mediterranean Mezze Tapas Platter – Easy Shareable Appetizer for Parties & Light Meals

If you enjoyed this…

4-ingredient Strawberry Banana Bark

4-ingredient Strawberry Banana Bark

Viral High-Protein Keto Onion Rings Hack (No Breadcrumbs, No Frying!)

Viral High-Protein Keto Onion Rings Hack (No Breadcrumbs, No Frying!)

Green Olive and Feta Cheese Dip

Green Olive and Feta Cheese Dip

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