Basil Pesto with Lemon

Discover the perfect blend of fresh basil, zesty lemon, and savory pesto with our Basil Lemon with Pesto recipe, specially crafted for those with Chronic Kidney Disease (CKD). This pesto brings vibrant, kidney-friendly flavors to your table, making healthy eating both delicious and enjoyable. Perfect for adding a burst of freshness to your pasta or rice dishes, this recipe is a delightful way to support your renal health, while being low in sodium and potassium.

Basil pesto with lemon on a spoon being scooped up from a bowl.

Basil Lemon with Pesto is especially popular during the spring and summer months when fresh basil and lemons are in peak season. The light, refreshing flavors make it an ideal choice for using as a sauce on warm-weather meals, outdoor gatherings, and picnics. However, its vibrant taste and kidney-friendly ingredients make it a delightful option year-round, bringing a touch of brightness to your meals regardless of the season.

Pesto is just a really good sauce to have in your arsenal. You can add it to pasta, rice, and even sandwiches. Use it as a spread on your bread or on pasta as sauce.

[feast_advanced_jump_to]

For More Recipes and Ideas --->> Get Your Free Meals and Recipes That Are Perfect for Pre-Dialysis Diets, Pre-Dialysis with Diabetes, or Dialysis Diets.

Ingredients

Our Basil Lemon with Pesto recipe is a delightful fusion of fresh, vibrant flavors designed with the needs of Chronic Kidney Disease (CKD) patients in mind. This sauce combines the aromatic charm of basil, the zesty punch of lemon, and the savory richness of pesto, resulting in a sauce that's both nutritious and mouthwatering.

Ingredients for making Basil Pesto with Lemon laid out on a table.Fresh Basil Leaves - The aromatic foundation of the pesto, providing a burst of herbal freshness.Minced Garlic - Adds a robust, savory depth that complements the basil perfectly.Extra Virgin Olive Oil - Ensures a smooth, rich texture and enhances the overall flavor profile.Pine Nuts - Contributes a nutty richness and a delightful crunch to the pesto.Parmesan Cheese Shreds - Brings a salty, umami layer that ties all the ingredients together.Lemon Juice: Adds a zesty brightness, balancing the rich and savory elements.Black Pepper - Provides a gentle kick of spice, enhancing the complexity of flavors.

See recipe card for quantities.

Instructions

Making our Basil Lemon with Pesto is easy and enjoyable, combining fresh, kidney-friendly ingredients into a delicious dish. Follow these simple steps to mix the vibrant flavors of basil, lemon, and pesto into a perfect harmony for any meal.

Basil leaves and garlic in a blender.

1. Wash and clean basil leave and dry with paper towels

Basil and minced garlic in a blender.

2. Put basil leaves and minced garlic into food processor (or blender) with a steel blade.

Basil pesto with lemon in a blender being blended up.

3. Process until basil and garlic is finely chopped, adding oil through the feed tube as you go. You might have to scrape the sides of the processor with a rubber spatula.

Add black pepper to the blender full of Basil Pesto with Lemon.

5. Add pepper and pulse a few more times.

Pine nuts and parmesan cheese and lemon juice being added to the mixture in a blender.

4. Add pine nuts, parmesan cheese, and lemon juice to the chopped basil mixture and process 2 minutes more, until the pesto is mostly pureed and well mixed.

Pesto being added to a storage jar.

6. Makes 2.5 cups. Store in the refrigerator in a glass jar for up to 10 days.

Hint: Substitute regular Parmesan cheese with a low-sodium variety. This helps reduce the sodium content in your pesto, making it a better option for those managing their kidney health.

Woman with an apron enjoying a bite of pesto from a jar. Substitutions

Adapting Basil Lemon with Pesto for those with Chronic Kidney Disease (CKD) involves careful ingredient choices to ensure it remains kidney-friendly:

Nuts - To reduce phosphorus intake, opt for unsalted, blanched almonds instead of pine nuts. Almonds have lower phosphorus content, making them a better choice for CKD patients.Parmesan Cheese - Use a lower-sodium cheese like mozzarella or a small amount of grated Pecorino Romano to keep sodium levels in check while still providing flavor.Olive Oil - Stick to extra virgin olive oil, which is kidney-friendly due to its healthy fats and antioxidants. If you need to reduce fat, use a mixture of olive oil and water.Garlic - If you need to limit potassium, use garlic powder instead of fresh garlic, as it's typically lower in potassium.

These substitutions ensure that Basil Lemon with Pesto remains delicious while adhering to the dietary restrictions necessary for managing CKD. This way, you can enjoy a flavorful sauce that supports your kidney health.

Variations

Customizing the Basil Lemon with Pesto recipe to suit different tastes and preferences can enhance your dining experience while keeping it kidney-friendly:

Herbed - Add a variety of fresh, low-potassium herbs such as parsley, dill, or chives to create a more complex and aromatic flavor profile.Vegetable-Rich - Incorporate lightly steamed or roasted low-potassium vegetables like zucchini, yellow squash, or bell peppers to boost the nutritional value and add texture.Protein Boost - For additional protein, add grilled or baked chicken breast (unsalted and skinless) or cooked shrimp. These options provide a satisfying meal while adhering to dietary guidelines for CKD.

These variations allow you to enjoy Pesto Recipe with Fresh Basil in new and exciting ways, ensuring that the sauce remains both kidney-friendly and diverse enough to suit various tastes and dietary needs.

Storage

Proper storage can help you enjoy your Basil Lemon with Pesto even after the day it's prepared:

Refrigeration - Store the pesto in an airtight container and refrigerate it for up to 3-4 days. Ensure the container is sealed well to preserve the freshness and flavor.Freezing - For longer storage, pesto can be frozen. Spoon the pesto into ice cube trays and freeze until solid. Transfer the frozen cubes to a resealable plastic bag or airtight container. This method allows you to conveniently defrost individual portions as needed. Pesto can be stored in the freezer for up to 3 months.Reheating: If you’ve added the pesto to a dish, such as pasta or vegetables, store leftovers in an airtight container in the refrigerator for up to 3 days. Reheat gently in a skillet over low heat, adding a splash of water or olive oil if necessary to maintain the consistency.

When you following these storage tips, you can extend the enjoyment of your Basil Lemon with Pesto while ensuring it remains perfect with someone who has CKD to enjoy!

Top tip

Use Fresh, High-Quality Ingredients: The key to a truly vibrant and flavorful Basil Lemon with Pesto lies in the freshness and quality of your ingredients. Opt for freshly picked basil leaves, freshly squeezed lemon juice, and high-quality extra virgin olive oil. 

Basil pesto with lemon in a jar being put into a bowl to serve. FAQs for Basil Pesto with LemonCan I make this recipe vegan?

Yes, you can make this recipe vegan by substituting parmesan cheese with nutritional yeast, which provides a similar cheesy flavor without any animal products.

Can I use dried basil instead of fresh basil?

While dried basil can be used in a pinch, it won't provide the same vibrant flavor and texture as fresh basil. Fresh basil is recommended for the best results.

More Kidney Friendly Appetizers

Looking for other recipes like this? Try these:

Buffalo cauliflower dip with carrots and celery in a green serving bowl on a wooden background.Buffalo Cauliflower DipBaked bacon wrapped turkey breast tenderloin on a plate.Bacon Wrapped Turkey Breast Tenderloin Recipe Low SodiumCreamy Buffalo Onion Dip ZYD RecipeWhite Bean Dip Recipe with Seasoned Pita Chips - ZYDOther Kidney Friendly Side Dishes

These are my favorite dishes to serve with Basil Pesto with Lemon:

Skillet Corn on a wooden spoon.Skillet CornOrange bowl with fork Asparagus Pasta recipe on brown table background.Asparagus Pasta RecipePeas and Carrots in a bowl.Peas and CarrotsGrilled vegetables on a fork on a plate ready to be served.GAM: Grilled Vegetables on Kabobs

If you tried this Recipe or any other recipe on my website, please please leave a 🌟 star rating and let me know how it goes in the 📝 comments below. I love hearing from you!

PrintRecipeLemon Basil Pesto Basil pesto with lemon on a spoon being scooped up from a bowl. [image error] Print Recipe [image error] Pin Recipe const share_pin_buttons = document.getElementsByClassName( 'share-pin button' ); if ( share_pin_buttons ) { for ( let share_key = 0; share_key < share_pin_buttons.length; share_key ) { share_pin_buttons[share_key].addEventListener( 'click', (e) => { e.stopPropagation(); window.open(e.target.dataset.href,'targetWindow','toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=500,height=500'); return false; } ); } }

5 Stars 4 Stars 3 Stars 2 Stars 1 Star

No reviews

Indulge in the fresh, zesty flavors of our Lemon Basil Pesto! This vibrant sauce combines the aromatic essence of basil with a hint of lemon, creating a delightful, kidney-friendly treat. 

Author: Mathea Ford, MBA, RDN, LD Prep Time: 10 Cook Time: 20 Total Time: 30 minutes Yield: 2.5 cups Category: Dips Method: Blender Cuisine: American Diet: Low Salt Ingredients Units USM 3 cups fresh basil leaves, packed into the measuring cup4 tbsp minced garlic½ cup extra virgin olive oil¾ cup pine nuts½ cup parmesan cheese shreds½ cup lemon juice1 tsp black pepper

Cook Mode Prevent your screen from going dark Instructions Wash and clean basil leave and dry with paper towels.Put basil leaves and minced garlic into food processor (or blender) with a steel blade.Process until basil and garlic is finely chopped, adding oil through the feed tube as you go. You might have to scrape the sides of the processor with a rubber spatula.Add pine nuts, parmesan cheese, and lemon juice to the chopped basil mixture and process 2 minutes more, until the pesto is mostly pureed and well mixed.Add pepper and pulse a few more times.Makes 2.5 cups. Store in the refrigerator in a glass jar for up to 10 days. (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; } } );}()); 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.renaldiethq.com\/wp-admin\/admin-... = window.TastyRecipes || {};window.TastyRecipes.smoothScroll = {init() {window.addEventListener( 'click', e => {let anchor = e.target;if ( ! anchor.classList.contains( 'tasty-recipes-scrollto' ) ) {if ( anchor.tagName === 'A' ) {return;}anchor = anchor.closest( 'a' );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' } );history.pushState( {}, '', selector );}};(function( callback ) {if ( document.readyState !== 'loading' ) {callback();} else {window.addEventListener( 'load', callback );}})(() => {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 d2<=D){d1 =d2;n1 =n2;d2=D 1}else if(d1>d2)d2=D 1;else d1=D 1;break}else if(x<m){n2=n1 n2;d2=d1 d2}else{n1=n1 n2;d1=d1 d2}}if(d1>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<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-A<5e-8)break;B=1/(B-A);P_2=P_1;P_1=P;Q_2=Q_1;Q_1=Q}if(Q>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("{"¼":"1/4","½":"1/2","¾":"3/4","â":"1/3","â":"2/3","â":"1/5","â":"2/5","â":"3/5","â":"4/5","â":"1/6","âš":"5/6","â›":"1/8","âœ":"3/8","â":"5/8","âž":"7/8"}"));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-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) {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 <= 0 ) {return;}for ( const rating of ratings ) {rating.addEventListener( 'click', event => {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 < this.minRating ) {commentTextarea.setAttribute( 'required', '' );return;}commentTextarea.removeAttribute( 'required' );},maybeSendRating( rating, element ) {if ( this.savingRating === rating ) {return;}this.savingRating = rating;window.TastyRecipes.staticTooltip.init( element );const recipeCardElement = element.closest( '.tasty-recipes' );if ( ! recipeCardElement ) {window.TastyRecipes.staticTooltip.destroy();return;}window.TastyRecipes.ajax.sendPostRequest(window.trCommon.ajaxurl,{action: 'tasty_recipes_save_rating',rating,nonce: window.trCommon.ratingNonce,post_id: window.trCommon.postId,recipe_id: recipeCardElement.dataset.trId,},( response ) => {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 );});Recipe Card powered by [image error] Check Out Our Meal Plans For People With Chronic Kidney Disease (CKD)

The post Basil Pesto with Lemon appeared first on Renal Diet HQ.

 •  0 comments  •  flag
Share on Twitter
Published on July 02, 2024 15:01
No comments have been added yet.