Thêm cây bạn đang có để Lahub nhắc việc, theo dõi và cùng cây lớn lên.
Chưa biết cây mình tên gì?
Mở Từ điển để tìm theo nhu cầu: ít nắng, dễ chăm, cây Tết.
'}
var PREVIEW=/[?&]preview=1/.test((typeof location!=="undefined"&&location.search)||"")&&typeof window!=="undefined"&&window.parent!==window,DEMO=/[?&](demo|preview)=1/.test((typeof location!=="undefined"&&location.search)||""),SK=DEMO?"lahub1demo":"lahub1",EASYP=[[1,2,0,-1],[2,0,0,-1],[1,0,0,-1]];
function dplants(){return plants.filter(function(p){return S.dis==="Tất cả"||(S.dis==="Trang trí"&&p.g==="Trong nhà")||(S.dis==="Ra hoa"&&p.g==="Lan")})}
function newPlant(nm,grp,loc,dp,ss,acq,photo){var id=plants.length,G=dp?DICT[dp[0]].g[dp[1]]:null;ss=Math.max(0,Math.min(4,+ss||0));var p={id:id,n:nm,g:grp,v:grp==="Lan"?2:0,s:"Mới thêm",st:"ok",loc:loc||"Chưa đặt vị trí",note:"Hồ sơ mới tạo"+(ss?" · tình trạng lúc thêm: "+STG[ss][0]:"")+".",w:"—",l:"—",t:G?G.tp:"—",log:["Vừa xong · Tạo hồ sơ cây"+(ss?" ("+STG[ss][0]+")":"")],weeks:[{st:ss>=4?2:ss>=2?1:0,h:0,l:10,t:26,a:"Thoáng",m:55,nutr:[],note:"Hồ sơ mới. Hãy ghi chỉ số tuần đầu tiên."}],ph:{},xp:STG[ss][1],startStage:ss,created:dk(),acquired:acq||dk(),dict:dp?[dp[0],dp[1],dp[2],-1]:undefined};if(photo){p.ph[0]=[photo]}plants.push(p);return id}
function syncWeeks(){plants.forEach(function(p){if(!p.created||!Array.isArray(p.weeks))return;var d=dayN(p.created),w=Math.floor((d||0)/7);while(p.weeks.length<=w&&p.weeks.length<520){var L=p.weeks[p.weeks.length-1];p.weeks.push({st:L.st,h:L.h,l:L.l,t:L.t,a:L.a,m:L.m,nutr:[],note:""})}})}
function wkLocked(p){return !!p.created&&S.wk'+Sp.n+' ('+Sp.l+')'})})});
return '
Thêm cây
'+(idOK()?'
'+idHtml()+'
':'')+'
Cây đã lớn sẵn vẫn được ghi đúng tình trạng, nhưng điểm và Lacoin chỉ tính cho sự phát triển từ hôm nay. Lịch sử các tuần đã qua không sửa được.
'}
function save(){syncSoon();if(S.gp)lbSoon();try{var P=plants.map(function(p){var c={};for(var k in p)if(k!=="ph")c[k]=p[k];c.ph=phClean(p.ph);return c}),cm={};for(var k in S.cm)if(["form","menu","photo","chat"].indexOf(k)<0)cm[k]=S.cm[k];localStorage.setItem(SK,JSON.stringify({P:P,T:tasks,u:S.u,lc:S.lc,rw:S.rw,cart:S.cart,ord:S.orders,pr:S.pr,cm:cm,po:POSTS.map(function(p){var c={};for(var k in p)c[k]=p[k];if(c.img)c.img=null;return c}),pend:S.pend,fav:S.fav,left:S.left,thr:THR,bil:S.billing,vc:S.vc,ob:S.ob,ck:S.ck,lp:S.lp,tut:S.tut,day:S.day,allf:S.allf,wd:S.wd,affl:S.affl,lcq:S.lcq||[],phup:S.phUp,aid:S.aiDay,gp:S.gp,trial:S.trial,keep:S.keep,kd:S.keepDay,nr:S.nr,fb:S.fb,nf:S.nf,gd:S.gd,gsel:S.gsel,envh:S.envh}))}catch(e){}}
function load(){try{var d=san(JSON.parse(localStorage.getItem(SK)||"null"));if(!d)return;plants.length=0;d.P.forEach(function(p){p.ph=phClean(p.ph);plants.push(p)});S.phUp=(d.phup&&typeof d.phup==="object"&&!Array.isArray(d.phup))?d.phup:{};S.aiDay=d.aid&&typeof d.aid==="object"?{d:String(d.aid.d||""),n:Math.max(0,+d.aid.n||0)}:null;tasks.length=0;d.T.forEach(function(x){tasks.push(x)});S.u=d.u;S.lc=d.lc;S.rw=d.rw;S.cart=d.cart;S.orders=d.ord;S.pr=d.pr;for(var k in d.cm)S.cm[k]=d.cm[k];POSTS.length=0;d.po.forEach(function(p){POSTS.push(p)});S.pend=d.pend;S.fav=d.fav;S.left=d.left;THR.length=0;d.thr.forEach(function(x){THR.push(x)});S.billing=d.bil;S.vc=d.vc||null;if(d.ob)S.ob=d.ob;if(d.ck)S.ck=d.ck;if(d.lp)S.lp=d.lp;if(d.tut!=null)S.tut=d.tut;if(d.day)S.day=d.day;if(d.allf)S.allf=true;if(d.wd)S.wd=d.wd;if(d.affl)S.affl=d.affl;if(Array.isArray(d.lcq))S.lcq=d.lcq.filter(function(x){return Array.isArray(x)&&typeof x[0]==="string"&&/^[a-z0-9_]{1,32}$/.test(x[0])}).slice(-50);if(d.gp&&typeof d.gp==="object")S.gp=d.gp;if(d.trial&&typeof d.trial==="object")S.trial=d.trial;if(Array.isArray(d.keep))S.keep=d.keep;if(d.kd)S.keepDay=d.kd;if(d.nr&&typeof d.nr==="object")S.nr=d.nr;if(Array.isArray(d.fb))S.fb=d.fb;if(d.nf&&typeof d.nf==="object")S.nf=d.nf;if(Array.isArray(d.gd))S.gd=d.gd.slice(0,20).filter(function(g){return g&&typeof g.id==="string"&&/^g\d{1,3}$/.test(g.id)}).map(function(g){return {id:g.id,n:String(g.n||"").replace(/[<>]/g,"").slice(0,40),geo:g.geo&&typeof g.geo==="object"?{cc:String(g.geo.cc||""),pv:String(g.geo.pv||"").slice(0,60),lat:+g.geo.lat,lon:+g.geo.lon,src:g.geo.src==="gps"?"gps":"list"}:null}});if(typeof d.gsel==="string")S.gsel=d.gsel;if(d.envh&&typeof d.envh==="object"){S.envh={};Object.keys(d.envh).slice(0,20).forEach(function(k){if(/^g\d{1,3}$/.test(k)&&Array.isArray(d.envh[k]))S.envh[k]=d.envh[k].filter(function(r){return Array.isArray(r)&&/^\d{4}-\d\d-\d\d$/.test(r[0])&&isFinite(r[1])}).slice(-60)})}}catch(e){}}
var V={explore:explore,login:loginV,home:home,ai:ai,garden:garden,calendar:function(){return vseg(1)+calendar()},me:me,shop:shop,dict:dict,ob:ob,learn:learn,privacy:privacy,search:searchV,help:helpV,pay:payv,wd:rewards,affp:affv,comm:comm,diag:diag,scan:scan,prop:prop,notif:notif,profile:profile,rw:rewards,rank:rankPage,settings:settingsV,weather:weatherV,gardens:gardensV};
(function(){var _hv=V.help;if(_hv)V.help=function(){return _hv()+fbList()}})();
function render(){try{render0();a11yFix()}catch(e){safeMode(e)}}
function render0(){dailyReset();syncWeeks();if(!S.ob.done&&S.tab!=="login")S.tab="ob";
try{var bel=document.querySelector('[data-a="note"]');if(bel){var uc=S.ob&&S.ob.done?unreadN():0;bel.setAttribute("data-n",uc?(uc>9?"9+":String(uc)):"")}}catch(x){}var _ft=S._lt!==S.tab;if(_ft&&S._lt&&Date.now()-(toast.at||0)>700){try{$("t").className="toast"}catch(x){}}$("v").innerHTML=tr('
'+V[S.tab]()+'
');S._lt=S.tab;document.documentElement.lang=S.u.lang;if(document.body)document.body.className=S.tab==="ob"?"ob":(['garden'].indexOf(S.tab)>-1&&S.sel===null&&!S.addf?'cx':(S.tab==='garden'&&S.sel!==null?'dt':['search','help','diag','learn','privacy','profile','notif','wd','affp','pay','scan','login'].indexOf(S.tab)>-1?'nc':''));groupSec();showCoach();modalR();limIn();sideR();countUp();save();drawQR();if(S.tab!=="scan")stopCam();$("lc").innerHTML=coin(26)+fmt(S.lc);try{$("lc").style.display=lvl()>=2?"":"none"}catch(x){}
function nb(k,i,l){var NBG={garden:["calendar","prop"],explore:["dict","comm","learn","shop","scan","search","pay","weather"],me:["rw","wd","affp","profile","notif","privacy","help","login","rank","settings"]};return ''}
function nx(at,l,i){return ''}
$("nav").innerHTML=tr(nb("home","home","Hôm nay")+nb("garden","garden","Vườn")+''+nb("explore","search","Khám phá")+nb("me","user","Tôi")+nx('data-a="go" data-v="calendar"',"Lịch","cal")+nx('data-a="dictgo"',"Từ điển","garden")+nx('data-a="commgo"',"Cộng đồng","chat")+nx('data-a="shopgo" data-s="ge"',"Cửa hàng","drop")+nx('data-a="quick" data-m="x"',"Chẩn đoán","bot")+nx('data-a="propgo" data-i="0"',"Nhân giống","garden")+nx('data-a="go" data-v="scan"',"Quét QR","qr")+nx('data-a="go" data-v="rank"',"Xếp hạng","trophy"));
}
function go(v){S.tab=v;S.sel=null;S.addf=false;try{history.replaceState(null,"","#"+v)}catch(e){}window.scrollTo(0,0);render()}
function ask(html,img){if(!thr("ai",2000)){toast("Bạn gửi hơi nhanh, đợi một chút nhé");return}
if(CR.on){S.ob.ai=true;S.chat.push({u:html});S.chat.push({a:'