Chicken Parmesan Casserole is by far one of the most popular (and simple) recipes on Thriving Home. Shredded chicken, flavorful marinara sauce , mozzarella and Parmesan cheeses, and a crunchy breadcrumb topping make up this quick and comforting casserole . Enjoy “as is” or serve over pasta.
5 Reasons to Make This Recipe Tonight
If you’re short on time, new to cooking, feeding picky eaters, or just tired at the end of the day, we created this recipe for you. Here’s why it’s our most popular casserole…
Only 6 main ingredients : So simple! You probably have most ingredients on hand. Plus it’s a great way to use up leftover rotisserie chicken .
Fast: Takes 35 minutes to make from start to finish.
Kid-friendly : People of all ages like this casserole. Just check out the comments.
Freezer-friendly: We give you freezer meal instructions so that it will come out tasting like a fresh meal, just like we do in all our freezer meals . So double your batch and freeze one for later.
Healthy: Serve alongside some whole grain pasta or brown rice and a salad or veggie, and you’ve got a well-rounded, nutritious meal.
Key Ingredients
Like I mentioned, a perk of this recipe is the simplicity of the ingredients–only 6 main ones! I bet you have most of these on hand:
Cooked Chicken – Use rotisserie chicken as a shortcut or I included directions for how to cook your chicken ahead of time in the Cooking Notes. You could also use leftover chicken strips!
Marinara sauce – You can make your own marinara sauce or use store bought. Choose the brand with the most recognizable ingredients. We recommend Newman’s Own or Rao’s brands.
Shredded Mozzarella cheese – Like our Baked Chicken Parmesan and Chicken Parmesan Sandwich , this cheese adds Italian comfort factor.
Shredded Parmesan cheese – Another mandatory staple of Chicken Parmesan. Grated Parmesan will work, too.
Panko or whole wheat bread crumbs – Panko breadcrumbs will give it a great texture on top. You can also use regular homemade breadcrumbs or gluten-free breadcrumbs too.
Fresh herbs – Fresh parsley or basil adds some additional flavor and color. You can substitute dried herbs from your pantry.
Note: Find our full printable recipe with ingredient amounts and directions at the bottom of this post.
Reader Tip: Add Pasta
Several of our readers have said they add cooked pasta, such as rotini or penne pasta, as the bottom layer of the casserole with success.
We would suggest cooking pasta just until it’s al dente, so it doesn’t get too soft after baking. Also, make sure it gets coated in the marinara sauce so it doesn’t dry out.
Make It a Freezer Meal
As with many of our freezer-friendly recipes , this one freezes wonderfully. A valuable use of your time in the kitchen is to double this recipe and a freeze an 8×8 dish for another dinner.
To Freeze: Simply assemble the casserole (with cooked chicken), do NOT bake, and then freeze it in an airtight freezer container.
To Prepare From Frozen: When you want to make it, thaw and bake it according to the recipe instructions
How to Serve Chicken Parmesan Casserole
I almost always serve this casserole over cooked pasta . You could use penne, linguine, rotini, or really any type of noodle you have on hand. Chicken Parmesan Casserole can also be served over cooked brown rice . Lastly, it’s delicious if simply served by itself !
For a well-rounded meal, serve it with one of these delicious side dishes :
Garlic Green Beans
Side salad topped with Honey Dijon Dressing
Oven Roasted Broccoli
Autumn Salad with Apple Cider Vinaigrette
Cheesy Pesto Bread or Texas Toast
FAQs
Can I use different types of cheese? While mozzarella and Parmesan are the classic cheeses used in Chicken Parmesan, feel free to use other types. Try shredded Italian blend, asiago, or provolone in place of the mozzarella and grated Romano or even crumbled feta cheese in place of the Parmesan. Can I use raw chicken instead of pre-cooked chicken in the casserole? I have tested the casserole with raw chicken and it will get cooked through in about 20-30 minutes (be that a meat thermometer registers 165°F when inserted in the chicken). However, I’ve found that raw chicken releases a lot of liquid and can leave an unappetizing film behind in the dish. So, I recommend using fully cooked chicken instead. Can I add pasta to this casserole? Yes, several of our readers have said they add cooked pasta, such as rotini or penne pasta, as the bottom layer of the casserole with success. We would suggest cooking pasta just until it’s al dente, so it doesn’t get too soft after baking. Also, make sure it gets coated in the marinara sauce so it doesn’t dry out. Is Chicken Parmesan Casserole freezer-friendly? Yes, you can freeze Chicken Parmesan Casserole. After prepping the casserole but before baking, wrap the dish in several layers of plastic wrap or foil, pressing out as much air as possible. Freeze for up to 3 months. Can I make this gluten free? Yes, this casserole can be made gluten free by simply using gluten free breadcrumbs .
More Chicken Casseroles to Try
If you like this casserole, you’re sure to love some of these other favorite chicken casseroles:
Cheesy Chicken and Rice Casserole
Chicken Fajita Casserole
Chicken and Stuffing Casserole (or Turkey Stuffing Casserole )
Chicken Spaghetti
Cheesy Chicken Enchiladas
Be sure to check out our Top 15+ Chicken Freezer Meals , too. Every recipe can be made fresh or from frozen.
Did you make this? Snap a photo and tag us on Instagram at @thrivinghome so we can see your creations and cheer you on!
★ ★ ★ ★ ★
4.6 from 60 reviews
Chicken Parmesan Casserole
This family favorite is super easy to make, made with real food ingredients, and also freezer friendly.
Yield: 4-6 servings
Prep: 20 mins Cook: 25 mins Total: 45 mins
Print Recipe
Rate
Pin for Later
Email
Units:
US M
Ingredients
4 cups (about 1 1/2 pounds) fully-cooked chicken, shredded or cubed (see Cooking Notes)
3 cups marinara sauce (or one 24-ounce jar)
1/2 cup shredded or grated Parmesan cheese
1 1/2 cups shredded mozzarella cheese
1 cup Panko or regular bread crumbs (sub: gluten free bread crumbs )
1 – 2 tablespoons olive oil
2 – 4 tablespoons chopped fresh parsley (or 1 tablespoon dried parsley)
Salt and pepper, to taste
Cook Mode
Prevent your screen from going dark
Before You Begin! If you make this, please leave a review and rating letting us know how you liked this recipe! This helps our business thrive & continue providing free recipes.
Instructions
Make It Now:
Preheat oven to 350°F. Grease an 8×8 inch casserole dish with cooking spray.
Layer the fully-cooked chicken in the bottom. Dump in the marinara sauce and mix with the chicken. Next, top with both cheeses until all the chicken is covered.
In a small bowl, stir together the breadcrumbs, olive oil, fresh parsley, and a pinch of salt and pepper.
Sprinkle the seasoned breadcrumbs over the top. (Freezing instructions begin here.)
Bake for about 20-25 minutes or until golden on top and bubbling on the sides. If you want it a little more browned on top, turn on the broiler for 1-2 minutes (watch closely so it doesn’t burn!). Serve “as is” or over your favorite cooked pasta or rice.
Freeze For Later: Follow Steps 1-4. Cover the casserole tightly with a few layers of plastic wrap and/or foil, squeezing out as much air as possible. Label and freeze for up to 3 months.
Prepare From Frozen: Thaw in the fridge over night and follow Step 5. Note: If it’s still slightly frozen in the middle, you’ll just have to cook it longer than the recipe calls for or defrost it a bit in the microwave before baking. Cover it with foil if the top gets too brown in the oven.
Notes/Tips
How to Cook the Chicken: For this recipe you can use rotisserie chicken from the store, which is a great short-cut! Or, cook some boneless, skinless chicken breasts using one of these methods until it’s done (165°F internally or no longer pink inside). Be sure to season well with salt and pepper first.
Bake in Oven : Preheat oven to 400°F. Place chicken in a casserole dish or on a rimmed baking sheet. Bake uncovered for about 20-30 minutes, depending on the size of the chicken breasts.
Slow Cooker : Place chicken in slow cooker. Cover and cook on LOW for 2 1/2 to 3 hours. Really! That’s all it takes to get it done, otherwise you’ll overcook and dry it out.
Instant Pot : Place chicken and 1 cup chicken broth or water in a 6 quart Instant Pot. (Note: If using an 8 quart, add an additional 1/2 cup of broth.) Lock and seal the lid. Cook at high pressure for 7 minutes and use a quick release of the pressure when the cook time is up. (Note: It will take 10-15 minutes to come to pressure before the cook time starts.)
Grill : Cut the chicken in half lengthwise so you have thinner pieces (this helps with fast and even cooking). Preheat grill to medium-high heat and clean the grates well. Grill for about 4-5 minutes per side, maybe longer depending on the thickness.
Gluten-Free Version: Use gluten-free bread crumbs . I like to make my own with gluten-free breadcrumbs, because I can’t stand the gummy rice flour ones at the store.
Adding Pasta: Several of our readers have said they add cooked pasta as the bottom layer of the casserole with success. We would suggest cooking pasta just until it’s al dente, so it doesn’t get too soft after baking. Also, make sure it gets coated in the marinara sauce so it doesn’t dry out.
Where We Get Our Chicken: We get our meat from ButcherBox . The chicken is organic and curated from small, trusted farms. We highly recommend this service to source healthy meat–like uncured bacon, wild salmon, and grass-fed beef–and have used it for years ourselves.
(function(){
window.addEventListener( 'message', function( event ){
if ( ( 'https://nutrifox.com' !== event.origin && 'https://nutrifox.test' !== event.origin ) ||
typeof event.data !== 'string' ) {
return;
}
var payload = JSON.parse( event.data );
switch ( payload.event ) {
case 'setHeight':
var iframe = document.getElementById( 'nutrifox-label-' + payload.recipeId );
iframe.style.height = payload.height + 'px';
break;
}
} );
}());
© Author: Rachel Tiemeyer
Cuisine:
American
Method:
Baking
Did you make this?
Snap a photo and tag us on Instagram at @thrivinghome so we can see your creations and cheer you on!
Rate Recipe
Tag Us on Instagram
.tasty-recipes-print-button{background-color:#667;border:none;display:inline-block;padding:.5em 1em;text-decoration:none}body:not(.tasty-recipes-print-view) .tasty-recipes-print-button.tasty-recipes-print-above-card{color:#fff;display:none}body:not(.tasty-recipes-print-view) .tasty-recipes-print-button.tasty-recipes-print-above-card:hover{background-color:#b2b2bb;color:#fff;display:inline-block;padding:.5em 1em;text-decoration:none}.tasty-recipes-image-button-container{display:flex;flex-direction:column;flex-wrap:wrap;float:right;margin-left:10px}body.tasty-recipes-print-view .tasty-recipes-buttons,body.tasty-recipes-print-view .tasty-recipes-cook-mode{display:none}.tasty-recipes-image-button-container .tasty-recipes-buttons{margin-bottom:10px;margin-top:10px}.tasty-recipes-image-button-container .tasty-recipes-button-wrap{box-sizing:border-box;margin-bottom:10px}.tasty-recipes-image-button-container .tasty-recipes-buttons a{background-color:#f9f9f9;border:1px solid #aaa;border-radius:0;color:#aaa;cursor:pointer;display:block;font-size:16px;font-weight:700;line-height:16px;margin-top:0;padding:8px;text-align:center;text-decoration:none;text-transform:uppercase}.tasty-recipes-image-button-container .tasty-recipes-buttons .button:hover{background-color:#aaa;border:1px solid #aaa;color:#fff;opacity:1}.tasty-recipes-image-button-container .tasty-recipes-buttons a:hover{background-color:#979599;text-decoration:none}.tasty-recipes-image-button-container .tasty-recipes-buttons svg{display:none}.tasty-recipes-yield-scale{border:1px solid #979599;border-radius:2px;color:#979599;font-size:.7rem;margin-left:3px;padding:0 4px}.tasty-recipes-units-scale-container{display:flex;flex-wrap:wrap}.tasty-recipes-convert-container{padding:0 1em 1em 0}.tasty-recipes-convert-container .tasty-recipes-convert-label{align-self:center;color:#979599;font-size:.6rem;text-transform:uppercase}.tasty-recipes-convert-container button{background:transparent;border:1px solid #353547;border-radius:2px;color:#353547;letter-spacing:0;margin-left:5px;min-width:34px;padding:2px 4px;text-align:center}.tasty-recipes-convert-container button.tasty-recipes-convert-button-active{background-color:#000;border-color:#000;color:#fff}.tasty-recipes-convert-container button:focus{outline:none}.tasty-recipes-scale-container{display:flex;padding:0 0 1em}.tasty-recipes-scale-container .tasty-recipes-scale-label{align-self:center;color:#979599;font-size:.6rem;text-transform:uppercase}.tasty-recipes-scale-container button{background:transparent;border:1px solid #353547;border-radius:2px;color:#353547;cursor:pointer;letter-spacing:0;margin-left:5px;min-width:34px;padding:2px 4px}.tasty-recipes-scale-container button.tasty-recipes-scale-button-active{background-color:#000;border-color:#000;color:#fff}.tasty-recipes-scale-container button:focus{outline:none}.tasty-recipes-ingredients-header{margin:1em 0}@media only screen and (min-width:520px){.tasty-recipes-ingredients-header{align-items:center;display:flex;flex-wrap:wrap;justify-content:space-between}}.tasty-recipes-ingredients-header .tasty-recipes-ingredients-clipboard-container{align-items:baseline;display:inline-flex}.tasty-recipes-ingredients-header h3{margin:0 10px 10px 0}.tasty-recipes-ingredients-clipboard-container .tasty-recipes-copy-button{background:transparent;border:none;color:#353547;height:24px;padding:0;position:relative;width:24px}.tasty-recipes-ingredients-clipboard-container .tasty-recipes-copy-button:hover{opacity:.5}.tasty-recipes-instructions-header{align-items:baseline;display:flex;flex-wrap:wrap;justify-content:space-between;margin:1em 0}.tasty-recipes-entry-content .tasty-recipes-instructions h3{margin:0 0 1rem}@media only screen and (min-width:520px){.tasty-recipes-entry-content .tasty-recipes-instructions h3{margin:0}}button[name=tasty-recipes-video-toggle]{background:#979599;border:#979599;border-radius:2px;display:inline-block;font-size:14px;height:30px;line-height:20px;margin:0;padding:0;text-align:center;vertical-align:middle;width:86px}button[name=tasty-recipes-video-toggle] span{padding:0 4px;pointer-events:none}button[name=tasty-recipes-video-toggle][aria-checked=false] :last-child,button[name=tasty-recipes-video-toggle][aria-checked=true] :first-child{background:#fff;border-radius:2px;color:#979599;padding:2px 4px}button[name=tasty-recipes-video-toggle][aria-checked=false] :first-child,button[name=tasty-recipes-video-toggle][aria-checked=true] :last-child{color:#fff}label[for=tasty-recipes-video-toggle]{color:#979599;font-size:.6rem;line-height:30px;padding-right:8px;text-transform:uppercase;user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;-o-user-select:none;vertical-align:middle}.tasty-recipe-responsive-iframe-container{margin:10px 0}.tasty-recipes-equipment{display:flex;flex-wrap:wrap;justify-content:space-evenly}.tasty-recipes-equipment>h3{flex:0 0 100%}.tasty-recipes-equipment .tasty-link-card{flex:0 0 50%;padding:1.5rem 1rem;text-align:center}@media screen and (min-width:500px){.tasty-recipes-equipment .tasty-link-card{flex:0 0 33%}}.tasty-recipes-equipment .tasty-link-card p{font-size:1em;font-weight:700;margin-bottom:0}.tasty-recipes-equipment .tasty-link-card p a{color:initial}.tasty-recipes-equipment .tasty-link-card span{font-size:.9em}.tasty-recipes .tasty-recipes-nutrition ul{list-style-type:none;margin:0;padding:0}.tasty-recipes .tasty-recipes-nutrition ul:after{clear:both;content:" ";display:block}.tasty-recipes .tasty-recipes-nutrition li{float:left;list-style-type:none;margin-bottom:0;margin-left:0;margin-right:16px}.tasty-recipes-plug{align-items:center;display:flex;flex-wrap:wrap;justify-content:center;margin-bottom:1em;text-align:center}.tasty-recipes-plug a{box-shadow:none;text-decoration:none}.tasty-recipes-plug a img{background:transparent;box-shadow:none;display:inline-block;height:auto;margin:5px 0 0 8px;padding:0;width:150px}.tasty-recipes-footer-content{padding:1.5em;text-align:center}.tasty-recipes-footer-content .tasty-recipes-footer-copy{margin-left:0}.tasty-recipes-footer-content img,.tasty-recipes-footer-content svg{width:60px}.tasty-recipes-entry-content .tasty-recipes-entry-footer h3{font-size:1.25em;margin:0 0 .25em;padding:0}.tasty-recipes-entry-footer p{font-size:.75em;margin:0}.tasty-recipes-entry-footer p a{border-bottom:none;box-shadow:none;text-decoration:underline}.tasty-recipes-flash-message{background-color:#fff;border-radius:4px;box-shadow:0 .3px .4px 0 rgba(0,0,0,.024),0 .9px 1.5px 0 rgba(0,0,0,.05),0 3.5px 6px 0 rgba(0,0,0,.1);color:#313135;display:inline-block;font-size:13px;letter-spacing:0;line-height:1.2em;margin-left:10px;padding:4px 10px}@media screen and (min-width:500px){.tasty-recipes-flash-message{padding:4px 10px}}.tasty-recipes-flash-message p{margin:0;padding:0;text-transform:none}@media screen and (min-width:500px){.tasty-recipes-footer-content{align-items:center;display:flex;justify-content:center;padding:1.5em 0;text-align:left}.tasty-recipes-footer-content .tasty-recipes-footer-copy{margin-left:.8em}}@media print{.tasty-recipes-no-print,.tasty-recipes-no-print *{display:none!important}}[data-tr-ingredient-checkbox]{cursor:pointer;list-style-position:outside;list-style-type:none!important;margin-left:0!important}[data-tr-ingredient-checkbox] .tr-ingredient-checkbox-container{position:relative}[data-tr-ingredient-checkbox] .tr-ingredient-checkbox-container input[type=checkbox]+label{display:inline-block;position:relative;vertical-align:middle}[data-tr-ingredient-checkbox] .tr-ingredient-checkbox-container input[type=checkbox]{clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px);height:1px;overflow:hidden;position:absolute!important;width:1px}[data-tr-ingredient-checkbox] .tr-ingredient-checkbox-container input[type=checkbox]+label:before{border:1px solid;border-radius:2px;content:"";display:inline-block;height:20px;margin-right:10px;position:relative;width:20px}[data-tr-ingredient-checkbox] .tr-ingredient-checkbox-container input[type=checkbox]:checked+label:after{border-bottom:2px solid;border-left:2px solid;content:"";display:inline-block;height:6px;left:4px;position:absolute;top:4px;transform:rotate(-45deg);width:12px}[data-tr-ingredient-checkbox] .tr-ingredient-checkbox-container input[type=checkbox]:focus+label:before{box-shadow:0 0 8px #5e9ed6;outline:1px solid #5d9dd5}[data-tr-ingredient-checkbox=checked]{opacity:.8;text-decoration:line-through}.tasty-recipes-cook-mode__container{align-items:center;display:flex;line-height:100%}.tasty-recipes-cook-mode__container label{font-size:inherit}.tasty-recipes-cook-mode__switch{display:inline-block;height:17px;margin-right:10px;position:relative;width:30px}.tasty-recipes-cook-mode__switch-slider{background-color:#737373;bottom:0;cursor:pointer;display:block;left:0;opacity:.4;position:absolute;right:0;top:0;transition:.4s}.tasty-recipes-cook-mode__switch-slider:before{background-color:#fff;bottom:2px;content:"";height:13px;left:2px;position:absolute;transition:.4s;width:13px}.tasty-recipes-cook-mode__switch input{display:none}.tasty-recipes-cook-mode__switch input:checked+span{opacity:1}.tasty-recipes-cook-mode__switch input:checked+span:before{transform:translateX(13px)}.tasty-recipes-cook-mode__switch-round{border-radius:34px}.tasty-recipes-cook-mode__switch-round:before{border-radius:50%}.tasty-recipes-cook-mode__label{font-weight:700}@media only screen and (max-width:767px){#shop-with-instacart-v1{transform:scale(.75);transform-origin:top left}}
window.tasty_recipes_min_rating = 4;
(function(){
var bothEquals = function( d1, d2, D ) {
var ret = 0;
if (d1 d2)d2=D+1;else d1=D+1;break}else if(x D){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 D){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 printLinks = document.querySelectorAll( '.tasty-recipes-print-link' );
const printButtons = document.querySelectorAll( '.tasty-recipes-print-button' );
// Use the first print button found as the canonical URL source.
const printButton = document.querySelector( '.tasty-recipes-print-button' );
// If no print button is available, we can't reliably update its href.
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;
printLinks.forEach( ( el ) => {
el.href = newURL;
});
printButtons.forEach( ( el ) => {
el.href = newURL;
});
}
// When the document loads, look for unit and scale parameters and setup the recipe card
// to reflect those values.
document.addEventListener( 'DOMContentLoaded', () => {
// Only reflect URL parameters on the print view.
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-convert-button',
buttonActiveClass = 'tasty-recipes-convert-button-active',
buttons = document.querySelectorAll('.tasty-recipes-convert-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 unitType = button.dataset.unitType;
var dataset = 'nf' + unitType.charAt(0).toUpperCase() + unitType.slice(1);
var convertables = recipe.querySelectorAll('span[data-nf-original]');
convertables.forEach(function(convertable){
if (typeof convertable.dataset.amountOriginalType === 'undefined'
&& 'usc' === convertable.dataset.nfOriginal) {
if (-1 !== convertable.innerText.indexOf('/')) {
convertable.dataset.amountOriginalType = 'frac';
}
if (-1 !== convertable.innerText.indexOf('.')) {
convertable.dataset.amountOriginalType = 'number';
}
Object.keys(window.tastyRecipesVulgarFractions).forEach(function(vulgar) {
if (-1 !== convertable.innerText.indexOf(vulgar)) {
convertable.dataset.amountOriginalType = 'vulgar';
}
});
}
convertable.innerText = convertable.dataset[dataset];
if (typeof convertable.dataset.unit !== 'undefined') {
convertable.dataset.unit = convertable.dataset[dataset + 'Unit'];
}
if (typeof convertable.dataset.amount !== 'undefined') {
convertable.dataset.amount = convertable.dataset[dataset];
if ('metric' === unitType) {
convertable.dataset.amountShouldRound = parseInt(convertable.dataset.amount) >= 10 ? 'integer' : 'number';
} else if (typeof convertable.dataset.amountOriginalType !== 'undefined') {
convertable.dataset.amountShouldRound = convertable.dataset.amountOriginalType;
} else {
convertable.dataset.amountShouldRound = false;
}
convertable.innerText = window.tastyRecipesFormatAmount(convertable.dataset[dataset], convertable);
}
if (convertable.classList.contains('nutrifox-unit')) {
if ('gram' === convertable.dataset[dataset]) {
convertable.innerText = 'grams';
}
}
});
document.querySelectorAll('.tasty-recipes-scale-button-active').forEach(function(scaleButton){
scaleButton.click();
});
window.tastyRecipesUpdatePrintLink();
});
});
}());
(function(){
document.querySelectorAll('[data-tr-ingredient-checkbox]').forEach(function(el) {
var input = el.querySelector('.tr-ingredient-checkbox-container input[type="checkbox"]');
if ( ! input ) {
return;
}
if (input.checked) {
el.dataset['trIngredientCheckbox'] = 'checked';
}
el.addEventListener('click', function(event) {
if ( 'A' === event.target.nodeName
|| 'INPUT' === event.target.nodeName
|| 'LABEL' === event.target.nodeName ) {
return;
}
input.click();
});
input.addEventListener('change', function() {
el.dataset['trIngredientCheckbox'] = input.checked ? 'checked' : '';
});
});
}());
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) {
checkbox.checked ? this.lock() : 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", event => {
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.ratings = {
init( min_rating ) {
this.min_rating = min_rating;
this.recipeRatingReflectInRespondSection();
this.addBodyClassBasedOnSelectedRating();
this.backwardCompRespondRatingPosition();
},
recipeRatingReflectInRespondSection() {
const ratings = document.querySelectorAll('.tasty-recipes-no-ratings-buttons [data-rating]');
if (ratings.length {
this.fireRatingInRespond( event.target.dataset.rating );
} );
}
},
fireRatingInRespond( rating ) {
const ratingInput = document.querySelector('.tasty-recipes-rating[value="' + rating + '"]');
if ( ! ratingInput ) {
return;
}
ratingInput.click();
},
addBodyClassBasedOnSelectedRating() {
const ratingInputs = document.querySelectorAll('input.tasty-recipes-rating');
if ( ratingInputs.length {
let selectedRating = event.target.getAttribute( 'value' );
this.handleBodyClassByRating( selectedRating );
this._toggle_comment_textarea_required( selectedRating );
} );
}
},
handleBodyClassByRating( rating ) {
if ( rating = comment_textarea.length ) {
return;
}
if ( rating {
if ( rating_span === event.target ) {
return;
}
rating_span.previousElementSibling.click();
} );
}
}
};
(function(callback) {
if (document.readyState !== "loading") {
callback();
} else {
document.addEventListener("DOMContentLoaded", callback);
}
})(() => {
window.TastyRecipes.ratings.init( window.tasty_recipes_min_rating );
});
The post Chicken Parmesan Casserole appeared first on Thriving Home .

