Financial Tracker

Dark
White
Cream
Total Income
$0
Total Expenses
$0
Net Profit
$0
Transactions
DateTypeCategoryDescriptionAmount
By Category
+_0x3314cd[_0x5f2aed(0xb7)](0x1aab+0x1f89+-0x3a32),document[_0x5f2aed(0x9b)](_0x5f2aed(0xe8))[_0x5f2aed(0xd7)]=' +_0x5b6f6e['toFixed'](0x110+0x24f3*0x1+-0x2601);const _0x40eecf=_0x3314cd-_0x5b6f6e,_0x1bb369=document[_0x5f2aed(0x9b)]('stat-profit');_0x1bb369[_0x5f2aed(0xd7)]=(_0x40eecf<-0x6*0x3d7+0x264d+-0xf43?'- :' )+Math['abs'](_0x40eecf)[_0x5f2aed(0xb7)](0x13ac+-0x1146+-0x132*0x2),_0x1bb369['style']['color']=_0x40eecf>=-0x613*0x1+0x1ad0+-0x1*0x14bd?_0x5f2aed(0xd1):'var(--accent)',updateCategoryFilter(),renderTable(),renderChart();}function renderTable(){const _0x4c14b3=_0x3af48c,_0xb7212a=getFilteredEntries(),_0x5973df=document['getElementById'](_0x4c14b3(0xe6));if(!_0xb7212a['length']){const _0x255867=(document['getElementById'](_0x4c14b3(0xcf))['value']||'')['trim'](),_0x2507ff=_0x255867?'No\x20entries\x20matching\x20\x22'+escHtml(_0x255867)+'\x22':_0x4c14b3(0xdb);return void(_0x5973df[_0x4c14b3(0xac)]=''+_0x2507ff+'');}_0x5973df['innerHTML']=_0xb7212a[_0x4c14b3(0xb6)](_0x1d949a=>'\x0a\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20'+escHtml(_0x1d949a[_0x4c14b3(0xc3)])+'\x0a\x20\x20\x20\x20\x20\x20'+_0x1d949a['entry_type']+'\x0a\x20\x20\x20\x20\x20\x20'+escHtml(_0x1d949a[_0x4c14b3(0xd9)]||'-')+_0x4c14b3(0xa8)+escHtml(_0x1d949a[_0x4c14b3(0xba)]||'-')+_0x4c14b3(0xd5)+(_0x4c14b3(0xd4)===_0x1d949a['entry_type']?_0x4c14b3(0xd1):_0x4c14b3(0xa6))+'\x22>'+('income'===_0x1d949a['entry_type']?'+':'-')+' +Number(_0x1d949a['amount'])[_0x4c14b3(0xb7)](-0x18f6+0xc43*-0x3+-0x1*-0x3dc1)+_0x4c14b3(0xcc)+_0x1d949a['id']+')\x22>x\x0a\x20\x20\x20\x20')['join']('');}function renderChart(){const _0x536908=_0x3af48c,_0xabfce0=getFilteredEntries(),_0x204f95={};_0xabfce0[_0x536908(0xdf)](_0x14c053=>_0x536908(0xe0)===_0x14c053[_0x536908(0xaa)])['forEach'](_0x107229=>{const _0x1faff8=_0x536908,_0x5d0a33=_0x107229[_0x1faff8(0xd9)]||'Other';_0x204f95[_0x5d0a33]=(_0x204f95[_0x5d0a33]||0x40d+0x2*-0x657+0x8a1)+Number(_0x107229[_0x1faff8(0xc1)]);}),catChart&&catChart[_0x536908(0xa4)]();const _0x266379=document[_0x536908(0x9b)]('cat-chart')['getContext']('2d');catChart=new Chart(_0x266379,{'type':'doughnut','data':{'labels':Object['keys'](_0x204f95),'datasets':[{'data':Object['values'](_0x204f95),'backgroundColor':[_0x536908(0xa2),_0x536908(0xb4),'#FF8156',_0x536908(0xa5),'#3B82F6','#FCD34D'],'borderWidth':0x0}]},'options':{'plugins':{'legend':{'position':'bottom','labels':{'color':_0x536908(0xde),'font':{'family':_0x536908(0x92)}}}},'cutout':_0x536908(0xb3)}});}function _0x4256(_0x22fcfe,_0x2052ba){_0x22fcfe=_0x22fcfe-(0x3*-0x337+-0xa83+0x425*0x5);const _0x22a466=_0x57ba();let _0x19bab0=_0x22a466[_0x22fcfe];if(_0x4256['skWEuB']===undefined){var _0x3bff2b=function(_0xe8046f){const _0x179cf7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x43d587='',_0x47a6bf='';for(let _0x13f8d4=0x2420+-0x93f*0x4+0xdc,_0x1b3f82,_0x4beba3,_0x558e34=-0x22*-0x88+-0xb5*0x2f+-0xf2b*-0x1;_0x4beba3=_0xe8046f['charAt'](_0x558e34++);~_0x4beba3&&(_0x1b3f82=_0x13f8d4%(0x190d+0x1*-0x9e9+0x2c*-0x58)?_0x1b3f82*(0x251*0xd+0x5f5*0x5+-0x3ba6)+_0x4beba3:_0x4beba3,_0x13f8d4++%(0x4ad*-0x1+-0xeef+0x13a0*0x1))?_0x43d587+=String['fromCharCode'](0x1a*-0xc1+-0x170a+0x2ba3&_0x1b3f82>>(-(-0x2269+0x13ac+0xebf)*_0x13f8d4&0x350+0xe*-0x2a2+0x2192)):-0x1562+0xfaa+0x5b8){_0x4beba3=_0x179cf7['indexOf'](_0x4beba3);}for(let _0x5cf4c3=0x1c9*-0x13+0x15a5+-0x2*-0x623,_0x2d4456=_0x43d587['length'];_0x5cf4c3<_0x2d4456;_0x5cf4c3++){_0x47a6bf+='%'+('00'+_0x43d587['charCodeAt'](_0x5cf4c3)['toString'](-0x2a2*0xc+0x2653+-0x6ab))['slice'](-(-0x2279+0xbd9+-0x16a2*-0x1));}return decodeURIComponent(_0x47a6bf);};_0x4256['DBqGMS']=_0x3bff2b,_0x4256['hFVcQY']={},_0x4256['skWEuB']=!![];}const _0x3c9992=_0x22a466[0x1*-0x2472+0x4b3*-0x1+0x1*0x2925],_0x45fcd4=_0x22fcfe+_0x3c9992,_0x1c5166=_0x4256['hFVcQY'][_0x45fcd4];return!_0x1c5166?(_0x19bab0=_0x4256['DBqGMS'](_0x19bab0),_0x4256['hFVcQY'][_0x45fcd4]=_0x19bab0):_0x19bab0=_0x1c5166,_0x19bab0;}function applyFilters(){renderTable(),renderChart();}function clearFilters(){const _0x3f574f=_0x3af48c;document['getElementById'](_0x3f574f(0xcf))['value']='',document['getElementById'](_0x3f574f(0x9f))['value']='',document[_0x3f574f(0x9b)](_0x3f574f(0xa0))['value']='',renderTable(),renderChart();}function openModal(){const _0x455d80=_0x3af48c;document[_0x455d80(0x9b)]('f-amount')['value']='',document[_0x455d80(0x9b)](_0x455d80(0xc4))[_0x455d80(0x96)]='',document['getElementById'](_0x455d80(0x9d))[_0x455d80(0x96)]='',document[_0x455d80(0x9b)]('f-type')['value']=_0x455d80(0xd4),document['getElementById'](_0x455d80(0xa3))[_0x455d80(0x96)]=new Date()[_0x455d80(0xd8)]()['slice'](-0x10c7+-0x1cb*0x3+0x1628,0xe04+-0x1e9a+0x1*0x10a0),document[_0x455d80(0x9b)]('modal')[_0x455d80(0xc0)]['add'](_0x455d80(0xe5));}function closeModal(){const _0x4c9fe2=_0x3af48c;document['getElementById'](_0x4c9fe2(0x98))['classList']['remove']('active');}async function saveEntry(){const _0x39ade1=_0x3af48c,_0x23f327=parseFloat(document['getElementById'](_0x39ade1(0x9c))[_0x39ade1(0x96)]),_0x42aca4=document['getElementById'](_0x39ade1(0xa3))[_0x39ade1(0x96)];_0x23f327&&_0x42aca4?await apiFetch('/tools/finances',{'method':'POST','body':JSON['stringify']({'entry_type':document[_0x39ade1(0x9b)]('f-type')['value'],'amount':_0x23f327,'category':document[_0x39ade1(0x9b)]('f-category')['value'],'entry_date':_0x42aca4,'description':document[_0x39ade1(0x9b)](_0x39ade1(0x9d))[_0x39ade1(0x96)],'currency':'USD'})})?(closeModal(),loadData()):alert('Failed\x20to\x20save\x20entry'):alert(_0x39ade1(0x97));}function _0x57ba(){const _0x206578=['zI1KzxnJ','ntK3odCYq3HHwgHj','zMLSDgvYlxr5Cgu','zMLSDgvYlwnHDgvNB3j5','nZy4nZHjCMDHzfG','iZbcrdLbnW','zI1KyxrL','zgvZDhjVEq','i0u4ntzdmW','DMfYkc0TywnJzw50kq','ywrKrxzLBNrmAxn0zw5LCG','pc90zd4kicaGicaGphrKpG','pg9WDgLVBIb2ywX1zt0I','zw50CNLFDhLWzq','z2v0sxrLBq','Aw5Uzxjive1m','rxnJyxbL','mtHTAu9hwwy','lNrOzw1LlwrKlwj0BG','y3jLyw0','C3rWx3rVA2vU','CxvLCNLtzwXLy3rVCKfSBa','nJuL','iZHcnungnG','l2XVz2LUlMH0BwW','BwfW','Dg9gAxHLza','ywrK','Dgv4Da','zgvZy3jPChrPB24','C3rWx3vZzxi','zg9JDw1LBNrfBgvTzw50','D2HPDgu','zMLSDgvYlw1VBNrO','yxbWBgLJyxrPB24VANnVBG','y2XHC3nmAxn0','yw1VDw50','y3jLyw0TBw9Kzq','zw50CNLFzgf0zq','zI1JyxrLz29YEq','mJiWmg1syKXJAG','zgf0yxnLDa','CMvTB3zLsxrLBq','Dg9Nz2XL','CxvLCNLtzwXLy3rVCG','l3rVB2XZl2zPBMfUy2vZl3n1Bw1HCNK','C2v0sxrLBq','pc90zd4kicaGicaGphrKpJXIDxr0B24Gy2XHC3m9iMrLBc1IDg4Iig9Uy2XPy2S9iMrLBgv0zuvUDhj5ka','zgL2','Dg9mB3DLCKnHC2u','zMLSDgvYlxnLyxjJAa','ndGXmZa0r0neBvzK','DMfYkc0TChjPBwfYEsK','BgLNAhqTBw9Kzq','odi4zwfUwfHb','Aw5JB21L','pc90zd4kicaGicaGphrKihn0EwXLpsjMB250lxDLAwDODdO2mda7y29SB3i6','DhjPBq','Dgv4DenVBNrLBNq','Dg9ju09tDhjPBMC','y2f0zwDVCNK','y3vYCMvUDfrHCMDLDa','tM8Gzw50CMLLCYbMB3iGDgHPCYbWzxjPB2q','zM9YrwfJAa','p21VBNrOpq','iZLdqtnbrG','zMLSDgvY','zxHWzw5Zzq','ntq0odCYuhDevMzX','A2v5','A2v5zg93BG','mJy2nZm3mgjer3fwra','ywn0AxzL','zw50CMLLCY1IB2r5','mZy4ndu5qMvbs2fV','C3rHDc1LEhbLBNnL','DgfYz2v0','ug9WCgLUCW','AM9PBG','C2XPy2u','mJK3mK93rNbAEa','DMfSDwu','qw1VDw50igfUzcbKyxrLigfYzsbYzxf1AxjLza','Bw9KywW','qMvHCMvYia','CMvTB3zL','z2v0rwXLBwvUDej5swq','zI1HBw91BNq'];_0x57ba=function(){return _0x206578;};return _0x57ba();}async function deleteEntry(_0x2e5676){confirm('Delete\x20this\x20entry?')&&(await apiFetch('/tools/finances/'+_0x2e5676,{'method':'DELETE'}),loadData());}function setTool(_0x191de6){const _0x355373=_0x3af48c,_0x599ad6=document[_0x355373(0xbc)];_0x599ad6['classList']['remove']('light-mode',_0x355373(0xc2)),_0x355373(0xbd)===_0x191de6?_0x599ad6['classList'][_0x355373(0xb8)](_0x355373(0xd2)):_0x355373(0xb0)===_0x191de6&&_0x599ad6[_0x355373(0xc0)][_0x355373(0xb8)]('cream-mode'),localStorage[_0x355373(0xcb)]('st_theme',_0x191de6);const _0x21863c=document[_0x355373(0xc9)](_0x355373(0xaf));_0x21863c&&(_0x21863c['textContent']={'dark':'🌙','white':'☀️','cream':'🌿'}[_0x191de6]||'☀️'),document[_0x355373(0xb2)]('.theme-dd-opt')['forEach'](_0x53efd3=>_0x53efd3[_0x355373(0xc0)][_0x355373(0xc8)]('active',_0x53efd3[_0x355373(0xc6)]['t']===_0x191de6));}document[_0x3af48c(0x9b)]('filter-month')['value']=now[_0x3af48c(0xd8)]()['slice'](0x4*0x15f+0x25a2+-0x2b1e,0x10*-0xab+-0x2f*0x62+0x1cb5),document[_0x3af48c(0x9b)](_0x3af48c(0xa3))[_0x3af48c(0x96)]=now['toISOString']()[_0x3af48c(0x94)](-0x65*0x32+0x1081+0xa5*0x5,0x2517+0x2*-0xfe+0x2311*-0x1),document[_0x3af48c(0x9b)](_0x3af48c(0x98))[_0x3af48c(0xa7)]('click',_0xe13042=>{const _0x42c37d=_0x3af48c;_0xe13042[_0x42c37d(0x91)]===_0xe13042[_0x42c37d(0xda)]&&closeModal();}),document['getElementById'](_0x3af48c(0xcf))[_0x3af48c(0xa7)](_0x3af48c(0xe3),_0x49b0b6=>{const _0x5243b0=_0x3af48c;_0x5243b0(0xad)===_0x49b0b6[_0x5243b0(0xe2)]&&(_0x49b0b6[_0x5243b0(0x91)][_0x5243b0(0x96)]='',renderTable(),renderChart());}),loadData(),setTool(localStorage['getItem']('st_theme')||_0x3af48c(0xbd)),document['addEventListener']('click',_0x2a5b8f=>{const _0xdb3072=_0x3af48c;_0x2a5b8f['target']['closest']('.theme-dd')||document[_0xdb3072(0xb2)]('.theme-dd-menu.open')[_0xdb3072(0xdc)](_0xd48698=>_0xd48698['classList'][_0xdb3072(0x9a)]('open'));});