Filled with only 6 flavorful ingredients , this Spinach and Bacon Quiche comes together quickly but won’t stick around for long. Can you freeze quiche? You bet. See how below.
“This is a big hit with the family and very easy to make! Will definitely make again.” – Ruth
Why You’ll Love this Recipe
Freezer Friendly – Similar to our Cheddar Chive Egg Bites and Baked Ham and Egg Cups , this egg dish can freeze and thaw beautifully. I almost always double the batch when I make it.
Requires a few ingredients – Recipes with minimal, recognizable ingredients are the bomb. Probably why our recipes with 6 Ingredients or less are so popular .
Breakfast, lunch, or dinner – The leftovers are just as good as the first day, in my opinion, too.
If you prefer a bite-sized version of this recipe, try our Bacon and Spinach Mini Quiche recipe instead.
Ingredients Needed
Ingredient Notes
Pie crust – I buy mine from the store but you could easily make a homemade pie crust.
Cooked bacon – Try our No Fail Bacon method
Spinach – Use organic since spinach can have a lot of pesticides.
Baking Dish Recommendation
Here is the baking dish that I prefer to use for this recipe , because it is deep enough for a quiche AND has a storage lid so you can store leftovers or freeze the recipe easily.
Step-by-Step Instructions
Prep
Place the pie crust into a round baking dish. Layer the bacon, spinach, and cheese into the dish.
Whisk
Whisk together the eggs, heavy whipping cream, salt, and pepper in a mixing bowl. Pour the mixture over the top of all ingredients. It will be VERY full.
Bake
Cover loosely with foil and bake for 1 hour. Remove foil and bake another 15 minutes or until the middle is set (doesn’t jiggle when you shake it).
Let cool for 10 minutes before slicing and serving.
Baking Tip
If you are using a shallow baking dish, place a baking sheet underneath the dish. You might have an overflow issue on your hands.
How to Freeze Quiche
As authors of two popular freezer meal cookbooks , we have years and years of testing and research under our belts and have learned what it takes to turn out high-quality freezer meals.
The key to freezing quiche (really any egg-centric casserole) is to prep it, package it tightly, and freeze it BEFORE baking. Store in freezer up to 3 months.
Quiche FAQs
Can I freeze quiche? The short answer is yes. It is better to freeze before baking. Hop over to this post about How to Freeze Quiche if you want more information! How do I prepare frozen quiche? When you’re ready to enjoy your uncooked, frozen quiche, thaw it in the refrigerator for 24-48 hours. This is hands-down the best way to defrost a dish like this (the microwave defrost setting could partially cook it, which is no good). After it’s fully thawed, bake it according to directions and it’ll taste just like a fresh meal! Can I freeze quiche after baking it? If you want to freeze your quiche after it’s been baked, you can but it will have a soggy crust and the eggs may get overdone when rewarmed in the microwave or oven. This is not our preferred freezing method.
More Make-Ahead Breakfast Ideas
I love having make-ahead breakfast recipes ready to go in the freezer. Here are a few ideas for you:
Breakfast Casserole Muffins
Smoothie Freezer Packs
Hash Brown Breakfast Casserole (only 5 ingredients)
Chocolate Banana Muffins
Breakfast Burritos
Breakfast Sandwiches
Did you make this? Snap a photo and tag us on Instagram at @thrivinghome so we can see your creations and cheer you on!
★ ★ ★ ★ ★
5 from 6 reviews
Spinach and Bacon Quiche
This comfort food quiche makes an easy, make ahead breakfast OR dinner. Simple ingredients and freezer friendly!
Yield: 8 servings
Prep: 15 mins Cook: 1 hour 15 mins Total: 1 hour 30 mins
Print Recipe
Rate
Pin for Later
Email
Units:
US M
Ingredients
1 uncooked pie crust
1 pound of cooked bacon, chopped (try our No Fail Bacon method )
2 cups of chopped spinach
1 1/2 cups of shredded Swiss cheese
6 large eggs
1 1/2 cups heavy whipping cream
1 teaspoon salt
1/2 teaspoon pepper
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 the oven to 375°F.
Place the pie crust into a round baking dish. Layer the bacon, spinach and cheese into the dish.
Whisk together the eggs, heavy whipping cream, salt and pepper in a mixing bowl. Pour the mixture over the top of all ingredients. ( Freezing instructions begin here. )
Cover loosely with foil and bake for 1 hour. Remove foil and bake another 15 minutes or until the middle is set (doesn’t jiggle when you shake it).
Let cool for 10 minutes before slicing and serving.
Freeze For Later: Follow Steps 1-3. Cover the casserole dish tightly with foil and a few layers of plastic wrap (or a tight-fitting lid) and freeze. Store in freezer up to 3 months.
Prepare From Frozen: Let quiche thaw in fridge for 24-48 hours. Follow Steps 4-5.
Notes/Tips
When you assemble the quiche, it feels like a lot of spinach. It will shrink and cook down though so don’t remove any out of fear of it being too spinach heavy.
If you are using a shallow baking dish, place a baking sheet underneath the dish. You might have an overflow issue on your hands.
Read our full post on How to Freeze Quiche if you want more information!
If you want to freeze your quiche after it’s been baked, you can but it will have a soggy crust and the eggs may get overdone when rewarmed in the microwave or oven. This is not our preferred freezing method.
This is a great recipe to double and freeze. Especially since pie crusts usually come in packages of two.
(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: Polly Conner
Cuisine:
French
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(cal

