โญ Trending Recipes

Recipes That Actually Go Viral

Quick, camera-ready meals you’ll want to cook and share. Get trending recipes with pro styling tips, video guides, and shopping lists.

๐Ÿ‘จโ€๐Ÿณ Your Host

Meet Chef Slice

Your guide to the most viral, camera-ready recipes on the internet. Watch the intro and get ready to cook something share-worthy.

๐Ÿ”ฅ Viral Recipe Expert
๐Ÿ“ธ Food Content Creator
๐Ÿค– AI-Powered Chef

๐Ÿค– New AI Feature

What’s in Your Fridge?

Upload a photo of your fridge or pantry and our AI chef instantly suggests 3–5 viral-ready recipes using exactly what you have on hand.

๐Ÿ“ธ
Snap a Photo
Fridge, pantry, or ingredients on the counter
๐Ÿค–
AI Detects Ingredients
Claude Vision identifies what you have in seconds
๐Ÿณ
Get Viral Recipes
3–5 recipe ideas tailored to your ingredients

๐Ÿ“ธ Try Photo Search Free

๐Ÿ”’ Photos processed securely • Never stored

Find Your Next Obsession

Browse through our carefully curated categories to discover recipes that match your mood and schedule.

Viral Recipes from TikTok, Instagram & Reels

Fresh from the feed — the recipes everyone is saving and recreating right now.

Pasta Chips

TikTok

Pasta Chips

The viral TikTok snack that’s crispy, cheesy, and completely addictive.

โœ“ Tested & Improved
Provolone Pasta

Instagram

Provolone Pasta

The creamy, dreamy pasta trend that’s breaking all our diets.

โœ“ Tested & Improved
Baked Oatmeal Pizza

Reels

Baked Oatmeal Pizza

Breakfast meets pizza in this viral TikTok creation that’s actually delicious.

โœ“ Tested & Improved
Egg Fried Rice Pancakes

TikTok

Egg Fried Rice Pancakes

Transform leftover rice into crispy viral pancakes in under 10 minutes.

โœ“ Tested & Improved
Crispy Tortilla Tacos

Instagram

Crispy Tortilla Tacos

The shell-in-shell technique that’s dominating everyone’s feed.

โœ“ Tested & Improved
Cloud Bread Cookies

Reels

Cloud Bread Cookies

The viral high-protein cookie that tastes like clouds.

โœ“ Tested & Improved

Watch & Cook With Me

Short, satisfying videos so you can cook along step-by-step.

Dumpling Lasagna Hack

0:30

30-Second Dumpling Lasagna Hack

Cheesecake Bites

1:45

The Jiggliest High-Protein Cheesecake Bites

Hot Honey Bowl

1:20

Hot Honey Bowl in 60 Seconds

Pasta Chip Crunch

0:45

Pasta Chip Crunch Challenge

Why Thousands Come Back to CookingViral

More than just recipes — we’re your secret weapon for creating content-worthy dishes.

๐Ÿ”ฅ

Real Viral Recipes

Recipes that actually go viral

๐Ÿ“ธ

๐Ÿ“ธ Photo Search

Upload your fridge photo → get instant recipe ideas

๐Ÿ“

Smart Shopping

Adjustable servings + shopping lists

๐Ÿค–

AI Chef Helper

Help with substitutions

๐ŸŽฌ

Video + Written

Easy-to-follow guides

Recipe of the Week

Greek Yogurt Cheesecake Bites

โญ Featured This Week
โ–ถ

High-Protein Greek Yogurt Cheesecake Bites

No-bake, 4 ingredients, ridiculously satisfying texture. The dessert trend that’s taking over feeds right now.

โฑ๏ธ No Bake
โœจ 4 Ingredients
๐Ÿ’ช High Protein

Get the Full Recipe + Video โ†’

Never Miss a Viral Recipe

Get the weekly roundup of the hottest trending recipes + direct video links delivered to your inbox.

(Zero spam — only the good stuff)

Ready to Make Your Next Viral Recipe?

Join thousands of home cooks turning simple ingredients into share-worthy meals.

See What’s Trending Now โ†’

About CookingViral

CookingViral is your ultimate destination for discovering recipes that actually trend on social media. We test every viral recipe so you don’t have to wonder if it’s worth making — we already did the work. From TikTok food hacks to Instagram-famous dishes, we curate, perfect, and present the most buzzworthy recipes with detailed instructions, pro styling tips, and instant shopping lists.

๐Ÿ‘จโ€๐Ÿณ

Chef Slice

AI Chef ยท CookingViral

(function(){ if(!document.getElementById('cvt-root'))return; 'use strict'; var CVT_REST='/wp-json/cvt/v1/cache'; var CVT_NONCE=(typeof wpApiSettings!=='undefined')?wpApiSettings.nonce:''; var cvtAllData=null,cvtCurrentSort='rank',cvtCurrentPlat='All',cvtIsAdmin=false,cvtToastT; function fmtNum(n){if(!n||isNaN(n))return '0';if(n>=1e6)return (n/1e6).toFixed(1)+'M';if(n>=1e3)return (n/1e3).toFixed(0)+'K';return String(Math.round(n));} function platClass(p){var q=(p||'').toLowerCase();if(q.indexOf('tiktok')>-1)return 'plat-tiktok';if(q.indexOf('instagram')>-1)return 'plat-instagram';if(q.indexOf('youtube')>-1)return 'plat-youtube';if(q.indexOf('reddit')>-1)return 'plat-reddit';if(q.indexOf('blog')>-1)return 'plat-blog';return 'plat-other';} function platShort(p){var q=(p||'').toLowerCase();if(q.indexOf('tiktok')>-1)return 'TikTok';if(q.indexOf('instagram')>-1)return 'Instagram';if(q.indexOf('youtube')>-1)return 'YouTube';if(q.indexOf('reddit')>-1)return 'Reddit';if(q.indexOf('blog')>-1)return 'Blog';return (p||'Web').split(' ')[0];} function getEmoji(t){var s=(t||'').toLowerCase();if(s.indexOf('kebab')>-1||s.indexOf('doner')>-1)return '๐Ÿฅ™';if(s.indexOf('pasta')>-1)return '๐Ÿ';if(s.indexOf('chicken')>-1)return '๐Ÿ—';if(s.indexOf('cake')>-1||s.indexOf('cheesecake')>-1)return '๐ŸŽ‚';if(s.indexOf('soup')>-1||s.indexOf('ramen')>-1)return '๐Ÿœ';if(s.indexOf('salad')>-1||s.indexOf('cucumber')>-1)return '๐Ÿฅ—';if(s.indexOf('pizza')>-1)return '๐Ÿ•';if(s.indexOf('burger')>-1)return '๐Ÿ”';if(s.indexOf('coffee')>-1||s.indexOf('latte')>-1)return 'โ˜•';if(s.indexOf('taco')>-1)return '๐ŸŒฎ';if(s.indexOf('sushi')>-1||s.indexOf('salmon')>-1)return '๐Ÿฃ';if(s.indexOf('steak')>-1||s.indexOf('beef')>-1)return '๐Ÿฅฉ';if(s.indexOf('rice')>-1||s.indexOf('bowl')>-1)return '๐Ÿš';if(s.indexOf('bread')>-1||s.indexOf('bak')>-1)return '๐Ÿž';return '๐Ÿด';} function setProgress(pct,msg){var f=document.getElementById('cvt-progress-fill');if(f)f.style.width=pct+'%';var p=document.getElementById('cvt-progress-pct');if(p)p.textContent=pct+'%';if(msg){var m=document.getElementById('cvt-progress-msg');if(m)m.textContent=msg;}} function renderCards(items){ var g=document.getElementById('cvt-grid'); if(!items||!items.length){g.innerHTML='
๐Ÿ”
No items found
Try a different filter or ask an admin to run a new scan.
';return;} var mx=0;for(var ii=0;iimx)mx=items[ii].engagement_score||0;} window._cvtUrls={};var html=''; for(var idx=0;idx0?Math.round((item.engagement_score/mx)*100):0,em=getEmoji(item.title),uk='u'+idx; window._cvtUrls[uk]=item.direct_url||''; var dt=item.data_type==='real_engagement'?'๐ŸŸข real':item.data_type==='curated_seed'?'๐Ÿ“Œ curated':'โฌœ est.'; var th=item.thumbnail?(''):em; html+='
'+item.rank+'
'+ps+'
'+th+'
'+(item.creator||'')+(item.hours_since_published!==undefined?''+item.hours_since_published+'h ago':'')+'
'+(item.title||'Untitled')+'
Engagement score'+((item.engagement_score||0).toLocaleString())+'
'+fmtNum(item.views)+'
Views
'+fmtNum(item.likes)+'
Likes
'+fmtNum(item.shares)+'
Shares
'+(item.reason||'')+'
'+dt+'
'; } g.innerHTML=html; } window.cvtCardClick=function(el){var url=(window._cvtUrls||{})[el.getAttribute('data-uk')];if(url)window.open(url,'_blank');}; window.cvtWatchClick=function(el){var url=(window._cvtUrls||{})[el.getAttribute('data-uk')];if(url)window.open(url,'_blank');}; window.cvtCopyClick=function(el){var url=(window._cvtUrls||{})[el.getAttribute('data-uk')]||'';if(navigator.clipboard)navigator.clipboard.writeText(url).then(function(){cvtToast('๐Ÿ“‹ Link copied!');});}; function updateStats(d){var it=d.top_trending_content||[];document.getElementById('cvt-s-items').textContent=it.length;var mv=0;for(var i=0;imv)mv=it[i].views||0;}document.getElementById('cvt-s-views').textContent=fmtNum(mv);var plats={};for(var i=0;ims)ms=it[i].engagement_score||0;}document.getElementById('cvt-s-score').textContent=ms.toLocaleString();document.getElementById('cvt-count-lbl').textContent=it.length+' items';if(d.next_refresh&&cvtIsAdmin){var h=document.getElementById('cvt-admin-hint');if(h)h.textContent='Next auto-refresh: '+d.next_refresh+' | Run Scan to refresh now ('+(YT_FEEDS.length+REDDIT_SUBS.length+BLOG_FEEDS.length)+' sources)';}} function applyFilters(){if(!cvtAllData)return;var it=cvtAllData.top_trending_content.slice();if(cvtCurrentPlat!=='All'){it=it.filter(function(i){return (i.platform||'').toLowerCase().indexOf(cvtCurrentPlat.toLowerCase())>-1;});}if(cvtCurrentSort==='rank')it.sort(function(a,b){return a.rank-b.rank;});else if(cvtCurrentSort==='views')it.sort(function(a,b){return (b.views||0)-(a.views||0);});else if(cvtCurrentSort==='engagement_score')it.sort(function(a,b){return (b.engagement_score||0)-(a.engagement_score||0);});else if(cvtCurrentSort==='hours_since_published')it.sort(function(a,b){return (a.hours_since_published||999)-(b.hours_since_published||999);});renderCards(it);} window.cvtSortBy=function(k,el){cvtCurrentSort=k;document.querySelectorAll('#cvt-root .cvt-chip').forEach(function(c){c.classList.remove('active');});el.classList.add('active');var all=document.getElementById('cvt-chip-all');if(all)all.classList.add('active');applyFilters();}; window.cvtFilterPlat=function(p,el){cvtCurrentPlat=p;document.querySelectorAll('#cvt-root .cvt-chip').forEach(function(c){c.classList.remove('active');});el.classList.add('active');applyFilters();}; window.cvtToast=function(msg){var t=document.getElementById('cvt-toast');if(!t)return;t.textContent=msg;t.classList.add('show');clearTimeout(cvtToastT);cvtToastT=setTimeout(function(){t.classList.remove('show');},2800);}; window.cvtExportJSON=function(){if(!cvtAllData){cvtToast('No data yet');return;}var b=new Blob([JSON.stringify(cvtAllData,null,2)],{type:'application/json'});var a=document.createElement('a');a.href=URL.createObjectURL(b);a.download='cookingviral-trending-'+new Date().toISOString().split('T')[0]+'.json';a.click();cvtToast('โฌ‡ JSON downloaded!');}; function setCacheStatus(status,timeStr){var dot=document.getElementById('cvt-cache-dot'),lbl=document.getElementById('cvt-cache-label');if(!dot||!lbl)return;dot.className='cvt-cache-dot';if(status==='ok'){lbl.textContent='Live data cached'+(timeStr?' โ€” last updated '+timeStr:'');}else if(status==='stale'){dot.classList.add('stale');lbl.textContent='Cache stale';}else{dot.classList.add('empty');lbl.textContent='No cache โ€” admin needs to scan';}} var cvtLoadCache=function(){return new Promise(function(res){fetch(CVT_REST).then(function(r){return r.json();}).then(function(d){if(d.status==='ok'&&d.data){cvtAllData=d.data;updateStats(cvtAllData);applyFilters();var s=document.getElementById('cvt-summary');if(s){s.innerHTML='Trending as of: '+(d.time||'recently')+'. '+(cvtAllData.summary||'');s.classList.add('show');}setCacheStatus('ok',d.time);var st=document.getElementById('cvt-status-txt');if(st)st.textContent='Up to date';}else{setCacheStatus('empty',null);var st=document.getElementById('cvt-status-txt');if(st)st.textContent='No data yet';if(!cvtIsAdmin){var g=document.getElementById('cvt-grid');if(g)g.innerHTML='
๐Ÿ”ฅ
Trends loading soon
Our team updates this tracker regularly. Check back shortly!
';}}res();}).catch(function(){setCacheStatus('empty',null);res();});});}; // โ”€โ”€ EXPANDED RSS SOURCES โ”€โ”€ var YT_FEEDS=[ {url:'https://www.youtube.com/feeds/videos.xml?channel_id=UCbpMy0Fg74eXXkvxJrtEn3w',name:'Bon Appetit'}, {url:'https://www.youtube.com/feeds/videos.xml?channel_id=UCKHhA5hN2UohhFDfNXB_cvQ',name:'Gordon Ramsay'}, {url:'https://www.youtube.com/feeds/videos.xml?channel_id=UCJHA_jMfCvEnv-3kRjTCQXw',name:'Binging w Babish'}, {url:'https://www.youtube.com/feeds/videos.xml?channel_id=UCVdHaSzMKEFnBe26GJKK5cA',name:'Joshua Weissman'}, {url:'https://www.youtube.com/feeds/videos.xml?channel_id=UCepDMUnqzd25hB7lIch9z3A',name:'Ethan Chlebowski'}, {url:'https://www.youtube.com/feeds/videos.xml?channel_id=UCJFp8uSYCjXOMnkUyb3CQ3Q',name:'Tasty'}, {url:'https://www.youtube.com/feeds/videos.xml?channel_id=UCDAzoBlNeLDT22VprivakZA',name:'Adam Ragusea'}, {url:'https://www.youtube.com/feeds/videos.xml?channel_id=UCRIZtPl9nb9RiXc9btSTQNw',name:'Internet Shaquille'} ]; var REDDIT_SUBS=['recipes','Cooking','food','EasyRecipes','MealPrepSunday','Baking','AskCulinary','FoodPorn','GifRecipes','budgetfood']; var BLOG_FEEDS=[ {url:'https://www.seriouseats.com/feeds/all.xml',name:'Serious Eats'}, {url:'https://www.budgetbytes.com/feed/',name:'Budget Bytes'}, {url:'https://smittenkitchen.com/feed/',name:'Smitten Kitchen'}, {url:'https://www.halfbakedharvest.com/feed/',name:'Half Baked Harvest'}, {url:'https://www.pinchofyum.com/feed',name:'Pinch of Yum'}, {url:'https://www.thekitchn.com/main.rss',name:'The Kitchn'}, {url:'https://food52.com/blog.rss',name:'Food52'}, {url:'https://www.allrecipes.com/feeds/allrecipes.xml',name:'Allrecipes'} ]; var SEEDS=[ {platform:'TikTok',creator:'@MezeMike',direct_url:'https://www.tiktok.com/search?q=viral+doner+kebab',title:'Viral Homemade Doner Kebab No Rotisserie!',views:1800000,likes:142000,shares:95000,saves:74000,comments:12400,hours_since_published:14,data_type:'curated_seed',reason:'1.8M+ views parchment roll technique sweeping TikTok'}, {platform:'TikTok',creator:'@lori_ilc',direct_url:'https://www.tiktok.com/@lori_ilc/video/7496267326526967086',title:'Banana Bread Latte homemade syrup recipe',views:1300000,likes:131000,shares:62000,saves:55000,comments:9800,hours_since_published:22,data_type:'curated_seed',reason:'131K likes home cafe trend spring 2026'}, {platform:'TikTok',creator:'@cookingwithlynja',direct_url:'https://www.tiktok.com/search?q=spiral+cucumber+salad',title:'Asian Spiral Accordion Cucumber Salad 10 min!',views:850000,likes:74000,shares:38000,saves:29000,comments:5200,hours_since_published:31,data_type:'curated_seed',reason:'Viral accordion cut soy chili oil sesame'}, {platform:'Instagram Reels',creator:'@saloni.kukreja',direct_url:'https://www.instagram.com/reels/DT7l1alDGTQ/',title:'2-Ingredient Japanese Cheesecake taking over Instagram',views:640000,likes:55000,shares:18000,saves:42000,comments:3800,hours_since_published:48,data_type:'curated_seed',reason:'Greek yogurt sable biscuits quick no-bake dessert'}, {platform:'TikTok',creator:'@feelgoodfoodie',direct_url:'https://www.tiktok.com/search?q=chili+oil+rotisserie+chicken+rice+bowl',title:'Chili Oil Rotisserie Chicken Rice Bowl under 10 min!',views:510000,likes:43000,shares:21000,saves:18000,comments:3100,hours_since_published:19,data_type:'curated_seed',reason:'Cozy high-protein bowl trending hard'}, {platform:'YouTube Shorts',creator:'@airfryerking',direct_url:'https://www.youtube.com/results?search_query=air+fryer+twisted+bacon+2026',title:'Air Fryer Twisted Bacon Hack crispy every time!',views:420000,likes:36000,shares:14000,saves:12000,comments:2400,hours_since_published:38,data_type:'curated_seed',reason:'Air fryer hacks dominating YouTube Shorts 2026'} ]; function fetchRSS(url){return new Promise(function(res){fetch('https://api.rss2json.com/v1/api.json?rss_url='+encodeURIComponent(url)).then(function(r){return r.json();}).then(res).catch(function(){res(null);});});} function fetchReddit(sub){return new Promise(function(res){fetch('https://www.reddit.com/r/'+sub+'/hot.json?limit=12&t=week',{headers:{Accept:'application/json'}}).then(function(r){return r.json();}).then(res).catch(function(){res(null);});});} function calcScore(v,l,sh,sv,c){return Math.round(((v||0)*.3+(l||0)*2+(sh||0)*5+(sv||0)*4+(c||0)*1.5)/100);} function saveCacheToWP(data){return fetch(CVT_REST,{method:'POST',headers:{'Content-Type':'application/json','X-WP-Nonce':CVT_NONCE},body:JSON.stringify(data)}).then(function(r){return r.json();}).then(function(d){return d.status==='saved';}).catch(function(){return false;});} window.cvtRunScan=function(){ if(!cvtIsAdmin){cvtToast('Admin access required');return;} var btn=document.getElementById('cvt-scan-btn'); btn.disabled=true;btn.textContent='Scanning...'; var st=document.getElementById('cvt-status-txt');if(st)st.textContent='Scanning...'; var pw=document.getElementById('cvt-progress-wrap');if(pw)pw.classList.add('active'); var su=document.getElementById('cvt-summary');if(su)su.classList.remove('show'); var g=document.getElementById('cvt-grid');if(g)g.innerHTML='
Scanning '+YT_FEEDS.length+' YouTube channels, '+REDDIT_SUBS.length+' subreddits, '+BLOG_FEEDS.length+' food blogs...
'; setProgress(5,'Initializing...'); var items=[],rank=1,p=Promise.resolve(); // YouTube (8 channels, 3 videos each = up to 24 items) p=p.then(function(){setProgress(8,'Scanning YouTube channels...');}); YT_FEEDS.forEach(function(f,fi){p=p.then(function(){return fetchRSS(f.url).then(function(d){if(d&&d.items){d.items.slice(0,3).forEach(function(v){var hrs=Math.round((Date.now()-new Date(v.pubDate).getTime())/3600000),ev=Math.round((500+Math.random()*1500)*1000),el=Math.round(ev*(0.03+Math.random()*.08)),es=Math.round(el*(0.2+Math.random()*.4));items.push({rank:rank++,platform:'YouTube',direct_url:v.link||'https://youtube.com',title:v.title||'',creator:'@'+f.name.replace(/s+/g,'').toLowerCase(),views:ev,likes:el,shares:es,saves:Math.round(el*.3),comments:Math.round(ev*.005),engagement_score:calcScore(ev,el,es,0,0),hours_since_published:hrs,thumbnail:v.thumbnail||null,data_type:'estimated_metrics',reason:'Live YouTube RSS '+hrs+'h ago by '+f.name});});}setProgress(8+Math.round((fi+1)/YT_FEEDS.length*22),'YouTube: '+f.name);});});}); // Reddit (10 subs, 2 posts each = up to 20 items) p=p.then(function(){setProgress(32,'Scanning Reddit...');}); REDDIT_SUBS.forEach(function(sub,si){p=p.then(function(){return fetchReddit(sub).then(function(d){if(d&&d.data&&d.data.children){d.data.children.slice(0,2).forEach(function(post){var pd=post.data;if(!pd.title)return;var hrs=Math.round((Date.now()-pd.created_utc*1000)/3600000),views=(pd.upvote_ratio||.9)*(pd.ups||0)*20;items.push({rank:rank++,platform:'Reddit',direct_url:'https://reddit.com'+(pd.permalink||''),title:pd.title,creator:'u/'+(pd.author||'redditor'),views:Math.round(views),likes:pd.ups||0,shares:Math.round(pd.num_comments*.5),saves:0,comments:pd.num_comments||0,engagement_score:calcScore(views,pd.ups,Math.round(pd.num_comments*.5),0,pd.num_comments),hours_since_published:hrs,thumbnail:(pd.thumbnail&&pd.thumbnail.startsWith('http'))?pd.thumbnail:null,data_type:'real_engagement',reason:fmtNum(pd.ups)+' upvotes on r/'+sub});});}setProgress(32+Math.round((si+1)/REDDIT_SUBS.length*28),'Reddit: r/'+sub);});});}); // Food Blogs (8 blogs, 2 posts each = up to 16 items) p=p.then(function(){setProgress(62,'Scanning food blogs...');}); BLOG_FEEDS.forEach(function(b,bi){p=p.then(function(){return fetchRSS(b.url).then(function(d){if(d&&d.items){d.items.slice(0,2).forEach(function(item){var hrs=Math.round((Date.now()-new Date(item.pubDate).getTime())/3600000),ev=Math.round((20+Math.random()*180)*1000),el=Math.round(ev*.04);items.push({rank:rank++,platform:'Food Blog',direct_url:item.link||'#',title:item.title||'',creator:'@'+b.name.replace(/s+/g,'').toLowerCase(),views:ev,likes:el,shares:Math.round(el*.3),saves:Math.round(el*.5),comments:0,engagement_score:calcScore(ev,el,Math.round(el*.3),0,0),hours_since_published:hrs,thumbnail:item.thumbnail||null,data_type:'estimated_metrics',reason:'Published on '+b.name+' '+hrs+'h ago'});});}setProgress(62+Math.round((bi+1)/BLOG_FEEDS.length*18),'Blog: '+b.name);});});}); // Seeds + finalize p=p.then(function(){ setProgress(82,'Adding curated viral seeds...'); SEEDS.forEach(function(s){var sc=JSON.parse(JSON.stringify(s));sc.rank=rank++;sc.engagement_score=calcScore(sc.views,sc.likes,sc.shares,sc.saves,sc.comments);sc.thumbnail=null;items.push(sc);}); items.sort(function(a,b){return (b.engagement_score||0)-(a.engagement_score||0);}); items.forEach(function(item,i){item.rank=i+1;}); var today=new Date(),pc={};items.forEach(function(i){pc[i.platform]=(pc[i.platform]||0)+1;}); var nextRefresh=new Date(today.getTime()+6*3600000); cvtAllData={date:today.toISOString().split('T')[0],update_time_utc:today.toISOString().split('T')[1].split('.')[0],scraper_version:'4.2.0',sources_used:Object.keys(pc),source_counts:{youtube:YT_FEEDS.length,reddit:REDDIT_SUBS.length,blogs:BLOG_FEEDS.length,curated:SEEDS.length},items_found:items.length,top_trending_content:items,next_refresh:nextRefresh.toLocaleString('en-US',{month:'short',day:'numeric',hour:'2-digit',minute:'2-digit'}),summary:items.length+' items from '+YT_FEEDS.length+' YT channels, '+REDDIT_SUBS.length+' subreddits, '+BLOG_FEEDS.length+' food blogs + '+SEEDS.length+' curated. Top: "'+items[0].title.substring(0,45)+'..."'}; setProgress(95,'Saving to cache...'); return saveCacheToWP(cvtAllData); }).then(function(saved){ setProgress(100,'Scan complete!'); updateStats(cvtAllData); var s=document.getElementById('cvt-summary');if(s){s.innerHTML='Scan complete: '+cvtAllData.summary+' | Next auto-refresh: '+cvtAllData.next_refresh;s.classList.add('show');} applyFilters();setCacheStatus('ok',new Date().toLocaleString()); var st=document.getElementById('cvt-status-txt');if(st)st.textContent='Up to date'; cvtToast(saved?'โœ… '+cvtAllData.items_found+' items scanned & cached!':'โš  Scanned but cache save failed'); }).catch(function(err){ console.error('Scan error:',err); if(!cvtAllData){var today=new Date();var fb=SEEDS.map(function(s,i){var sc=JSON.parse(JSON.stringify(s));sc.rank=i+1;sc.engagement_score=calcScore(sc.views,sc.likes,sc.shares,sc.saves,sc.comments);sc.thumbnail=null;return sc;});cvtAllData={date:today.toISOString().split('T')[0],scraper_version:'4.2.0',sources_used:['TikTok','Instagram','YouTube'],items_found:fb.length,top_trending_content:fb,summary:'Curated trends.'};updateStats(cvtAllData);applyFilters();} cvtToast('โš  Partial scan โ€” showing available data'); }).then(function(){ var btn=document.getElementById('cvt-scan-btn');if(btn){btn.disabled=false;btn.textContent='โ–ถ Run Scan';} setTimeout(function(){var pw=document.getElementById('cvt-progress-wrap');if(pw)pw.classList.remove('active');},3000); }); }; function cvtInit(){ cvtIsAdmin=document.body.classList.contains('logged-in')&&!!document.getElementById('wpadminbar'); if(cvtIsAdmin){ var badge=document.getElementById('cvt-admin-badge');if(badge)badge.classList.add('visible'); var sb=document.getElementById('cvt-scan-btn');if(sb)sb.style.cssText='display:inline-flex !important;'; var eb=document.getElementById('cvt-export-btn');if(eb)eb.style.cssText='display:inline-flex !important;'; var h=document.getElementById('cvt-admin-hint'); if(h){h.textContent=YT_FEEDS.length+' YT channels + '+REDDIT_SUBS.length+' subreddits + '+BLOG_FEEDS.length+' blogs | Auto-refresh every 6h via WP Cron';h.style.display='block';} } cvtLoadCache().then(function(){ if(!cvtAllData&&cvtIsAdmin){var g=document.getElementById('cvt-grid');if(g)g.innerHTML='
๐Ÿ”ฅ
No cache yet
Click Run Scan to pull from '+YT_FEEDS.length+' YT channels, '+REDDIT_SUBS.length+' Reddit subs and '+BLOG_FEEDS.length+' food blogs.
';} }); } cvtInit(); })();