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

Sweet Family Table

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

Sweet Family Table

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

Strawberry Matcha Basque Cheesecake

Jump to Recipe·Print Recipe

If you’re looking for a dessert that seamlessly blends vibrant flavors and stunning presentation, you’ve come to the right place! This Strawberry Matcha Basque Cheesecake is not only a feast for the eyes but also a delight for the taste buds. The creamy richness of the cheesecake pairs beautifully with the earthy notes of matcha and the sweetness of strawberries, making it a perfect treat for any occasion. Whether you’re celebrating a special event or simply indulging on a cozy weekend, this cheesecake will surely impress your family and friends.

Strawberry Matcha Basque Cheesecake image 2

What makes this recipe truly special is its simplicity. With just a few wholesome ingredients, you can create something that feels indulgent yet remains approachable. Plus, it’s an excellent choice for gatherings—everyone loves the unique twist of matcha combined with fresh strawberries!

Strawberry Matcha Basque Cheesecake image 3
Strawberry Matcha Basque Cheesecake image 4

Why You’ll Love This Recipe

  • Deliciously Unique: The combination of matcha and strawberries creates an exciting flavor profile that stands out from traditional cheesecakes.
  • Easy Preparation: With just a handful of steps, you’ll have this dessert ready to impress without spending hours in the kitchen.
  • Make-Ahead Delight: This cheesecake can be made in advance, giving you one less thing to worry about on busy days or during gatherings.
  • Visually Stunning: The vibrant green matcha and bright pink strawberry topping make this cheesecake as beautiful as it is tasty.
  • Family-Friendly Appeal: Kids and adults alike will love this delicious fusion dessert; it’s sure to become a family favorite!

Ingredients You’ll Need

Gathering ingredients for this Strawberry Matcha Basque Cheesecake is simple! You’ll find everything you need in your local grocery store, and these are all wholesome options that combine beautifully.

For the Cheesecake

  • 440g cream cheese
  • 3 eggs
  • 120g sugar
  • 12g matcha powder
  • 20g all-purpose flour
  • 270g heavy cream
  • pinch of salt

For the Topping

  • 330ml heavy whipping cream
  • 250g mascarpone
  • 86g powdered sugar
  • 6 tbsp freeze-dried strawberry powder
  • Fresh strawberries and fondant for decoration

Variations

This recipe is wonderfully flexible—feel free to get creative! Here are some fun variations you might enjoy:

  • Add More Fruit: Toss in some raspberries or blueberries for an extra fruity punch!
  • Try Different Flours: Use almond flour instead of all-purpose for a gluten-free option.
  • Make It Vegan: Substitute cream cheese with vegan cream cheese and use aquafaba or flax eggs instead of regular eggs.
  • Infuse with Citrus: Add a hint of lemon or lime zest to give your cheesecake a refreshing twist.

How to Make Strawberry Matcha Basque Cheesecake

Step 1: Preheat Your Oven

First things first, preheat your oven to 240C/465F. This high temperature helps achieve that coveted caramelization on top while keeping the inside creamy. Crumple one sheet of parchment paper into a ball, unfurl it, and use it to line your 24cm/9inch round cake pan—it’s essential for easy removal later!

Step 2: Blend the Batter

In your blender, combine cream cheese, eggs, sugar, matcha powder, all-purpose flour, heavy cream, and a pinch of salt. Blend until smooth. Why blend? This step ensures that every ingredient is well incorporated, resulting in a silky batter without lumps.

Step 3: Bake It Up

Pour the batter through a sieve into the prepared pan. This trick removes any air bubbles and lumps—trust me, it makes a difference! Bake for 35 minutes. The top should be golden brown while the center remains jiggly; that’s how you know it’s perfectly baked. Once done, allow it to cool before transferring it to the fridge.

Step 4: Prepare the Strawberry Topping

While your cheesecake cools, let’s whip up that decadent topping! In a mixing bowl, beat together heavy whipping cream, mascarpone, powdered sugar, and freeze-dried strawberry powder. Beat until stiff peaks form—this adds lightness and sweetness that complements our rich cheesecake perfectly.

Step 5: Decorate & Chill

Spread your strawberry mixture over the cooled cheesecake once it’s set in the fridge for at least 2-3 hours. Finally, adorn it with fresh strawberries and fondant flowers for that wow factor! To slice neatly, heat your knife under hot water—this little tip ensures clean cuts every time.

Now you’re ready to enjoy your stunning Strawberry Matcha Basque Cheesecake!

Pro Tips for Making Strawberry Matcha Basque Cheesecake

Creating the perfect Strawberry Matcha Basque Cheesecake can be a delightful experience with a few handy tips.

  • Use room temperature ingredients: Bringing your cream cheese, eggs, and heavy cream to room temperature before mixing helps achieve a smoother batter and prevents lumps.
  • Sift the matcha powder: Sifting the matcha before adding it to the batter can help break up clumps, ensuring an even distribution of flavor and color throughout the cheesecake.
  • Monitor baking time closely: Since every oven is different, keep an eye on your cheesecake after 30 minutes. It should be brown on top but still jiggly in the center for that signature Basque texture.
  • Chill thoroughly: Allowing your cheesecake to set in the fridge for at least 2-3 hours after decorating not only improves its texture but also enhances the flavors as they meld together.
  • Cut with a warm knife: For clean slices, dip your knife in hot water and wipe it dry between cuts. This technique helps maintain the beautiful presentation of your cheesecake.

How to Serve Strawberry Matcha Basque Cheesecake

Presenting your Strawberry Matcha Basque Cheesecake beautifully can elevate any occasion. Here are some creative serving ideas!

Garnishes

  • Fresh mint leaves: A sprig of mint adds a pop of color and a refreshing aroma that complements the flavors of strawberry and matcha.
  • Chocolate shavings: Lightly sprinkle chocolate shavings on top for a touch of elegance and an extra layer of flavor contrast.
  • Edible flowers: Consider using edible flowers to adorn your cheesecake; they add a charming visual element that makes your dessert feel special.

Side Dishes

  • Green tea: A warm cup of green tea pairs beautifully with this cheesecake, enhancing its earthy flavors while providing a lovely contrast.
  • Fruit salad: A light fruit salad made with seasonal fruits can balance the richness of the cheesecake and add freshness to each bite.
  • Vanilla ice cream: The creamy sweetness of vanilla ice cream complements the matcha notes perfectly, creating a delightful combination.
  • Honey yogurt: A dollop of honey-infused yogurt alongside slices of cheesecake provides a tangy contrast that enhances both flavors.

Make Ahead and Storage

This Strawberry Matcha Basque Cheesecake is perfect for meal prep! You can make it ahead of time, allowing the flavors to meld beautifully. Here’s how to store your delicious creation:

Storing Leftovers

  • Store any leftovers in an airtight container in the refrigerator.
  • Consume within 3-4 days for the best flavor and texture.

Freezing

  • Wrap the cheesecake tightly in plastic wrap, followed by aluminum foil to prevent freezer burn.
  • Freeze for up to 2 months; when ready to enjoy, thaw overnight in the refrigerator.

Reheating

  • For best results, serve chilled directly from the fridge.
  • If desired, you can warm slices slightly in the microwave for about 10-15 seconds, but be cautious not to overheat.

FAQs

Here are some common questions about making this delightful dessert!

Can I use fresh strawberries instead of freeze-dried powder for the cheesecake?

Absolutely! You can blend fresh strawberries into the cream topping or use them as a garnish. Just keep in mind that using fresh strawberries may alter the texture slightly.

How long does the Strawberry Matcha Basque Cheesecake last?

When stored properly, this cheesecake will last up to 4 days in the refrigerator. It’s best enjoyed fresh, but you can freeze it for longer storage.

What makes Strawberry Matcha Basque Cheesecake unique?

The combination of earthy matcha and sweet strawberry creates a unique flavor profile that sets it apart from traditional cheesecakes. This makes it a delightful twist on a classic dessert!

Final Thoughts

I hope you enjoy making this Strawberry Matcha Basque Cheesecake as much as I do! Its beautiful blend of flavors and creamy texture makes it a special treat that’s sure to impress anyone who tries it. Don’t hesitate to share your experiences or variations; I’d love to hear how your baking adventure goes!

Print

Strawberry Matcha Basque Cheesecake

Print Recipe

5 Stars 4 Stars 3 Stars 2 Stars 1 Star

No reviews

Indulge in the vibrant flavors of our Strawberry Matcha Basque Cheesecake—a delightful fusion dessert that marries the earthy richness of matcha with the sweet freshness of strawberries. This stunning cheesecake not only looks impressive but is also remarkably simple to prepare. With a luscious, creamy texture and a beautiful green hue complemented by a bright strawberry topping, it’s perfect for any occasion, from casual gatherings to festive celebrations. Plus, it can be made ahead of time, allowing you to enjoy stress-free entertaining. Treat yourself and your loved ones to this unforgettable dessert that’s sure to become a favorite!

  • Author: Mennana
  • Prep Time: 20 minutes
  • Cook Time: 35 minutes
  • Total Time: 55 minutes
  • Yield: Serves approximately 8 slices 1x
  • Category: Dessert
  • Method: Baking
  • Cuisine: Fusion

Ingredients


Scale

  • 440g cream cheese
  • 3 eggs
  • 120g sugar
  • 12g matcha powder
  • 20g all-purpose flour
  • 270g heavy cream
  • Pinch of salt
  • 330ml heavy whipping cream
  • 250g mascarpone
  • 86g powdered sugar
  • 6 tbsp freeze-dried strawberry powder

Instructions

  1. Preheat your oven to 240C/465F and line a round cake pan with parchment paper.
  2. Blend together cream cheese, eggs, sugar, matcha powder, flour, heavy cream, and salt until smooth.
  3. Pour the batter into the prepared pan and bake for 35 minutes until golden brown on top but jiggly in the center. Let cool before refrigerating.
  4. For the topping, beat together heavy whipping cream, mascarpone, powdered sugar, and freeze-dried strawberry powder until stiff peaks form.
  5. Spread the topping over the cooled cheesecake and garnish with fresh strawberries before serving.

Nutrition

  • Serving Size: 1 slice (100g)
  • Calories: 350
  • Sugar: 25g
  • Sodium: 210mg
  • Fat: 28g
  • Saturated Fat: 16g
  • Unsaturated Fat: 10g
  • Trans Fat: 0g
  • Carbohydrates: 26g
  • Fiber: 1g
  • Protein: 5g
  • Cholesterol: 90mg

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.sweetfamilytable.com\/wp-admin\/admin-ajax.php”,”ratingNonce”:”9c2f5ee163″,”postId”:1300};
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
Summer Berry and Peach Cheesecake: A Refreshing Delight for Every Occasion
Next Post »
Indulgent Buttery Raspberry Crumble Cookies with Sweet Jam Filling

If you enjoyed this…

Keto Chimichurri Chicken Recipe

Keto Chimichurri Chicken Recipe

Blackberry Basil Grilled Chicken Salad

Blackberry Basil Grilled Chicken Salad

Grilled Chicken Burrito Bowl

Grilled Chicken Burrito Bowl

Primary Sidebar

Browse by Diet

HealthyBudgetKetoQuickVeganCheat Meal
Steak Avocado Corn Bowl: A Delicious and Nutritious Recipe for Any Meal

Steak Avocado Corn Bowl: A Delicious and Nutritious Recipe for Any Meal

Steak Bites and Shell Pasta in Garlic Butter Alfredo Sauce

Steak Bites and Shell Pasta in Garlic Butter Alfredo Sauce

Sizzling Bacon Cheeseburger Queso Dip

Sizzling Bacon Cheeseburger Queso Dip

  • About
  • Contact
  • Disclaimer
  • Homepage
  • PRIVACY POLICY
  • Recipe Index
  • TERMS AND CONDITIONS

© 2026 Sweet Family Table · All Rights Reserved · Created with love by Lalla Mennana · About · Privacy Policy · Terms & Conditions · Disclaimer · Affiliate Disclosure · Contact