1import{r as g,j as e,u as Zr,a as gt}from"./vendor-react-BPv6TnFg.js";import{s as Z,u as je,d as pt,X as Pe,E as ft,o as gr,C as mr,c as Kr}from"./index-CjMpuxY_.js";import"./index-l0sNRNKZ.js";import{S as Qr}from"./StrategyPlaybooks-B7HqarA5.js";import{u as Jt,M as mt,T as ht,E as Fe,a as Ht,c as ie,b as wr,R as jr}from"./RebuysModal-Dq0mDYzF.js";import{S as yr}from"./save-DjynxUFd.js";import{P as qe}from"./plus-BDZlOKxp.js";import{C as lt}from"./chart-column-C4kY0q3o.js";import{C as Se}from"./calendar-BIvnJaKf.js";import{T as Ie}from"./target-BYhCgQGT.js";import{T as Te}from"./trending-up-E0ZxCj4S.js";import{A as Oe}from"./activity-DeiU9oBN.js";import{B as Zt}from"./building-2-DYyZDHIy.js";import{D as Me}from"./dollar-sign-DHvG2mwn.js";import{T as Ue}from"./trash-2-DG4kpofm.js";import{B as Yt}from"./book-open-B7y7RQZl.js";import{E as Ae}from"./external-link-8tYDWFyC.js";import{C as Ge}from"./circle-check-big-WQ8c21bC.js";import{C as Xr}from"./circle-CZrvx45U.js";import{T as Re}from"./trending-down-Bsub037_.js";import{P as Et}from"./percent-Cq6CMO7-.js";import{C as Wt}from"./check-Bw1x4fK5.js";import{S as rt}from"./square-pen-CKfoKclF.js";import{E as ea}from"./pdf-tools-COZ6cDCj.js";import{D as ut}from"./download-DH6cOcdr.js";import{F as kr}from"./file-text-BuYd_zHt.js";import{D as ta}from"./database-BE2NXg71.js";import{U as Pt}from"./upload-CkG57FOo.js";import{C as bt}from"./chevron-up-CRwD_9HT.js";import{C as ze}from"./chevron-down-BflcE69q.js";import{A as dt}from"./award-D1KfYViW.js";import{Z as Nr}from"./zap-DEMO1ikr.js";import{C as ra}from"./chevron-left-DgzP6gvr.js";import{C as aa}from"./chevron-right-D1krafTt.js";import{C as _r}from"./clock-XjjXrK8y.js";import{P as Ar}from"./play-DmC2bzUf.js";import{C as sa}from"./chart-line-IJk8ecZ6.js";import{S as la}from"./search-Dx_Vf7QJ.js";const da=r=>{const[u,m]=g.useState([]),[l,b]=g.useState({}),[x,i]=g.useState({}),[t,o]=g.useState(!0),[h,j]=g.useState(null),f=g.useCallback(async()=>{if(!r){o(!1);return}o(!0),j(null);try{const{data:$,error:T}=await Z.from("trading_journal_entries").select("*").eq("user_id",r).order("date",{ascending:!1});if(T)throw T;m($||[])}catch($){console.error("Error fetching entries:",$),j($.message)}finally{o(!1)}},[r]),y=g.useCallback(async $=>{if(r)try{const{data:T,error:F}=await Z.from("trading_journal_partial_profits").select("*").eq("entry_id",$).eq("user_id",r).order("target_price",{ascending:!0});if(F)throw F;b(B=>({...B,[$]:T||[]}))}catch(T){console.error("Error fetching partial profits:",T)}},[r]),w=g.useCallback(async $=>{if(r)try{const{data:T,error:F}=await Z.from("trading_journal_rebuys").select("*").eq("entry_id",$).eq("user_id",r).order("created_at",{ascending:!0});if(F)throw F;i(B=>({...B,[$]:T||[]}))}catch(T){console.error("Error fetching rebuys:",T)}},[r]);return g.useEffect(()=>{f()},[f]),{entries:u,partialProfits:l,rebuys:x,isLoading:t,error:h,refetchEntries:f,fetchPartialProfits:y,fetchRebuys:w,setPartialProfits:b,setRebuys:i,setEntries:m}},na=r=>({addPartialProfit:async(x,i)=>{if(!r)throw new Error("User not authenticated");const{data:t,error:o}=await Z.from("trading_journal_partial_profits").insert([{...i,entry_id:x,user_id:r,is_collected:!1}]).select().single();if(o)throw o;return t},updatePartialProfit:async(x,i)=>{if(!r)throw new Error("User not authenticated");const{data:t,error:o}=await Z.from("trading_journal_partial_profits").update(i).eq("id",x).eq("user_id",r).select().single();if(o)throw o;return t},deletePartialProfit:async x=>{if(!r)throw new Error("User not authenticated");const{error:i}=await Z.from("trading_journal_partial_profits").delete().eq("id",x).eq("user_id",r);if(i)throw i},collectPartialProfit:async(x,i,t)=>{if(!r)throw new Error("User not authenticated");const{data:o,error:h}=await Z.from("trading_journal_partial_profits").select("\n *,\n trading_journal_entries (\n id,\n entry_price,\n average_entry_price,\n total_value,\n quantity,\n leverage,\n action,\n is_closed,\n exit_price,\n created_at,\n date\n )\n ").eq("id",x).eq("user_id",r).single();if(h||!o)throw h||new Error("Partial profit not found");const j=Array.isArray(o.trading_journal_entries)?o.trading_journal_entries[0]:o.trading_journal_entries;if(!j)throw new Error("Entry not found");const f=j.leverage||1,y=o.original_percentage!==void 0&&o.original_percentage!==null,w=y?o.original_percentage:o.target_percentage||100;let $,T,F;if(y){const k=t||new Date().toISOString(),{data:R}=await Z.from("trading_journal_rebuys").select("total_value, price, created_at").eq("entry_id",j.id).eq("user_id",r).eq("enabled",!0).not("created_at","is",null).lte("created_at",k).order("created_at",{ascending:!0}),E=(R==null?void 0:R.reduce((N,P)=>N+(P.total_value||0),0))||0;let L;if(j.quantity&&j.entry_price)L=j.entry_price*j.quantity;else{const{data:N}=await Z.from("trading_journal_partial_profits").select("target_percentage, collected_at, created_at").eq("entry_id",j.id).eq("user_id",r).eq("is_collected",!0).neq("id",x).order("collected_at",{ascending:!0,nullsFirst:!1});let P=j.total_value;if(N&&N.length>0)for(let p=N.length-1;p>=0;p--){const M=N[p].target_percentage||0;if(M>0&&M<100){const Q=(100-M)/100;P=P/Q}}L=P-E}$=L+E;let s=L,d=L/j.entry_price;R==null||R.forEach(N=>{const P=N.total_value/N.price;s+=N.total_value,d+=P}),T=d>0?s/d:j.entry_price;const c=j.total_value;c>0&&$>0&&(F=w/100*$/c*100)}else $=j.total_value,T=j.average_entry_price||j.entry_price;const B=$*f*(w/100)/T;let V=0;j.action==="long"?V=(i-T)*B:j.action==="short"&&(V=(T-i)*B);const _=o.target_profit!=null&&o.target_profit!==void 0&&!Number.isNaN(o.target_profit),J=_?o.target_profit:V,C={is_collected:!0,collected_price:i,collected_at:t||new Date().toISOString(),original_collected_at:t||new Date().toISOString(),actual_profit:J,original_position_size:$,original_average_price:T};_&&(C.manual_override=!0),y&&F!==void 0&&(C.target_percentage=F);const{data:A,error:G}=await Z.from("trading_journal_partial_profits").update(C).eq("id",x).eq("user_id",r).select().single();if(G)throw G;if(j.is_closed&&j.exit_price){const{data:k,error:R}=await Z.rpc("calculate_correct_pnl_with_partials",{entry_id_param:j.id,user_id_param:r,exit_price_param:j.exit_price});if(!R&&k&&k.length>0){const{final_pnl:E,percentage_gain:L}=k[0];await Z.from("trading_journal_entries").update({pnl:E,percentage_gain:L,updated_at:new Date().toISOString()}).eq("id",j.id).eq("user_id",r)}}return A}}),ia=r=>{const[u,m]=g.useState({}),[l,b]=g.useState(!1),x=g.useCallback(async()=>
1{if(r){b(!0);try{const{data:o,error:h}=await Z.from("strategy_checklist_items").select("*").eq("user_id",r).order("order_index");if(h)throw h;const j={};(o||[]).forEach(f=>{j[f.strategy_id]||(j[f.strategy_id]=[]),j[f.strategy_id].push(f)}),m(j)}catch(o){console.error("Error fetching checklist items:",o)}finally{b(!1)}}},[r]);g.useEffect(()=>{x()},[x]);const i=g.useCallback(async o=>{if(!r||!o)return{};try{const{data:h,error:j}=await Z.from("trading_journal_checklist_completions").select("*").eq("entry_id",o).eq("user_id",r);if(j)throw j;const f={};return(h||[]).forEach(y=>{f[y.checklist_item_id]=y.is_completed}),f}catch(h){return console.error("Error fetching checklist completions:",h),{}}},[r]),t=g.useCallback(async(o,h)=>{if(!(!r||!o))try{await Z.from("trading_journal_checklist_completions").delete().eq("entry_id",o).eq("user_id",r);const j=Object.entries(h).filter(([f,y])=>y).map(([f,y])=>({entry_id:o,checklist_item_id:f,user_id:r,is_completed:y}));if(j.length>0){const{error:f}=await Z.from("trading_journal_checklist_completions").insert(j);if(f)throw f}}catch(j){throw console.error("Error saving checklist completions:",j),j}},[r]);return{checklistItems:u,isLoading:l,refetchChecklistItems:x,fetchChecklistCompletions:i,saveChecklistCompletions:t}},Sr=r=>{const[u,m]=g.useState([]),[l,b]=g.useState([]),[x,i]=g.useState(!1),t=g.useCallback(async()=>{if(r){i(!0);try{const{data:y,error:w}=await Z.from("exchanges").select("*").eq("user_id",r).order("name");if(w)throw w;const $=(y||[]).filter(F=>F.is_active),T=(y||[]).filter(F=>!F.is_active);m($),b(T)}catch(y){console.error("Error fetching exchanges:",y)}finally{i(!1)}}},[r]);g.useEffect(()=>{t()},[t]);const o=g.useCallback(async y=>{if(!r)throw new Error("User not authenticated");try{const{error:w}=await Z.from("exchanges").insert({...y,user_id:r});if(w)throw w;await t()}catch(w){throw console.error("Error adding exchange:",w),w}},[r,t]),h=g.useCallback(async(y,w)=>{if(!r)throw new Error("User not authenticated");try{const{error:$}=await Z.from("exchanges").update(w).eq("id",y).eq("user_id",r);if($)throw $;await t()}catch($){throw console.error("Error updating exchange:",$),$}},[r,t]),j=g.useCallback(async y=>{if(!r)throw new Error("User not authenticated");try{const{error:w}=await Z.from("exchanges").delete().eq("id",y).eq("user_id",r);if(w)throw w;await t()}catch(w){throw console.error("Error deleting exchange:",w),w}},[r,t]),f=g.useCallback(async(y,w)=>{await h(y,{is_active:w})},[h]);return{exchanges:u,inactiveExchanges:l,isLoading:x,refetchExchanges:t,addExchange:o,updateExchange:h,deleteExchange:j,toggleExchangeStatus:f}},oa=({isOpen:r,onClose:u,onSubmit:m,editingEntry:l,onAfterSave:b,templateTrades:x=[],templateRebuysByEntryId:i={}})=>{var ge,ce;const{language:t}=je(),{user:o}=pt(),[h,j]=g.useState(!1),{strategies:f}=Jt(o==null?void 0:o.id),{checklistItems:y,fetchChecklistCompletions:w,saveChecklistCompletions:$}=ia(o==null?void 0:o.id),{exchanges:T}=Sr(o==null?void 0:o.id),[F,B]=g.useState({}),[V,_]=g.useState([]),[J,C]=g.useState(!1),[A,G]=g.useState(!1),[k,R]=g.useState(!1),[E,L]=g.useState([]),[s,d]=g.useState({date:new Date().toISOString().split("T")[0],symbol:"",action:"long",entry_price:"",stop_loss:"",exit_price:"",total_value:"",fees:"",strategy:"",notes:"",market_conditions:"",timeframe:"",leverage:"1",trade_status:"open",exchange:"",emotion_tags_opening:[],emotion_tags_during:[],emotion_tags_closing:[],lessons_learned:"",tradingview_links:[],tradingview_link:"",order_type:"market",asset_name:"",tags:[]}),[c,N]=g.useState(""),[P,p]=g.useState([]),z="trading_journal_new_add_trade_draft_v1",M=()=>{p([...P,{price:"",total_value:"",enabled:!0}])},Q=a=>{p(P.filter((S,D)=>D!==a))},re=(a,S,D)=>{const O=[...P];O[a]={...O[a],[S]:D},p(O)},ae=()=>{try{!l&&typeof window<"u"&&window.localStorage.removeItem(z)}catch(a){}u()},q=a=>{const S={stark_volatil:"highly_volatile",leicht_volatil:"slightly_volatile",konsolidierung:"consolidation",ungewiss:"uncertain"},D=a.market_conditions?S[a.market_conditions]||a.market_conditions:"";d(W=>{var Y,H;return{...W,symbol:a.symbol,action:a.action,entry_price:a.entry_price.toString(),stop_loss:((Y=a.stop_loss)==null?void 0:Y.toString())||"",exit_price:"",total_value:"",fees:"",strategy:a.strategy||"",notes:a.notes||"",market_conditions:D,timeframe:a.timeframe||"",leverage:((H=a.leverage)==null?void 0:H.toString())||"1",trade_status:"open",exchange:a.exchange||"",emotion_tags_opening:[],emotion_tags_during:[],emotion_tags_closing:[],lessons_learned:"",tradingview_links:a.tradingview_links||[],tradingview_link:a.tradingview_link||"",order_type:a.order_type||"market",asset_name:a.asset_name||"",tags:a.tags||[]}}),N("");const O=i[a.id]||[];O.length>0?p(O.map(W=>{var Y,H,de;return{price:((Y=W.price)==null?void 0:Y.toString())||"",total_value:((H=W.total_value)==null?void 0:H.toString())||"",enabled:(de=W.enabled)!=null?de:!0}})):p([]),B({}),_([]),C(!1),G(!1),R(!1),L([])};g.useEffect(()=>{if(!(!r||l))try{if(typeof window>"u")return;const a={formData:s,rebuyData:P};window.localStorage.setItem(z,JSON.stringify(a))}catch(a){}},[s,P,l,r]),g.useEffect(()=>{r&&(async()=>{var S,D,O,W;if(l){const Y={stark_volatil:"highly_volatile",leicht_volatil:"slightly_volatile",konsolidierung:"consolidation",ungewiss:"uncertain"},H=l.market_conditions?Y[l.market_conditions]||l.market_conditions:"",de=l.entry_price*(l.quantity||0);if(d({date:l.date.split("T")[0],symbol:l.symbol,action:l.action,entry_price:l.entry_price.toString(),stop_loss:((S=l.stop_loss)==null?void 0:S.toString())||"",exit_price:((D=l.exit_price)==null?void 0:D.toString())||"",total_value:de.toString(),fees:((O=l.fees)==null?void 0:O.toString())||"",strategy:l.strategy||"",notes:l.notes||"",market_conditions:H,timeframe:l.timeframe||"",leverage:((W=l.leverage)==null?void 0:W.toString())||"1",trade_status:l.trade_status,exchange:l.exchange||"",emotion_tags_opening:l.emotion_tags_opening||[],emotion_tags_during:l.emotion_tags_during||[],emotion_tags_closing:l.emotion_tags_closing||[],lessons_learned:l.lessons_learned||"",tradingview_links:l.tradingview_links||[],tradingview_link:l.tradingview_link||"",order_type:l.order_type||"market",asset_name:l.asset_name||"",tags:l.tags||[]}),N(l.average_entry_price!=null?l.average_entry_price.toString():""),l.id&&w(l.id).then(B),l.id&&(o!=null&&o.id)){const{data:me,error:Ee}=await Z.from("trading_journal_rebuys").select("*").eq("entry_id",l.id).eq("user_id",o.id
1).order("created_at",{ascending:!0});p(!Ee&&me?me.map(xe=>{var Ne,he,Ye;return{price:((Ne=xe.price)==null?void 0:Ne.toString())||"",total_value:((he=xe.total_value)==null?void 0:he.toString())||"",enabled:(Ye=xe.enabled)!=null?Ye:!1,created_at:xe.created_at}}):[])}}else{if(typeof window<"u")try{const Y=window.localStorage.getItem("calculatorToJournalData");if(Y){const H=JSON.parse(Y);d(de=>({...de,symbol:H.symbol||"",entry_price:H.entry_price||"",stop_loss:H.stop_loss||"",total_value:H.total_value||"",action:H.action||"long",leverage:H.leverage||"1",tradingview_link:H.tradingview_link||"",notes:H.notes||de.notes})),H.rebuys&&Array.isArray(H.rebuys)&&H.rebuys.length>0&&p(H.rebuys.map(de=>{var me,Ee;return{price:((me=de.price)==null?void 0:me.toString())||"",total_value:((Ee=de.total_value)==null?void 0:Ee.toString())||"",enabled:de.enabled!==void 0?de.enabled:!1}})),window.localStorage.removeItem("calculatorToJournalData");return}}catch(Y){console.error("Error loading calculator data:",Y)}if(typeof window<"u")try{const Y=window.localStorage.getItem(z);if(Y){const H=JSON.parse(Y);H.formData?d({...s,...H.formData,date:H.formData.date||new Date().toISOString().split("T")[0]}):d({date:new Date().toISOString().split("T")[0],symbol:"",action:"long",entry_price:"",stop_loss:"",exit_price:"",total_value:"",fees:"",strategy:"",notes:"",market_conditions:"",timeframe:"",leverage:"1",trade_status:"open",exchange:"",emotion_tags_opening:[],emotion_tags_during:[],emotion_tags_closing:[],lessons_learned:"",tradingview_links:[],tradingview_link:"",order_type:"market",asset_name:"",tags:[]}),H.rebuyData?p(H.rebuyData):p([])}else d({date:new Date().toISOString().split("T")[0],symbol:"",action:"long",entry_price:"",stop_loss:"",exit_price:"",total_value:"",fees:"",strategy:"",notes:"",market_conditions:"",timeframe:"",leverage:"1",trade_status:"open",exchange:"",emotion_tags_opening:[],emotion_tags_during:[],emotion_tags_closing:[],lessons_learned:"",tradingview_links:[],tradingview_link:"",order_type:"market",asset_name:"",tags:[]}),p([])}catch(Y){d({date:new Date().toISOString().split("T")[0],symbol:"",action:"long",entry_price:"",stop_loss:"",exit_price:"",total_value:"",fees:"",strategy:"",notes:"",market_conditions:"",timeframe:"",leverage:"1",trade_status:"open",exchange:"",emotion_tags_opening:[],emotion_tags_during:[],emotion_tags_closing:[],lessons_learned:"",tradingview_links:[],tradingview_link:"",order_type:"market",asset_name:"",tags:[]}),p([])}else d({date:new Date().toISOString().split("T")[0],symbol:"",action:"long",entry_price:"",stop_loss:"",exit_price:"",total_value:"",fees:"",strategy:"",notes:"",market_conditions:"",timeframe:"",leverage:"1",trade_status:"open",exchange:"",emotion_tags_opening:[],emotion_tags_during:[],emotion_tags_closing:[],lessons_learned:"",tradingview_links:[],tradingview_link:"",order_type:"market",asset_name:"",tags:[]}),p([]);B({}),_([]),C(!1),G(!1),R(!1),L([])}})()},[l,r,w,o]),g.useEffect(()=>{const a=[],S={volatile:["highly_volatile","slightly_volatile"],sideways:["consolidation"],bullish:["highly_volatile","slightly_volatile","consolidation","uncertain"],bearish:["highly_volatile","slightly_volatile","consolidation","uncertain"],stark_volatil:["highly_volatile"],leicht_volatil:["slightly_volatile"],konsolidierung:["consolidation"],ungewiss:["uncertain"],highly_volatile:["highly_volatile","volatile","stark_volatil"],slightly_volatile:["slightly_volatile","volatile","leicht_volatil"],consolidation:["consolidation","sideways","konsolidierung"],uncertain:["uncertain","ungewiss"]};if(s.strategy&&f.length>0){const D=f.find(O=>O.id===s.strategy);if(D){if(s.market_conditions&&D.market_conditions&&D.market_conditions.length>0){const O=D.market_conditions.includes(s.market_conditions),W=D.market_conditions.some(Y=>(S[Y]||[]).includes(s.market_conditions));!O&&!W&&a.push({type:"market_condition",selected:s.market_conditions,recommended:D.market_conditions,strategyName:D.name})}s.timeframe&&D.timeframes&&D.timeframes.length>0&&(D.timeframes.includes(s.timeframe)||a.push({type:"timeframe",selected:s.timeframe,recommended:D.timeframes,strategyName:D.name}))}}_(a)},[s.strategy,s.market_conditions,s.timeframe,f,t]);const X=async a=>{if(a.preventDefault(),s.strategy&&y[s.strategy]){const O=y[s.strategy].filter(W=>W.is_required&&W.category!=="teilprofite").filter(W=>!F[W.id]);if(O.length>0){const W=O.map(Y=>Y.title);L(W),R(!0);return}}if(V.length>0&&!A){C(!0);return}await le()},le=async()=>{j(!0),G(!1),C(!1);try{const a={highly_volatile:"stark_volatil",slightly_volatile:"leicht_volatil",consolidation:"
1konsolidierung",uncertain:"ungewiss"},S=s.market_conditions?a[s.market_conditions]||s.market_conditions:null,D=P.filter(K=>K.enabled&&parseFloat(K.price)>0&&parseFloat(K.total_value)>0),O=P.filter(K=>parseFloat(K.price)>0&&parseFloat(K.total_value)>0),W=O.length>0,Y=parseFloat(s.entry_price)||0,H=parseFloat(s.total_value)||0,de=[];if(Y>0&&H>0){const K=H/Y;de.push({quantity:K,price:Y})}D.forEach(K=>{const ue=parseFloat(K.price)||0,fe=parseFloat(K.total_value)||0;if(ue>0&&fe>0){const pe=fe/ue;de.push({quantity:pe,price:ue})}});const me=de.reduce((K,ue)=>K+ue.quantity,0),Ee=de.reduce((K,ue)=>K+ue.quantity*ue.price,0);let xe=me>0?Ee/me:Y||0;if(c.trim()!==""){const K=parseFloat(c);!isNaN(K)&&K>0&&(xe=K)}const Ne=l&&s.trade_status==="open"&&l.is_closed;let he=!1;if(Ne&&(o!=null&&o.id)&&(l!=null&&l.id)){const{data:K}=await Z.from("trading_journal_partial_profits").select("id, is_collected").eq("entry_id",l.id).eq("user_id",o.id);he=(K==null?void 0:K.some(ue=>ue.is_collected))||!1}const Ye={...s,market_conditions:S,timeframe:s.timeframe||null,entry_price:Y,stop_loss:s.stop_loss?parseFloat(s.stop_loss):null,exit_price:s.exit_price?parseFloat(s.exit_price):null,total_value:H,fees:s.fees?parseFloat(s.fees):null,leverage:parseFloat(s.leverage),is_closed:s.trade_status==="closed",quantity:Y>0?H/Y:0,total_quantity:me||null,average_entry_price:xe||null,has_rebuys:W,tradingview_links:s.tradingview_links.length>0?s.tradingview_links:null,tradingview_link:s.tradingview_link||null,order_type:s.order_type||null,asset_name:s.asset_name||null,tags:s.tags.length>0?s.tags:null},ve=l==null?void 0:l.id,Je=await m(Ye),ne=ve||(Je==null?void 0:Je.id)||Je;if(o!=null&&o.id&&ne){if(l&&await Z.from("trading_journal_rebuys").delete().eq("entry_id",ne).eq("user_id",o.id),O.length>0){let K;if(l)K=new Date(l.created_at||l.date);else{const{data:be,error:He}=await Z.from("trading_journal_entries").select("created_at").eq("id",ne).single();He||!be?K=new Date:K=new Date(be.created_at)}const ue=O.filter((be,He)=>{const ye=O.findIndex((Dt,at)=>at===He);return be.enabled}),fe=O.map((be,He)=>{const ye={entry_id:ne,user_id:o.id,price:parseFloat(be.price),total_value:parseFloat(be.total_value),enabled:be.enabled};return be.enabled&&(be.created_at?ye.created_at=be.created_at:ye.created_at=new Date(K.getTime()+(He+1)*1e3).toISOString()),ye}),{error:pe}=await Z.from("trading_journal_rebuys").insert(fe);if(pe)throw pe}if(he){await new Promise(fe=>setTimeout(fe,300));const{data:K,error:ue}=await Z.rpc("calculate_total_value_chronological",{p_entry_id:ne});if(!ue&&K!==null&&K!==void 0&&typeof K=="number")await Z.from("trading_journal_entries").update({total_value:K}).eq("id",ne).eq("user_id",o.id);else{const{data:fe}=await Z.from("trading_journal_rebuys").select("id").eq("entry_id",ne).eq("user_id",o.id).limit(1).single();if(fe)await Z.from("trading_journal_rebuys").update({updated_at:new Date().toISOString()}).eq("id",fe.id),await new Promise(pe=>setTimeout(pe,200));else{const{data:pe}=await Z.from("trading_journal_partial_profits").select("id").eq("entry_id",ne).eq("user_id",o.id).eq("is_collected",!0).limit(1).single();pe&&(await Z.from("trading_journal_partial_profits").update({updated_at:new Date().toISOString()}).eq("id",pe.id),await new Promise(be=>setTimeout(be,200)))}}}}ne&&s.strategy&&Object.keys(F).length>0&&await $(ne,F);try{!l&&typeof window<"u"&&window.localStorage.removeItem(z)}catch(K){}he&&b&&(await new Promise(K=>setTimeout(K,300)),await b()),u()}catch(a){console.error("Error submitting trade:",a),alert(a instanceof Error?a.message:"Fehler beim Speichern")}finally{j(!1)}},oe=(a,S)=>{const D="emotion_tags_".concat(a);d(O=>({...O,[D]:O[D].includes(S)?O[D].filter(W=>W!==S):[...O[D],S]}))},I=(a,S)=>{const D="emotion_tags_".concat(a);S&&!s[D].includes(S)&&d(O=>({...O,[D]:[...O[D],S]}))},te=(a,S)=>{const D="emotion_tags_".concat(a);d(O=>({...O,[D]:O[D].filter(W=>W!==S)}))};return r?e.jsxs("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/70 backdrop-blur-sm p-4",children:[e.jsxs("div",{className:"relative w-full max-w-5xl max-h-[90vh] overflow-hidden rounded-3xl border shadow-2xl border-[#2A2520] bg-white/90 dark:bg-[#0f0d0a]",children:[e.jsx("div",{className:"p-6 bg-gradient-to-r from-[#C9A96E] to-[#C9A96E]",children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"w-10 h-10 bg-white/20 rounded-xl flex items-center justify-center",children:l?e.jsx(yr,{className:"w-5 h-5 text-white"}):e.jsx(qe,{className:"w-5 h-5 text-white"})}),e.jsx("h2",{className:"text-2xl font-bold text-white",children:l?t==="de"?"Trade bearbeiten":"Edit Trade":t==="de"?"Neuen Trade hinzufügen":"Add New Trade"})]}),e.jsx("button",{onClick:ae,className:"w-10 h-10 bg-white/20 hover:bg-white/30 rounded-xl flex items-center justify-center text-white transition-colors",children:e.jsx(Pe,{className:"w-5 h-5"})})]})}),e.jsx("div",{className:"overflow-y-auto max-h-[calc(90vh-100px)] p-6",children:e.jsxs("form",{onSubmit:X,className:"space-y-6",children:[e.jsxs("div",{className:"relative overflow-hidden rounded-2xl border p-6 backdrop-blur-sm border-[#2A2520] bg-white/70 dark:bg-[#1A1714]/80",children:[e.jsx("div",{className:"absolute top-0 right-0 w-32 h-32 rounded-full blur-3xl bg-surface-elevated"}),e.jsxs("div",{className:"relative z-10",children:[e.jsxs("div",{className:"flex flex-col lg:flex-row lg:items-center lg:justify-between gap-4 mb-6",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"w-10 h-10 rounded-xl flex items-center justify-center bg-gradient-to-br from-[#C9A96E] to-[#C9A96E]",children:e.jsx(lt,{className:"w-5 h-5 text-white"})}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-lg font-semibold text-gray-900 dark:text-white",children:t==="de"?"Trade Grunddaten":"Basic Trade Info"}),e.jsx("p",{className:"text-sm text-gray-600 dark:text-gray-400",children:t==="de"?"Grundlegende Informationen":"Essential information"})]})]}),!l&&x.length>0&&e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-xs font-semibold uppercase tracking-wide text-gray-500 dark:text-gray-400",children:t==="de"?"Vorlage aus letzten Trades":"Template from recent trades"}),e.jsxs("select",{onChange:a=>{const S=a.target.value,D=x.find(O=>O.id===S);D&&q(D),a.target.value=""},defaultValue:"",className:"px-3 py-2 rounded-lg border border-gray-300 dark:border-gray-600 bg-white dark:bg-surface-elevated text-sm text-gray-900 dark:text-gray-100 focus:outline-none focus:ring-2 focus:ring-bronze-500",children:[e.jsx("option",{value:"",children:t==="de"?"Vorlage wählenâ¦"
1:"Choose templateâ¦"}),x.map(a=>e.jsxs("option",{value:a.id,children:[a.symbol," ⢠",a.action==="long"?"Long":"Short"," â¢"," ",a.exchange||"â"," ⢠",new Date(a.date).toLocaleDateString(t==="de"?"de-DE":"en-US")]},a.id))]})]})]}),e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4",children:[e.jsxs("div",{children:[e.jsxs("label",{className:"flex items-center text-sm font-semibold text-gray-700 dark:text-gray-300 mb-2",children:[e.jsx(Se,{className:"w-4 h-4 mr-2 text-amber-500"}),t==="de"?"Datum":"Date"," *"]}),e.jsx("input",{type:"date",value:s.date,onChange:a=>d({...s,date:a.target.value}),required:!0,className:"w-full px-4 py-3 rounded-xl border-2 border-gray-200 dark:border-gray-600 bg-white dark:bg-[#1A1714] text-gray-900 dark:text-white focus:outline-none focus:border-[#2A2520] focus:ring-4 focus:ring-bronze-500 transition-all"})]}),e.jsxs("div",{children:[e.jsxs("label",{className:"flex items-center text-sm font-semibold text-gray-700 dark:text-gray-300 mb-2",children:[e.jsx(Ie,{className:"w-4 h-4 mr-2 text-amber-500"}),"Symbol *"]}),e.jsx("input",{type:"text",value:s.symbol,onChange:a=>d({...s,symbol:a.target.value.toUpperCase()}),placeholder:"BTC, ETH, AAPL...",required:!0,className:"w-full px-4 py-3 rounded-xl border-2 border-gray-200 dark:border-gray-600 bg-white dark:bg-[#1A1714] text-gray-900 dark:text-white focus:outline-none focus:border-[#2A2520] focus:ring-4 focus:ring-bronze-500 transition-all"})]}),e.jsxs("div",{children:[e.jsxs("label",{className:"flex items-center text-sm font-semibold text-gray-700 dark:text-gray-300 mb-2",children:[e.jsx(Te,{className:"w-4 h-4 mr-2 text-amber-500"}),t==="de"?"Richtung":"Direction"," *"]}),e.jsxs("select",{value:s.action,onChange:a=>d({...s,action:a.target.value}),className:"w-full px-4 py-3 rounded-xl border-2 border-gray-200 dark:border-gray-600 bg-white dark:bg-[#1A1714] text-gray-900 dark:text-white focus:outline-none focus:border-[#2A2520] focus:ring-4 focus:ring-bronze-500 transition-all",children:[e.jsx("option",{value:"long",children:"ð Long"}),e.jsx("option",{value:"short",children:"ð Short"})]})]}),e.jsxs("div",{children:[e.jsxs("label",{className:"flex items-center text-sm font-semibold text-gray-700 dark:text-gray-300 mb-2",children:[e.jsx(Oe,{className:"w-4 h-4 mr-2 text-amber-500"}),"Status *"]}),e.jsxs("select",{value:s.trade_status,onChange:a=>d({...s,trade_status:a.target.value}),className:"w-full px-4 py-3 rounded-xl border-2 border-gray-200 dark:border-gray-600 bg-white dark:bg-[#1A1714] text-gray-900 dark:text-white focus:outline-none focus:border-[#2A2520] focus:ring-4 focus:ring-bronze-500 transition-all",children:[e.jsxs("option",{value:"planned",children:["ð ",t==="de"?"Geplant":"Planned"]}),e.jsxs("option",{value:"open",children:["ð¢ ",t==="de"?"Offen":"Open"]}),e.jsxs("option",{value:"closed",children:["ð ",t==="de"?"Geschlossen":"Closed"]})]})]}),e.jsxs("div",{className:"md:col-span-2",children:[e.jsxs("label",{className:"flex items-center text-sm font-semibold text-gray-700 dark:text-gray-300 mb-2",children:[e.jsx(Zt,{className:"w-4 h-4 mr-2 text-amber-500"}),t==="de"?"Börse":"Exchange"]}),T.length>0?e.jsxs("select",{value:s.exchange,onChange:a=>d({...s,exchange:a.target.value}),className:"w-full px-4 py-3 rounded-xl border-2 border-gray-200 dark:border-gray-600 bg-white dark:bg-[#1A1714] text-gray-900 dark:text-white focus:outline-none focus:border-[#2A2520] focus:ring-4 focus:ring-bronze-500 transition-all",children:[e.jsx("option",{value:"",children:t==="de"?"Wählen...":"Select..."}),T.map(a=>e.jsx("option",{value:a.name,children:a.display_name||a.name},a.id)),e.jsx("option",{value:"__custom__",children:t==="de"?"âï¸ Eigene eingeben...":"âï¸ Enter custom..."})]}):e.jsx("input",{type:"text",value:s.exchange,onChange:a=>d({...s,exchange:a.target.value}),placeholder:"Binance, Coinbase...",className:"w-full px-4 py-3 rounded-xl border-2 border-gray-200 dark:border-gray-600 bg-white dark:bg-[#1A1714] text-gray-900 dark:text-white focus:outline-none focus:border-[#2A2520] focus:ring-4 focus:ring-bronze-500 transition-all"}),s.exchange==="__custom__"&&e.jsx("input",{type:"text",value:"",onChange:a=>
1d({...s,exchange:a.target.value}),placeholder:t==="de"?"Börsenname eingeben...":"Enter exchange name...",className:"w-full px-4 py-3 rounded-xl border-2 border-gray-200 dark:border-gray-600 bg-white dark:bg-[#1A1714] text-gray-900 dark:text-white focus:outline-none focus:border-[#2A2520] focus:ring-4 focus:ring-bronze-500 transition-all mt-2",autoFocus:!0})]})]})]})]}),e.jsxs("div",{className:"relative overflow-hidden rounded-2xl border border-white/20 bg-gradient-to-br from-green-50 to-emerald-50 dark:from-green-900/20 dark:to-emerald-900/20 p-6 backdrop-blur-sm",children:[e.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[e.jsx("div",{className:"w-10 h-10 bg-gradient-to-br from-green-500 to-emerald-600 rounded-xl flex items-center justify-center",children:e.jsx(Me,{className:"w-5 h-5 text-white"})}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-lg font-semibold text-gray-900 dark:text-white",children:t==="de"?"Preise & Position":"Prices & Position"}),e.jsx("p",{className:"text-sm text-gray-600 dark:text-gray-400",children:t==="de"?"Preis- und Positionsdaten":"Price and position details"})]})]}),e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-4",children:[e.jsxs("div",{children:[e.jsxs("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2",children:[t==="de"?"Einstiegspreis":"Entry Price"," *"]}),e.jsx("input",{type:"number",step:"0.00001",value:s.entry_price,onChange:a=>d({...s,entry_price:a.target.value}),required:!0,className:"w-full px-3 py-2.5 rounded-lg border border-gray-300 dark:border-gray-600 bg-white dark:bg-[#1A1714] text-gray-900 dark:text-white focus:outline-none focus:ring-2 focus:ring-bronze-500"})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2",children:"Stop Loss"}),e.jsx("input",{type:"number",step:"0.00001",value:s.stop_loss,onChange:a=>d({...s,stop_loss:a.target.value}),className:"w-full px-3 py-2.5 rounded-lg border border-gray-300 dark:border-gray-600 bg-white dark:bg-[#1A1714] text-gray-900 dark:text-white focus:outline-none focus:ring-2 focus:ring-bronze-500"})]}),s.trade_status==="closed"&&e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2",children:t==="de"?"Ausstiegspreis":"Exit Price"}),e.jsx("input",{type:"number",step:"0.00001",value:s.exit_price,onChange:a=>d({...s,exit_price:a.target.value}),className:"w-full px-3 py-2.5 rounded-lg border border-gray-300 dark:border-gray-600 bg-white dark:bg-[#1A1714] text-gray-900 dark:text-white focus:outline-none focus:ring-2 focus:ring-bronze-500"})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2",children:t==="de"?"Order Typ":"Order Type"}),e.jsxs("select",{value:s.order_type,onChange:a=>d({...s,order_type:a.target.value}),className:"w-full px-3 py-2.5 rounded-lg border border-gray-300 dark:border-gray-600 bg-white dark:bg-[#1A1714] text-gray-900 dark:text-white focus:outline-none focus:ring-2 focus:ring-bronze-500",children:[e.jsx("option",{value:"market",children:"Market"}),e.jsx("option",{value:"limit",children:"Limit"}),e.jsx("option",{value:"stop",children:"Stop"}),e.jsx("option",{value:"stop_limit",children:"Stop Limit"}),e.jsx("option",{value:"trailing_stop",children:"Trailing Stop"})]})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2",children:t==="de"?"Hebel":"Leverage"}),e.jsx("input",{type:"number",step:"0.1",min:"1",max:"1000",value:s.leverage,onChange:a=>d({...s,leverage:a.target.value}),className:"w-full px-3 py-2.5 rounded-lg border border-gray-300 dark:border-gray-600 bg-white dark:bg-[#1A1714] text-gray-900 dark:text-white focus:outline-none focus:ring-2 focus:ring-bronze-500"})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2",children:"Margin ($) *"}),e.jsx("input",{type:"number",step:"0.01",value:s.total_value,onChange:a=>d({...s,total_value:a.target.value}),required:!0,className:"w-full px-3 py-2.5 rounded-lg border border-gray-300 dark:border-gray-600 bg-white dark:bg-[#1A1714] text-gray-900 dark:text-white focus:outline-none focus:ring-2 focus:ring-bronze-500"})]}),e.jsxs("div",{className:"md:col-span-2 lg:col-span-4",children:[e.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2",children:t==="de"?"à Einstiegspreis (optional, manuell)":"Avg. Entry Price (optional, manual)"}),e.jsx("input",{type:"number",step:"0.00001",value:c,onChange:a=>N(a.target.value),placeholder:t==="de"?"Leer lassen für automatische Berechnung":"Leave empty for automatic calculation",className:"w-full px-3 py-2.5 rounded-lg border border-gray-300 dark:border-gray-600 bg-white dark:bg-[#1A1714] text-gray-900 dark:text-white focus:outline-none focus:ring-2 focus:ring-bronze-500"}),e.jsx("p",{className:"mt-1 text-xs text-gray-500 dark:text-gray-400",children:t==="de"?"Nur ausfüllen, wenn der durchschnittliche Einstiegspreis von der automatischen Berechnung abweichen soll.":"Only fill this if the average entry price should differ from the automatic calculation."})]})]})]}),e.jsxs("div",{className:"relative overflow-hidden rounded-2xl border border-white/20 bg-gradient-to-br from-[#1A1714] to-[#2A2520] dark:from-[#1A1714] dark:to-[#2A2520] p-6 backdrop-blur-sm",children:[e.jsxs("div",{className:"flex items-center justify-between mb-4",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-lg font-semibold text-gray-900 dark:text-white",children:t==="de"?"Rebuys / Nachkäufe":"Rebuys / DCA"}),e.jsx("p",{className:"text-sm text-gray-600 dark:text-gray-400",children:t==="de"?"Weitere Einstiege bei die
1sem Trade":"Additional entries for this trade"})]}),e.jsxs("button",{type:"button",onClick:M,className:"flex items-center gap-2 px-4 py-2 rounded-lg bg-surface-elevated hover:bg-surface-elevated text-white font-semibold transition-colors",children:[e.jsx(qe,{className:"w-4 h-4"}),t==="de"?"Rebuy":"Add Rebuy"]})]}),P.length===0&&e.jsx("div",{className:"text-center py-6 border-2 border-dashed border-gray-300 dark:border-gray-600 rounded-lg text-gray-500 dark:text-gray-400",children:t==="de"?"Keine Rebuys hinzugefügt":"No rebuys added"}),P.length>0&&e.jsx("div",{className:"space-y-3",children:P.map((a,S)=>e.jsxs("div",{className:"grid grid-cols-12 gap-3 p-3 rounded-lg bg-white/70 dark:bg-[#1A1714]/70",children:[e.jsx("div",{className:"col-span-2 flex items-center justify-center",children:e.jsx("input",{type:"checkbox",checked:a.enabled,onChange:D=>re(S,"enabled",D.target.checked),className:"w-5 h-5 rounded border-gray-300 text-yellow-600 focus:ring-bronze-500"})}),e.jsxs("div",{className:"col-span-4",children:[e.jsx("label",{className:"block text-xs font-medium text-gray-700 dark:text-gray-300 mb-1",children:t==="de"?"Preis":"Price"}),e.jsx("input",{type:"number",step:"0.000001",value:a.price,onChange:D=>re(S,"price",D.target.value),className:"w-full px-3 py-2 rounded-lg border border-gray-300 dark:border-gray-600 bg-white dark:bg-[#1A1714] text-gray-900 dark:text-white text-sm",placeholder:"0.00"})]}),e.jsxs("div",{className:"col-span-4",children:[e.jsx("label",{className:"block text-xs font-medium text-gray-700 dark:text-gray-300 mb-1",children:t==="de"?"GröÃe ($)":"Size ($)"}),e.jsx("input",{type:"number",step:"0.01",value:a.total_value,onChange:D=>re(S,"total_value",D.target.value),className:"w-full px-3 py-2 rounded-lg border border-gray-300 dark:border-gray-600 bg-white dark:bg-[#1A1714] text-gray-900 dark:text-white text-sm",placeholder:"0.00"})]}),e.jsx("div",{className:"col-span-2 flex items-end justify-center",children:e.jsx("button",{type:"button",onClick:()=>Q(S),className:"p-2 rounded-lg bg-red-100 dark:bg-red-900/30 hover:bg-red-200 dark:hover:bg-red-900/50 text-red-600 dark:text-red-400 transition-colors",children:e.jsx(Ue,{className:"w-4 h-4"})})})]},S))})]}),e.jsxs("div",{className:"relative overflow-hidden rounded-2xl border p-6 backdrop-blur-sm border-white/20 bg-gradient-to-br from-[#1A1714] to-[#2A2520] dark:from-[#1A1714] dark:to-[#2A2520]",children:[e.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[e.jsx("div",{className:"w-10 h-10 rounded-xl flex items-center justify-center bg-gradient-to-br from-[#1A1714] to-[#2A2520]",children:e.jsx(Yt,{className:"w-5 h-5 text-white"})}),e.jsx("div",{children:e.jsx("h3",{className:"text-lg font-semibold text-gray-900 dark:text-white",children:t==="de"?"Strategie & Analyse":"Strategy & Analysis"})})]}),e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4 mb-4",children:[e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2",children:t==="de"?"Strategie":"Strategy"}),e.jsxs("select",{value:s.strategy,onChange:a=>d({...s,strategy:a.target.value}),className:"w-full px-3 py-2.5 rounded-lg border border-gray-300 dark:border-gray-600 bg-white dark:bg-[#1A1714] text-gray-900 dark:text-white focus:outline-none focus:ring-2 focus:ring-bronze-500",children:[e.jsx("option",{value:"",children:t==="de"?"Wählen...":"Select..."}),f.length>0&&e.jsx("optgroup",{label:t==="de"?"ð Meine Playbooks":"ð My Playbooks",children:f.map(a=>e.jsx("option",{value:a.id,children:a.name},a.id))}),e.jsxs("option",{value:"other",children:["âï¸ ",t==="de"?"Andere":"Other"]})]})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2",children:t==="de"?"Marktbedingungen":"Market Conditions"}),e.jsxs("select",{value:s.market_conditions,onChange:a=>d({...s,market_conditions:a.target.value}),className:"w-full px-3 py-2.5 rounded-lg border ".concat(V.some(a=>a.type==="market_condition")?"border-[#2A2520] dark:border-[#2A2520] ring-2 ring-bronze-500":"border-gray-300 dark:border-gray-600"," bg-white dark:bg-[#1A1714] text-gray-900 dark:text-white focus:outline-none focus:ring-2 focus:ring-bronze-500"),children:[e.jsx("option",{value:"",children:t==="de"?"Wählen...":"Select..."}),mt.map(a=>e.jsx("option",{value:a.value,children:a.label[t]},a.value))]}),V.some(a=>a.type==="market_condition")&&(()=>{const a=V.find(S=>S.type==="market_condition");return a?e.jsxs("div",{className:"mt-2 p-3 rounded-lg bg-surface-elevated dark:bg-surface-elevated border border-[#2A2520] dark:border-[#2A2520]",children:[e.jsxs("p",{className:"text-xs text-yellow-700 dark:text-yellow-300 flex items-center gap-1 mb-2",children:[e.jsx("span",{children:"â ï¸"}),e.jsx("span",{className:"font-semibold",children:t==="de"?"Passt nicht zur Strategie":"Doesn't match strategy"})]}),e.jsx("p",{className:"text-xs text-gray-600 dark:text-gray-400 mb-1",children:t==="de"?"Empfohlene Marktbedingungen:":"Recommended market conditions:"}),e.jsx("div",{className:"flex flex-wrap gap-2",children:a.recommended.map((S,D)=>{var W;let O=(W=mt.find(Y=>Y.value===S))==null?void 0:W.label[t];return O||(O={stark_volatil:t==="de"?"â¡ Stark Volatil":"â¡ Highly Volatile",leicht_volatil:t==="de"?"ð¨ Leicht Volatil":"ð¨ Slightly Volatile",konsolidierung:t==="de"?"âï¸ Konsolidierung":"âï¸ Consolidation",ungewiss:t==="de"?"â Ungewiss":"â Uncertain",volatile:t==="de"?"â¡ Volatil":"â¡ Volatile",sideways:t==="de"?"âï¸ Seitwärts":"âï¸ Sideways",bullish:"ð¢ Bullish",bearish:"ð´ Bearish"}[S]||S),e.jsx("span",{className:"px-2 py-1 rounded-md bg-green-100 dark:bg-green-900/30 text-green-700 dark:text-green-400 text-xs font-medium border border-green-200 dark:border-green-700/30",children:O},D)})})]}):null})()]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2",children:t==="de"?"Zeitrahmen":"Timeframe"}),e.jsxs("select",{value:s.timeframe,onChange:a=>d({...s,timeframe:a.target.value}),className:"w-full px-3 py-2.5 rounded-lg border ".concat(V.some(a=>a.type==="timeframe")?"border-[#2A2520] dark:border-[#2A2520] ring-2 ring-bronze-500":"border-gray-300 dark:border-gray-600"," bg-white dark:bg-[#1A1714] text-gray-900 dark:text-white focus:outline-none focus:ring-2 focus:ring-bronze-500"),children:[e.jsx("option",{value:"",children:t==="de"?"Wählen...":"Select..."}),ht.map(a=>e.jsx("option",{value:a.value,children:a.label},a.value))]}),V.some(a=>a.type==="timeframe")&&(()=>{const a=V.find(S=>S.type==="timeframe");return a?e.jsxs("div",{className:"mt-2 p-3 rounded-lg bg-surface-elevated dark:bg-surface-elevated border border-[#2A2520] dark:border-[#2A2520]",children:[e.jsxs("p",{className:"text-xs text-yellow-700 dark:text-yellow-300 flex items-center gap-1 mb-2",children:[e.jsx("span",{children:"â ï¸"}),e.jsx("span",{className:"font-semibold",children:t==="de"?"Passt nicht zur Strategie":"Doesn't match strategy"})]}),e.jsx("p",{className:"text-xs text-gray-600 dark:text-gray-400 mb-1",children:t==="de"?"Empfohlene Zeitrahmen:":"Recommended timeframes:"}),e.jsx("div",{className:"flex flex-wrap gap-2",children:a.recommended.map((S,D)=>{const O=ht.find(W=>W.value===S);return e.jsx("span",{className:"px-2 py-1 rounded-md bg-green-100 dark:bg-green-900/30 text-green-700 dark:text-green-400 text-xs font-medium border border-green-200 dark:border-green-700/30",children:(O==null?void 0:O.label)||S},D)})})]}):null})()]})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2",children:t==="de"?"Notizen":"Notes"}),e.jsx("textarea",{value:s.notes,onChange:a=>d({...s,notes:a.target.value}),rows:3,placeholder:t==="de"?"Deine Gedanken zum Trade...":"Your thoughts about the trade...",className:"w-full px-3 py-2.5 rounded-lg border border-gray-300 dark:border-gray-600 bg-white dark:bg-[#1A1714] text-gray-900 dark:text-white focus:outline-none focus:ring-2 focus:ring-bronze-500 resize-none"})]})]}),e.jsxs("div",{className:"relative overflow-hidden rounded-2xl border border-white/20 bg-gradient-to-br from-[#1A1714] to-[#2A2520] dark:from-[#1A1714] dark:to-[#2A2520] p-6 backdrop-blur-sm",children:[e.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[e.jsx("div",{className:"w-10 h-10 bg-gradient-to-br from-[#1A1714] to-[#2A2520] rounded-xl flex items-center justify-center",children:e.jsx(Oe,{className:"w-5 h-5 text-white"})}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-lg font-semibold text-gray-900 dark:text-white",children:t==="de"?"Emotionales Tracking (3 Phasen)":"Emotional Tracking (3 Phases)"}),e.jsx("p",{className:"text-sm text-gray-600 dark:text-gray-400",children:t==="de"?"Emotionen in verschiedenen Trading-Phasen":"Track emotions in different phases"})]})]}),e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"bg-green-50/80 dark:bg-green-900/10 rounded-xl p-4 border border-green-200 dark:border-green-800",children:[e.jsxs("div",{className:"flex items-center mb-3",children:[e.jsx("span",{className:"text-lg mr-2",children:"ð"}),e.jsx("label",{className:"text-sm font-semibold text-green-800 dark:text-green-200",children:t==="de"?"Beim Eröffnen":"When Opening"})]}),e.jsx("div",{className:"grid grid-cols-2 md:grid-cols-3 lg:grid-cols-5 ga
1p-2 mb-3",children:Fe.map(a=>e.jsxs("button",{type:"button",onClick:()=>oe("opening",a.value),className:"px-2 py-1.5 rounded-lg text-xs font-medium transition-all ".concat(s.emotion_tags_opening.includes(a.value)?"bg-green-500 text-white shadow-lg":"bg-white dark:bg-[#1A1714] text-gray-700 dark:text-gray-300 border border-gray-300 dark:border-gray-600 hover:bg-green-50 dark:hover:bg-green-900/20"),children:[e.jsx("span",{className:"mr-1",children:a.emoji}),a.label[t]]},"opening-".concat(a.value)))}),e.jsx("input",{type:"text",placeholder:t==="de"?"Eigene Emotion + Enter":"Custom emotion + Enter",className:"w-full px-3 py-2 rounded-lg border border-gray-300 dark:border-gray-600 bg-white dark:bg-[#1A1714] text-xs",onKeyDown:a=>{if(a.key==="Enter"){a.preventDefault();const S=a.currentTarget;I("opening",S.value.trim()),S.value=""}}}),s.emotion_tags_opening.length>0&&e.jsx("div",{className:"mt-2 flex flex-wrap gap-1",children:s.emotion_tags_opening.map((a,S)=>e.jsxs("span",{className:"inline-flex items-center px-2 py-1 rounded-lg text-xs bg-green-100 text-green-800 dark:bg-green-900 dark:text-green-200",children:[a,e.jsx("button",{type:"button",onClick:()=>te("opening",a),className:"ml-1 hover:text-green-600",children:"Ã"})]},S))})]}),e.jsxs("div",{className:"rounded-xl p-4 border bg-surface-elevated dark:bg-surface-elevated border-[#2A2520]",children:[e.jsxs("div",{className:"flex items-center mb-3",children:[e.jsx("span",{className:"text-lg mr-2",children:"ð"}),e.jsx("label",{className:"text-sm font-semibold text-amber-800 dark:text-amber-200",children:t==="de"?"Während des Trades":"While Trade was Open"})]}),e.jsx("div",{className:"grid grid-cols-2 md:grid-cols-3 lg:grid-cols-5 gap-2 mb-3",children:Fe.map(a=>e.jsxs("button",{type:"button",onClick:()=>oe("during",a.value),className:"px-2 py-1.5 rounded-lg text-xs font-medium transition-all ".concat(s.emotion_tags_during.includes(a.value)?"bg-surface-elevated text-white shadow-lg":"bg-white dark:bg-[#1A1714] text-gray-700 dark:text-gray-300 border border-gray-300 dark:border-gray-600 hover:bg-surface-elevated dark:hover:bg-surface-elevated"),children:[e.jsx("span",{className:"mr-1",children:a.emoji}),a.label[t]]},"during-".concat(a.value)))}),e.jsx("input",{type:"text",placeholder:t==="de"?"Eigene Emotion + Enter":"Custom emotion + Enter",className:"w-full px-3 py-2 rounded-lg border border-gray-300 dark:border-gray-600 bg-white dark:bg-[#1A1714] text-xs",onKeyDown:a=>{if(a.key==="Enter"){a.preventDefault();const S=a.currentTarget;I("during",S.value.trim()),S.value=""}}}),s.emotion_tags_during.length>0&&e.jsx("div",{className:"mt-2 flex flex-wrap gap-1",children:s.emotion_tags_during.map((a,S)=>e.jsxs("span",{className:"inline-flex items-center px-2 py-1 rounded-lg text-xs bg-surface-elevated text-amber-800 dark:bg-surface-elevated dark:text-amber-200",children:[a,e.jsx("button",{type:"button",onClick:()=>te("during",a),className:"ml-1 hover:text-amber-600",children:"Ã"})]},S))})]}),e.jsxs("div",{className:"bg-red-50/80 dark:bg-red-900/10 rounded-xl p-4 border border-red-200 dark:border-red-800",children:[e.jsxs("div",{className:"flex items-center mb-3",children:[e.jsx("span",{className:"text-lg mr-2",children:"ð"}),e.jsx("label",{className:"text-sm font-semibold text-red-800 dark:text-red-200",children:t==="de"?"Nach dem SchlieÃen":"After Closing"})]}),e.jsx("div",{className:"grid grid-cols-2 md:grid-cols-3 lg:grid-cols-5 gap-2 mb-3",children:Fe.map(a=>e.jsxs("button",{type:"button",onClick:()=>oe("closing",a.value),className:"px-2 py-1.5 rounded-lg text-xs font-medium transition-all ".concat(s.emotion_tags_closing.includes(a.value)?"bg-red-500 text-white shadow-lg":"bg-white dark:bg-[#1A1714] text-gray-700 dark:text-gray-300 border border-gray-300 dark:border-gray-600 hover:bg-red-50 dark:hover:bg-red-900/20"),children:[e.jsx("span",{className:"mr-1",children:a.emoji}),a.label[t]]},"closing-".concat(a.value)))}),e.jsx("input",{type:"text",placeholder:t==="de"?"Eigene Emotion + Enter":"Custom emotion + Enter",className:"w-full px-3 py-2 rounded-lg border border-gray-300 dark:border-gray-600 bg-white dark:bg-[#1A1714] text-xs",onKeyDown:a=>{if(a.key==="Enter"){a.preventDefault();const S=a.currentTarget;I("closing",S.value.trim()),S.value=""}}}),s.emotion_tags_closing.length>0&&e.jsx("div",{className:"mt-2 flex flex-wrap gap-1",children:s.emotion_tags_closing.map((a,S)=>e.jsxs("span",{className:"inline-flex items-center px-2 py-1 rounded-lg text-xs bg-red-100 text-red-800 dark:bg-red-900 dark:text-red-200",children:[a,e.jsx("button",{type:"button",onClick:()=>te("closing",a),className:"ml-1 hover:text-red-600",children:"Ã"})]},S))})]})]})]}),e.jsxs("div",{className:"relative overflow-hidden rounded-2xl border p-6 backdrop-blur-sm border-white/20 bg-gradient-to-br from-[#1A1714] to-[#2A2520] dark:from-[#1A1714] dark:to-[#2A2520]",children:[e.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[e.jsx("div",{className:"w-10 h-10 rounded-xl flex items-center justify-center bg-gradient-to-br from-[#1A1714] to-[#2A2520]",children:e.jsx(Ae,{className:"w-5 h-5 text-white"})}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-lg font-semibold text-gray-900 dark:text-white",children:"TradingView Links"}),e.jsx("p",{className:"text-sm text-gray-600 dark:text-gray-400",children:t==="de"?"Chart
1-Links für diesen Trade":"Chart links for this trade"})]})]}),e.jsxs("div",{className:"space-y-3",children:[s.tradingview_links.map((a,S)=>e.jsxs("div",{className:"flex gap-2",children:[e.jsx("input",{type:"url",value:a,onChange:D=>{const O=[...s.tradingview_links];O[S]=D.target.value,d({...s,tradingview_links:O})},placeholder:"https://tradingview.com/chart/...",className:"flex-1 px-3 py-2.5 rounded-lg border border-gray-300 dark:border-gray-600 bg-white dark:bg-[#1A1714] text-gray-900 dark:text-white focus:outline-none focus:ring-2 focus:ring-bronze-500 text-sm"}),e.jsx("button",{type:"button",onClick:()=>{const D=s.tradingview_links.filter((O,W)=>W!==S);d({...s,tradingview_links:D})},className:"px-3 py-2.5 bg-red-500 hover:bg-red-600 text-white rounded-lg transition-colors duration-200",children:e.jsx(Pe,{className:"w-4 h-4"})})]},S)),e.jsxs("button",{type:"button",onClick:()=>{d({...s,tradingview_links:[...s.tradingview_links,""]})},className:"w-full px-3 py-2.5 border-2 border-dashed text-slate-500 dark:text-gray-400 rounded-lg transition-colors duration-200 flex items-center justify-center gap-2 border-[#2A2520] dark:border-[#2A2520] hover:border-[#2A2520] hover:text-amber-600 dark:hover:text-amber-400",children:[e.jsx(qe,{className:"w-4 h-4"}),t==="de"?"TradingView Link hinzufügen":"Add TradingView Link"]}),s.tradingview_links.length===0&&e.jsx("div",{children:e.jsx("input",{type:"url",value:s.tradingview_link,onChange:a=>d({...s,tradingview_link:a.target.value}),placeholder:"https://tradingview.com/chart/... (Legacy)",className:"w-full px-3 py-2.5 rounded-lg border border-gray-300 dark:border-gray-600 bg-white dark:bg-[#1A1714] text-gray-900 dark:text-white focus:outline-none focus:ring-2 focus:ring-bronze-500 text-sm"})})]})]}),e.jsxs("div",{className:"relative overflow-hidden rounded-2xl border p-6 backdrop-blur-sm border-white/20 bg-gradient-to-br from-[#1A1714] to-[#2A2520] dark:from-[#1A1714] dark:to-[#2A2520]",children:[e.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[e.jsx("div",{className:"w-10 h-10 rounded-xl flex items-center justify-center bg-gradient-to-br from-[#1A1714] to-[#2A2520]",children:e.jsx(Yt,{className:"w-5 h-5 text-white"})}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-lg font-semibold text-gray-900 dark:text-white",children:"Lessons Learned"}),e.jsx("p",{className:"text-sm text-gray-600 dark:text-gray-400",children:t==="de"?"Was hast du gelernt?":"What did you learn?"})]})]}),e.jsx("textarea",{value:s.lessons_learned,onChange:a=>d({...s,lessons_learned:a.target.value}),rows:4,placeholder:t==="de"?'z.B. "Zu früh eingestiegen, nächstes Mal auf Bestätigung warten..."':'e.g. "Entered too early, wait for confirmation next time..."',className:"w-full px-4 py-3 rounded-lg border border-gray-300 dark:border-gray-600 bg-white dark:bg-[#1A1714] text-gray-900 dark:text-white focus:outline-none focus:ring-2 focus:ring-bronze-500 resize-none"})]}),s.strategy&&y[s.strategy]&&y[s.strategy].length>0&&e.jsxs("div",{className:"relative overflow-hidden rounded-2xl border p-6 backdrop-blur-sm border-white/20 bg-gradient-to-br from-[#1A1714] to-[#2A2520] dark:from-[#1A1714] dark:to-[#2A2520]",children:[e.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[e.jsx("div",{className:"w-10 h-10 rounded-xl flex items-center justify-center bg-gradient-to-br from-[#1A1714] to-[#2A2520]",children:e.jsx(Ge,{className:"w-5 h-5 text-white"})}),e.jsxs("div",{className:"flex-1",children:[e.jsx("h3",{className:"text-lg font-semibold text-gray-900 dark:text-white",children:t==="de"?"Strategie Checklist":"Strategy Checklist"}),e.jsx("p",{className:"text-sm text-gray-600 dark:text-gray-400",children:((ge=f.find(a=>a.id===s.strategy))==null?void 0:ge.name)||((ce=Ht.find(a=>a.value===s.strategy))==null?void 0:ce.label[t])||s.strategy})]}),e.jsxs("div",{className:"text-right",children:[e.jsxs("div",{className:"text-2xl font-bold text-amber-600 dark:text-amber-400",children:[Object.values(F).filter(Boolean).length,"/",y[s.strategy].filter(a=>a.category!=="teilprofite").length]}),e.jsx("div",{className:"text-xs text-gray-600 dark:text-gray-400",children:t==="de"?"Abgeschlossen":"Completed"})]})]}),e.jsx("div",{className:"space-y-3",children:y[s.strategy].filter(a=>a.category!=="teilprofite").map(a=>e.jsxs("div",{className:"flex items-start gap-3 p-4 rounded-xl bg-white/80 dark:bg-[#1A1714]/80 border border-gray-200 dark:border-gray-700 transition-all hover:shadow-md",children:[e.jsx("button",{type:"button",onClick:()=>{B(S=>({...S,[a.id]:!S[a.id]}))},className:"flex-shrink-0 mt-0.5",children:F[a.id]?e.jsx(Ge,{className:"w-5 h-5 text-amber-600 dar
1k:text-amber-400"}):e.jsx(Xr,{className:"w-5 h-5 text-gray-400 dark:text-gray-600"})}),e.jsxs("div",{className:"flex-1",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("label",{onClick:()=>{B(S=>({...S,[a.id]:!S[a.id]}))},className:"text-sm font-medium cursor-pointer transition-all ".concat(F[a.id]?"text-gray-500 dark:text-gray-400 line-through":"text-gray-900 dark:text-white"),children:a.title}),a.is_required&&e.jsx("span",{className:"px-2 py-0.5 rounded-full text-xs font-semibold bg-red-100 text-red-600 dark:bg-red-900/30 dark:text-red-400",children:t==="de"?"Pflicht":"Required"})]}),a.description&&e.jsx("p",{className:"text-xs text-gray-600 dark:text-gray-400 mt-1",children:a.description})]}),e.jsx("div",{className:"flex-shrink-0",children:e.jsx("span",{className:"text-xs font-medium px-2 py-1 rounded-lg ".concat(a.category==="entry"?"bg-green-100 text-green-700 dark:bg-green-900/30 dark:text-green-400":a.category==="exit"?"bg-red-100 text-red-700 dark:bg-red-900/30 dark:text-red-400":a.category==="risk_management"?"bg-surface-elevated text-orange-700 dark:bg-surface-elevated dark:text-orange-400":"bg-gray-100 text-gray-700 dark:bg-surface-elevated dark:text-gray-400"),children:a.category==="entry"?t==="de"?"Einstieg":"Entry":a.category==="exit"?t==="de"?"Ausstieg":"Exit":a.category==="risk_management"?"Risk":t==="de"?"Allgemein":"General"})})]},a.id))})]}),e.jsxs("div",{className:"flex gap-3 pt-4",children:[e.jsx("button",{type:"button",onClick:u,className:"flex-1 px-6 py-3 rounded-xl font-semibold bg-surface-elevated dark:bg-[#1A1714] text-slate-700 dark:text-gray-300 hover:bg-surface-elevated dark:hover:bg-gray-600 transition-colors",children:t==="de"?"Abbrechen":"Cancel"}),e.jsx("button",{type:"submit",disabled:h,className:"flex-1 px-6 py-3 rounded-xl font-semibold bg-gradient-to-r from-[#C9A96E] via-[#C9A96E] to-[#2A2520] text-white hover:opacity-95 transition-all duration-200 transform hover:scale-105 shadow-lg hover:shadow-xl disabled:opacity-50 disabled:cursor-not-allowed",children:h?t==="de"?"Speichert...":"Saving...":l?t==="de"?"Aktualisieren":"Update":t==="de"?"Hinzufügen":"Add Trade"})]})]})})]}),J&&V.length>0&&e.jsx("div",{className:"absolute inset-0 z-10 flex items-center justify-center bg-black/50 backdrop-blur-sm rounded-3xl",children:e.jsxs("div",{className:"relative w-full max-w-md mx-4 rounded-2xl border border-[#2A2520] dark:border-[#2A2520] bg-white dark:bg-surface-elevated shadow-2xl overflow-hidden",children:[e.jsx("div",{className:"bg-gradient-to-r from-[#1A1714] to-[#2A2520] px-6 py-4",children:e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"w-10 h-10 bg-white/20 rounded-xl flex items-center justify-center",children:e.jsx("span",{className:"text-2xl",children:"â ï¸"})}),e.jsx("h3",{className:"text-xl font-bold text-white",children:t==="de"?"Validierungswarnung":"Validation Warning"})]})}),e.jsxs("div",{className:"p-6 space-y-4",children:[V.map((a,S)=>e.jsx("div",{className:"p-5 rounded-xl bg-surface-elevated dark:bg-surface-elevated border border-[#2A2520] dark:border-[#2A2520]",children:e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx("span",{className:"text-2xl",children:"â ï¸"}),e.jsxs("div",{className:"flex-1 space-y-3",children:[e.jsx("p",{className:"font-semibold text-gray-900 dark:text-white",children:a.type==="market_condition"?t==="de"?"Marktbedingung stimmt nicht überein":"Market condition mismatch":t==="de"?"Zeitrahmen stimmt nicht überein":"Timeframe mismatch"}),e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"p-3 rounded-lg bg-red-50 dark:bg-red-900/20 border border-red-200 dark:border-red-700/30",children:[e.jsx("p",{className:"text-xs text-gray-600 dark:text-gray-400 mb-1",children:t==="de"?"Deine Auswahl:":"Your selection:"}),e.jsx("p",{className:"text-sm font-bold text-red-600 dark:text-red-400",children:(()=>{var D,O;if(a.type==="market_condition"){let W=(D=mt.find(Y=>Y.value===a.selected))==null?void 0:D.label[t];return W||(W={stark_volatil:t==="de"?"â¡ Stark Volatil":"â¡ Highly Volatile",leicht_volatil:t==="de"?"ð¨ Leicht Volatil":"ð¨ Slightly Volatile",konsolidierung:t==="de"?"âï¸ Konsolidierung":"âï¸ Consolidation",ungewiss:t==="de"?"â Ungewiss":"â Uncertain",volatile:t==="de"?"â¡ Volatil":"â¡ Volatile",sideways:t==="de"?"âï¸ Seitwärts":"âï¸ Sideways",bullish:"ð¢ Bullish",bearish:"ð´ Bearish"}[a.selected]||a.selected),W}else return((O=ht.find(W=>W.value===a.selected))==null?void 0:O.label)||a.selected})()})]}),e.jsxs("div",{className:"p-3 rounded-lg bg-green-50 dark:bg-green-900/20 border border-green-200 dark:border-green-700/30",children:[e.jsx("p",{className:"text-xs text-gray-600 dark:text-gray-400 mb-1",children:t==="de"?"Empfohlen:":"Recommended:"}),e.jsx("div",{className:"space-y-1",children:a.recommended.map((D,O)=>{var Y,H;let W="";return a.type==="market_condition"?(W=((Y=mt.find(de=>de.value===D))==null?void 0:Y.label[t])||"",W||(W={stark_volatil:t==="de"?"â¡ Stark Volatil":"â¡ Highly Volatile",leicht_volatil:t==="de"?"ð¨ Leicht Volatil":"ð¨ Slightly Volatile",konsolidierung:t==="de"?"âï¸ Konsolidierung":"âï¸ Consolidation",ungewiss:t==="de"?"â Ungewiss":"â Uncertain",volatile:t==="de"?"â¡ Volatil":"â¡ Volatile",sideways:t==="de"?"âï¸ Seitwärts":"âï¸ Sideways",bullish:"ð¢ Bullish",bearish:"ð´ Bearish"}[D]||D)):W=((H=ht.find(de=>de.value===D))==null?void 0:H.label)||D,e.jsx("p",{className:"text-xs font-semibold text-green-600 dark:text-green-400",children:W},O)})})]})]}),e.jsxs("p",{className:"text-xs text-gray-600 dark:text-gray-400",children:[t==="de"?"Strategie: ":"Strategy: ",e.jsx("span",{className:"font-semibold",children:a.strategyName})]})]})]})},S)),e.jsxs("div",{className:"pt-4 border-t border-gray-200 dark:border-gray-700",children:[e.jsx("p",{className:"text-sm text-gray-600 dark:text-gray-400 text-center mb-4",children:t==="de"?"Möchtest du trotzdem fortfahren?":"Do you want to continue anyway?"}),e.jsxs("div",{className:"flex gap-3",children:[e.jsx("button",{onClick:()=>{C(!1),G(!1)},className:"flex-1 px-6 py-3 rounded-xl font-semibold bg-gray-100 dark:bg-[#1A1714] text-slate-700 dark:text-gray-300 hover:bg-surface-elevated dark:hover:bg-gray-600 transition-all duration-200",children:t==="de"?"Abbrechen":"Cancel"}),e.jsx("button",{onClick:()=>{G(!0),C(!1),le()},className:"flex-1 px-6 py-3 rounded-xl font-semibold bg-gradient-to-r from-[#C9A96E] via-[#C9A96E] to-[#2A2520] text-white hover:opacity-95 transition-all duration-200 shadow-lg hover:shadow-xl",children:t==="de"?"Fortfahren":"Continue"})]})]})]})]})}),k&&E.length>0&&e.jsx("div",{className:"absolute inset-0 z-10 flex items-center justify-center bg-black/50 backdrop-blur-sm rounded-3xl",children:e.jsxs("div",{className:"relative w-full max-w-md mx-4 rounded-2xl border border-red-200 dark:border-red-700/30 bg-white dark:bg-surface-elevated shadow-2xl overflow-hidden",children:[e.jsx("div",{className:"bg-gradient-to-r from-red-500 to-[#2A2520] px-6 py-4",children:e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"w-10 h-10 bg-white/20 rounded-xl flex items-center justify-center",children:e.jsx("span",{className:"text-2xl",children:"â"})}),e.jsx("h3",{className:"text-xl font-bold text-white",children:t==="de"?"Pflichtfelder fehlen":"Required Fields Missing"})]})}),e.jsxs("div",{className:"p-6 space-y-4",children:[e.jsx("p",{className:"text-sm text-gray-700 dark:text-gray-300 mb-4",children:t==="de"?"Bitte vervollständige diese erforderlichen Checklist-Punkte:":"Please complete these required checklist items:"}),e.jsx("div",{className:"space-y-2",children:E.map((a,S)=>e.jsxs("div",{className:"flex items-start gap-3 p-3 rounded-lg bg-red-50 dark:bg-red-900/20 border border-red-200 dark:border-red-700/30",children:[e.jsx("span",{className:"text-red-500 mt-0.5",children:"â¢"}),e.jsx("p",{className:"text-sm text-gray-900 dark:text-white font-medium",children:a})]},S))}),e.jsx("button",{onClick:()=>{R(!1),L([])},className:"w-full px-6 py-3 rounded-xl font-semibold bg-gradient-to-r from-[#C9A96E] via-[#C9A96E] to-[#2A2520] text-white hover:opacity-95 transition-all duration-200 shadow-lg hover:shadow-xl",children:t==="de"?"Verstanden":"Understood"})]})]})})]}):null},ca=({isOpen:r,onClose:u,onSubmit:m,entry:l,partialProfits:b=[]})=>{const{language:x}=je(),[i,t]=g.useState(""),[o,h]=g.useState(""),[j,f]=g.useState(new Date().toISOString().split("T")[0]),[y,w]=g.useState(!1),[$,T]=g.useState(!1),[F,B]=g.useState(""),_=b.filter(E=>E.is_collected).reduce((E,L)=>E+(L.actual_profit||0),0);g.useEffect(()=>{l&&r&&(t(""),h(""),f(new Date().toISOString().split("T")[0]),T(!1),B(""))},[l,r]);const C=(()=>
1{if(!i||!l)return null;const E=(l==null?void 0:l.average_entry_price)||(l==null?void 0:l.entry_price);if(!E)return null;const L=parseFloat(i),s=o?parseFloat(o):0,d=(l==null?void 0:l.leverage)||1;let c=0;return(l==null?void 0:l.action)==="long"?c=(L-E)/E*((l==null?void 0:l.total_value)||0)*d-s:c=(E-L)/E*((l==null?void 0:l.total_value)||0)*d-s,c})(),A=()=>{if($&&F){const E=parseFloat(F);return isNaN(E)?C!==null?C+_:_>0?_:null:E}return C!==null?C+_:_>0?_:null},G=A(),k=G!==null&&G>=0;if(g.useEffect(()=>{!$&&G!==null&&l&&B(G.toFixed(2))},[G,$,l]),!r||!l)return null;const R=async E=>{if(E.preventDefault(),console.log("ð¢ CloseTradeModal handleSubmit CALLED",{hasEntry:!!l,entryId:l==null?void 0:l.id,exitPrice:i,exitPriceParsed:i?parseFloat(i):null,fees:o,closeDate:j}),!l||!i){console.warn("â ï¸ CloseTradeModal: Missing entry or exitPrice",{entry:l,exitPrice:i}),alert(x==="de"?"Bitte geben Sie einen Ausstiegspreis ein.":"Please enter an exit price.");return}w(!0);try{const L=A();if(L===null){console.warn("â ï¸ CloseTradeModal: finalTotalPnL is null"),alert(x==="de"?"Bitte geben Sie einen Ausstiegspreis ein.":"Please enter an exit price."),w(!1);return}const s=L-_,d=parseFloat(i),c=o?parseFloat(o):void 0;console.log("ð¤ CloseTradeModal calling onSubmit with:",{entryId:l.id,exitPrice:d,fees:c,closeDate:j,closePnLValue:s,finalTotalPnL:L,totalCollectedProfit:_}),await m(l.id,d,c,j,s),console.log("â
CloseTradeModal onSubmit completed successfully"),u()}catch(L){console.error("â CloseTradeModal Error closing trade:",L),alert(L instanceof Error?L.message:"Fehler beim SchlieÃen des Trades")}finally{w(!1)}};return e.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/70 backdrop-blur-sm p-4",children:e.jsxs("div",{className:"relative w-full max-w-2xl max-h-[95vh] flex flex-col overflow-hidden rounded-3xl border shadow-2xl border-[#2A2520] bg-white/90 dark:bg-[#0f0d0a]",children:[e.jsx("div",{className:"p-6 flex-shrink-0 ".concat(G!==null&&k?"bg-gradient-to-r from-green-600 to-emerald-600":"bg-gradient-to-r from-red-600 to-[#2A2520]"),children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"w-10 h-10 bg-white/20 rounded-xl flex items-center justify-center",children:G!==null&&k?e.jsx(Te,{className:"w-5 h-5 text-white"}):e.jsx(Re,{className:"w-5 h-5 text-white"})}),e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl font-bold text-white",children:x==="de"?"Trade schlieÃen":"Close Trade"}),e.jsx("p",{className:"text-white/80 text-sm",children:l.symbol})]})]}),e.jsx("button",{onClick:u,className:"w-10 h-10 bg-white/20 hover:bg-white/30 rounded-xl flex items-center justify-center text-white transition-colors",children:e.jsx(Pe,{className:"w-5 h-5"})})]})}),e.jsx("div",{className:"flex-1 overflow-y-auto p-6",children:e.jsxs("form",{onSubmit:R,className:"space-y-6",id:"close-trade-form",children:[e.jsxs("div",{className:"relative overflow-hidden rounded-2xl border p-6 backdrop-blur-sm border-[#2A2520] bg-gradient-to-br from-gray-50 to-gray-100 dark:from-[#1A1714] dark:to-[#1A1714]",children:[e.jsx("div",{className:"absolute top-0 right-0 w-32 h-32 rounded-full blur-3xl bg-surface-elevated"}),e.jsxs("div",{className:"relative z-10",children:[e.jsx("h3",{className:"text-lg font-semibold text-gray-900 dark:text-white mb-4",children:x==="de"?"Trade Ãbersicht":"Trade Overview"}),e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{children:[e.jsx("div",{className:"text-sm text-gray-600 dark:text-gray-400 mb-1",children:x==="de"?"Einstiegspreis":"Entry Price"}),e.jsxs("div",{className:"text-lg font-bold text-gray-900 dark:text-white",children:["$",(l.average_entry_price||l.entry_price).toFixed(4)]})]}),e.jsxs("div",{children:[e.jsx("div",{className:"text-sm text-gray-600 dark:text-gray-400 mb-1",children:x==="de"?"PositionsgröÃe":"Position Size"}),e.jsxs("div",{className:"text-lg font-bold text-gray-900 dark:text-white",children:["$",l.total_value.toFixed(2)]})]}),e.jsxs("div",{children:[e.jsx("div",{className:"text-sm text-gray-600 dark:text-gray-400 mb-1",children:x==="de"?"Richtung":"Direction"}),e.jsx("div",{className:"text-lg font-bold ".concat(l.action==="long"?"text-green-600 dark:text-green-400":"text-red-600 dark:text-red-400"),children:l.action==="long"?"ð Long":"ð Short"})]}),e.jsxs("div",{children:[e.jsx("div",{className:"text-sm text-gray-600 dark:text-gray-400 mb-1",children:x==="de"?"Eröffnet am":"Opened on"}),e.jsx("div",{className:"text-lg font-bold text-gray-900 dark:text-white",children:new Date(l.date).toLocaleDateString(x==="de"?"de-DE":"en-US")})]})]})]})]}),e.jsx("div",{className:"relative overflow-hidden rounded-2xl border p-6 backdrop-blur-sm border-[#2A2520] bg-gradient-to-br from-[#1A1714] to-[#2A2520] dark:from-[#1A1714] dark:to-[#2A2520]",children:e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{children:[e.jsxs("label",{className:"flex items-center text-sm font-semibold text-gray-700 dark:text-gray-300 mb-2",children:[e.jsx(Me,{className:"w-4 h-4 mr-2 text-amber-500"}),x==="de"?"Ausstiegspreis":"Exit Price"," *"]}),e.jsx("input",{type:"number",step:"0.00001",value:i,onChange:E=>t(E.target.value),required:!0,className:"w-full px-4 py-3 rounded-xl border-2 border-gray-200 dark:border-[#2A2520] bg-white dark:bg-[#1A1714] text-gray-900 dark:text-white focus:outline-none focus:border-[#2A2520] focus:ring-4 focus:ring-bronze-500 transition-all",placeholder:"0.00000"})]}),e.jsxs("div",{children:[e.jsxs("label",{className:"flex items-center text-sm font-semibold text-gray-700 dark:text-gray-300 mb-2",children:[e.jsx(Me,{className:"w-4 h-4 mr-2 text-amber-500"}),x==="de"?"Gebühren":"Fees"]}),e.jsx("input",{type:"number",step:"0.01",value:o,onChange:E=>h(E.target.value),className:"w-full px-4 py-3 rounded-xl border-2 border-gray-200 dark:border-[#2A2520] bg-white dark:bg-[#1A1714] text-gray-900 dark:text-white focus:outline-none focus:border-[#2A2520] focus:ring-4 focus:ring-bronze-500 transition-all",placeholder:"0.00"})]}),e.jsxs("div",{children:[e.jsxs("label",{className:"flex items-center text-sm font-semibold text-gray-700 dark:text-gray-300 mb-2",children:[e.jsx(Se,{className:"w-4 h-4 mr-2 text-amber-500"}),x==="de"?"Schlussdatum":"Close Date"]}),e.jsx("input",{type:"date",value:j,onChange:E=>f(E.target.value),className:"w-full px-4 py-3 rounded-xl border-2 border-gray-200 dark:border-[#2A2520] bg-white dark:bg-[#1A1714] text-gray-900 dark:text-white focus:outline-none focus:border-[#2A2520] focus:ring-4 focus:ring-bronze-500 transition-all"})]})]})}),_>0&&e.jsx("div",{className:"relative overflow-hidden rounded-2xl border p-4 backdrop-blur-sm border-[#2A2520] dark:border-[#2A2520] bg-gradient-to-br from-[#1A1714] to-[#2A2520] dark:from-[#1A1714] dark:to-[#2A2520]",children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("div",{className:"flex items-center gap-2",children:e.jsx("span",{className:"text-sm font-semibold text-gray-700 dark:text-gray-300",children:x==="de"?"Bereits realisierte Teilgewinne:":"Already realized partial profits:"})}),e.jsxs("span",{className:"text-lg font-bold text-amber-600 dar
1k:text-amber-400",children:["+$",_.toFixed(2)]})]})}),(G!==null||_>0)&&e.jsx("div",{className:"relative overflow-hidden rounded-2xl border-2 p-6 backdrop-blur-sm ".concat(G!==null&&k?"border-green-200 dark:border-green-700/30 bg-gradient-to-br from-green-50 to-emerald-50 dark:from-green-900/20 dark:to-emerald-900/20":G!==null&&!k?"border-red-200 dark:border-red-700/30 bg-gradient-to-br from-red-50 to-[#2A2520] dark:from-red-900/20 dark:to-[#2A2520]":"border-[#2A2520] dark:border-[#2A2520] bg-gradient-to-br from-[#1A1714] to-[#2A2520] dark:from-[#1A1714] dark:to-[#2A2520]"),children:e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex items-center justify-between mb-2",children:[e.jsx("div",{className:"text-sm font-semibold text-gray-700 dark:text-gray-300",children:x==="de"?"Gesamt-P&L (inkl. Teilgewinne)":"Total P&L (incl. Partial Profits)"}),i&&e.jsx("button",{type:"button",onClick:()=>T(!$),className:"px-3 py-1 text-xs rounded-lg font-medium transition-colors ".concat($?"bg-surface-elevated text-white hover:bg-surface-elevated":"bg-[#1A1714] text-gray-700 dark:text-gray-300 hover:bg-surface-elevated"),children:$?"Auto":x==="de"?"Manuell":"Manual"})]}),$&&i?e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{children:[e.jsx("label",{className:"block text-xs text-gray-600 dark:text-gray-400 mb-1",children:x==="de"?"Gesamt-P&L ($)":"Total P&L ($)"}),e.jsx("input",{type:"number",step:"0.01",value:F,onChange:E=>B(E.target.value),className:"w-full px-4 py-3 rounded-xl border-2 border-gray-200 dark:border-[#2A2520] bg-white dark:bg-[#1A1714] text-gray-900 dark:text-white focus:outline-none focus:border-[#2A2520] focus:ring-4 focus:ring-bronze-500 transition-all text-2xl font-bold",placeholder:"0.00"})]}),e.jsx("div",{className:"text-xs text-gray-500 dark:text-gray-400 italic",children:x==="de"?"Automatisch berechnet: Schlussgewinn (".concat(C!==null?C.toFixed(2):"0.00"," $) + Teilgewinne (").concat(_.toFixed(2),' $). Klicke auf "Auto" zum Zurücksetzen.'):"Automatically calculated: Close P&L (".concat(C!==null?C.toFixed(2):"0.00"," $) + Partial Profits (").concat(_.toFixed(2),' $). Click "Auto" to reset.')}),_>0&&e.jsx("div",{className:"text-xs text-amber-600 dark:text-amber-400 font-medium",children:x==="de"?"â ï¸ Hinweis: Der Gesamt-P&L muss mindestens ".concat(_.toFixed(2)," $ betragen (bereits realisierte Teilgewinne)."):"â ï¸ Note: Total P&L must be at least ".concat(_.toFixed(2)," $ (already realized partial profits).")})]}):e.jsx("div",{className:"space-y-3",children:G!==null?e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"text-center",children:[e.jsxs("div",{className:"text-4xl font-bold ".concat(k?"text-green-600 dark:text-green-400":"text-red-600 dark:text-red-400"),children:[k?"+":"","$",G.toFixed(2)]}),e.jsx("div",{className:"text-sm text-gray-600 dark:text-gray-400 mt-2",children:(()=>{const E=l.entry_price*(l.quantity||0),L=E>0?G/E*100:0;return"".concat(L>=0?"+":"").concat(L.toFixed(2),"%")})()})]}),C!==null&&_>0&&e.jsxs("div",{className:"pt-3 border-t border-gray-200 dark:border-gray-700",children:[e.jsxs("div",{className:"flex items-center justify-between text-xs text-gray-600 dark:text-gray-400",children:[e.jsx("span",{children:x==="de"?"Schlussgewinn:":"Close P&L:"}),e.jsxs("span",{className:C>=0?"text-green-600 dark:text-green-400":"text-red-600 dark:text-red-400",children:[C>=0?"+":"","$",C.toFixed(2)]})]}),e.jsxs("div",{className:"flex items-center justify-between text-xs text-gray-600 dark:text-gray-400 mt-1",children:[e.jsx("span",{children:x==="de"?"Teilgewinne:":"Partial Profits:"}),e.jsxs("span",{className:"text-amber-600 dark:text-amber-400",children:["+$",_.toFixed(2)]})]})]})]}):_>0?e.jsxs("div",{className:"text-center",children:[e.jsx("div",{className:"text-lg text-gray-600 dark:text-gray-400 mb-2",children:x==="de"?"Bereits realisierte Teilgewinne:":"Already realized partial profits:"}),e.jsxs("div",{className:"text-2xl font-bold text-amber-600 dark:text-amber-400",children:["+$",_.toFixed(2)]}),e.jsx("div",{className:"text-xs text-gray-500 dark:text-gray-400 mt-2",children:x==="de"?"Geben Sie einen Ausstiegspreis ein, um den Gesamt-P&L zu berechnen.":"Enter an exit price to calculate total P&L."})]}):null})]})})]})}),e.jsx("div",{className:"flex-shrink-0 p-6 pt-0 border-t bg-white/90 dark:bg-[#0f0d0a] border-gray-200 dark:border-[#2A2520]",children:e.jsxs("div",{className:"flex gap-3",children:[e.jsx("button",{type:"button",onClick:u,className:"flex-1 px-6 py-3 rounded-xl font-semibold bg-gray-200 dark:bg-[#1A1714] text-gray-700 dark:text-gray-300 transition-colors hover:bg-gray-300 dark:hover:bg-surface-elevated",children:x==="de"?"Abbrechen":"Cancel"}),e.jsx("button",{type:"submit",form:"close-trade-form",disabled:y||!i,className:"flex-1 px-6 py-3 rounded-xl font-semibold text-white transition-all duration-200 transform hover:scale-105 shadow-lg hover:shadow-xl disabled:opacity-50 disabled:cursor-not-allowed ".concat(k?"bg-gradient-to-r from-green-600 to-emerald-600 hover:from-green-700 hover:to-emerald-700":"bg-gradient-to-r from-red-600 to-[#2A2520] hover:from-red-700 hover:to-[#2A2520]"),children:y?x==="de"?"SchlieÃe...":"Closing...":x==="de"?"Trade schlieÃen":"Close Trade"})]})})]})})},xa=({isOpen:r,onClose:u,entry:m,partialProfits:l,onAdd:b,onDelete:x,onCollect:i,onRefresh:t})=>{const{language:o}=je(),[h,j]=g.useState({target_price:"",target_percentage:"",notes:"",calculated_profit:"",margin_type:"remaining",collected_price:"",actual_profit:""}),[f,y]=g.useState(null),[w,$]=g.useState(""),[T,F]=g.useState(!1),[B,V]=g.useState(!1),[_,J]=g.useState(null),[C,A]=g.useState([]);if(g.useEffect(()=>{r&&m&&(j({target_price:"",target_percentage:"",notes:"",calculated_profit:"",margin_type:"remaining",collected_price:"",actual_profit:""}),y(null),$(""),V(!1),J(null),(async()=>{try{const{data:N}=await Z.from("trading_journal_rebuys").select("*").eq("entry_id",m.id).eq("user_id",m.user_id).eq("enabled",!0);A(N||[])}catch(N){console.error("Error fetching rebuys:",N),A([])}})())},[r,m]),g.useEffect(()=>{if(!B&&h.target_price&&m){const c=d();c!==null&&j(N=>({...N,calculated_profit:c.toFixed(2)}))}},[h.target_price,h.target_percentage,h.margin_type,m,B]),!r||!m)return null;const G=async c=>{if(c.preventDefault(),!!m){F(!0);try{if(_)await E();else{const N=h.target_percentage?parseFloat(h.target_percentage):void 0;let P;h.margin_type==="initial"&&N&&(P=N),await b(m.id,{target_price:parseFloat(h.target_price),target_percentage:N,original_percentage:P,notes:h.notes||void 0})}if(j({target_price:"",target_percentage:"",notes:"",calculated_profit:"",margin_type:"remaining",collected_price:"",actual_profit:""}),J(null),V(!1),m)try{const{data:N}=await Z.from("trading_journal_rebuys").select("*").eq("entry_id",m.id).eq("user_id",m.user_id).eq("enabled",!0);A(N||[])}catch(N){console.error("Error fetching rebuys:",N)}t()}catch(N){console.error("Error saving partial profit:",N),alert(N instanceof Error?N.message:"Fehler beim Speichern")}finally{F(!1)}}},k=c=>{var P,p,z,M;y(null),$(""),J(c),j({target_price:c.target_price.toString(),target_percentage:((P=c.target_percentage)==null?void 0:P.toString())||"",notes:c.notes||"",calculated_profit:((p=c.actual_profit)==null?void 0:p.toString())||"",margin_type:"remaining",collected_price:((z=c.
1collected_price)==null?void 0:z.toString())||"",actual_profit:((M=c.actual_profit)==null?void 0:M.toString())||""}),V(!!c.is_collected);const N=document.querySelector(".overflow-y-auto.max-h-\\[calc\\(90vh-100px\\)\\]");N&&N.scrollTo({top:0,behavior:"smooth"})},R=()=>{J(null),j({target_price:"",target_percentage:"",notes:"",calculated_profit:"",margin_type:"remaining",collected_price:"",actual_profit:""}),V(!1)},E=async()=>{if(!_||!m)return;const c={target_price:parseFloat(h.target_price),target_percentage:h.target_percentage?parseFloat(h.target_percentage):null,notes:h.notes||null,updated_at:new Date().toISOString()};_.is_collected&&(h.collected_price&&(c.collected_price=parseFloat(h.collected_price)),h.actual_profit&&(c.actual_profit=parseFloat(h.actual_profit),c.manual_override=!0));const{error:N}=await Z.from("trading_journal_partial_profits").update(c).eq("id",_.id).eq("user_id",m.user_id);if(N)throw N},L=async c=>{if(confirm(o==="de"?"Teilgewinn wirklich löschen?":"Really delete partial profit?"))try{if(await x(c),m)try{const{data:N}=await Z.from("trading_journal_rebuys").select("*").eq("entry_id",m.id).eq("user_id",m.user_id).eq("enabled",!0);A(N||[])}catch(N){console.error("Error fetching rebuys:",N)}t()}catch(N){console.error("Error deleting partial profit:",N),alert(N instanceof Error?N.message:"Fehler beim Löschen")}},s=async(c,N)=>{let P=N;if(!P)if(w)P=parseFloat(w);else{const p=l.find(z=>z.id===c);p&&(P=p.target_price)}if(!P){alert(o==="de"?"Bitte Preis eingeben":"Please enter price");return}try{if(await i(c,P),y(null),$(""),m)try{const{data:p}=await Z.from("trading_journal_rebuys").select("*").eq("entry_id",m.id).eq("user_id",m.user_id).eq("enabled",!0);A(p||[])}catch(p){console.error("Error fetching rebuys:",p)}await t()}catch(p){console.error("Error collecting partial profit:",p),alert(p instanceof Error?p.message:"Fehler beim Abholen")}},d=()=>{if(!h.target_price||!m)return null;const c=parseFloat(h.target_price),N=m.average_entry_price||m.entry_price,P=h.target_percentage?parseFloat(h.target_percentage):100,p=l.filter(q=>q.is_collected).reduce((q,X)=>q+(X.target_percentage||0),0);let z=m.total_value;if(p>0){const q=(100-p)/100;z=m.total_value/q}let M=m.total_value;h.margin_type==="initial"?M=z:h.margin_type==="remaining"&&(M=m.total_value);const Q=m.leverage||1,re=M*Q*(P/100)/N;let ae=0;return m.action==="long"?ae=(c-N)*re:ae=(N-c)*re,ae};return d(),e.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/70 backdrop-blur-sm p-4",children:e.jsxs("div",{className:"relative w-full max-w-4xl max-h-[90vh] overflow-hidden rounded-3xl border shadow-2xl border-[#2A2520] bg-white/90 dark:bg-[#0f0d0a]",children:[e.jsx("div",{className:"bg-gradient-to-r from-green-600 to-emerald-600 p-6",children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"w-10 h-10 bg-white/20 rounded-xl flex items-center justify-center",children:e.jsx(Ie,{className:"w-5 h-5 text-white"})}),e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl font-bold text-white",children:o==="de"?"Teilgewinne verwalten":"Manage Parti
1al Profits"}),e.jsx("p",{className:"text-white/80 text-sm",children:m.symbol})]})]}),e.jsx("button",{onClick:u,className:"w-10 h-10 bg-white/20 hover:bg-white/30 rounded-xl flex items-center justify-center text-white transition-colors",children:e.jsx(Pe,{className:"w-5 h-5"})})]})}),e.jsxs("div",{className:"overflow-y-auto max-h-[calc(90vh-100px)] p-6 space-y-6",children:[e.jsx("div",{className:"relative overflow-hidden rounded-2xl border p-6 backdrop-blur-sm border-[#2A2520] bg-gradient-to-br from-gray-50 to-gray-100 dark:from-[#1A1714] dark:to-[#1A1714]",children:e.jsxs("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-4",children:[e.jsxs("div",{children:[e.jsx("div",{className:"text-sm text-gray-600 dark:text-gray-400 mb-1",children:o==="de"?"Einstiegspreis":"Entry Price"}),e.jsxs("div",{className:"text-lg font-bold text-gray-900 dark:text-white",children:["$",(m.average_entry_price||m.entry_price).toFixed(4)]})]}),e.jsxs("div",{children:[e.jsx("div",{className:"text-sm text-gray-600 dark:text-gray-400 mb-1",children:"Margin"}),e.jsxs("div",{className:"text-lg font-bold text-gray-900 dark:text-white",children:["$",m.total_value.toFixed(2)]})]}),e.jsxs("div",{children:[e.jsx("div",{className:"text-sm text-gray-600 dark:text-gray-400 mb-1",children:o==="de"?"Richtung":"Direction"}),e.jsx("div",{className:"text-lg font-bold ".concat(m.action==="long"?"text-green-600":"text-red-600"),children:m.action==="long"?"ð Long":"ð Short"})]}),e.jsxs("div",{children:[e.jsx("div",{className:"text-sm text-gray-600 dark:text-gray-400 mb-1",children:o==="de"?"Teilgewinne":"Partial Profits"}),e.jsx("div",{className:"text-lg font-bold text-gray-900 dark:text-white",children:l.length})]})]})}),e.jsxs("div",{className:"relative overflow-hidden rounded-2xl border border-white/20 bg-gradient-to-br from-green-50 to-emerald-50 dark:from-green-900/20 dark:to-emerald-900/20 p-6 backdrop-blur-sm",children:[e.jsxs("div",{className:"flex items-center justify-between mb-4",children:[e.jsx("h3",{className:"text-lg font-semibold text-gray-900 dark:text-white",children:_?o==="de"?"Teilgewinn bearbeiten":"Edit Partial Profit":o==="de"?"Neuen Teilgewinn hinzufügen":"Add New Partial Profit"}),_&&e.jsx("button",{type:"button",onClick:R,className:"px-3 py-1 text-xs bg-gray-200 dark:bg-[#1A1714] text-gray-700 dark:text-gray-300 rounded-lg transition-colors hover:bg-gray-300 dark:hover:bg-surface-elevated",children:o==="de"?"Abbrechen":"Cancel"})]}),e.jsxs("form",{onSubmit:G,className:"space-y-4",children:[e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[e.jsxs("div",{children:[e.jsxs("label",{className:"flex items-center text-sm font-semibold text-gray-700 dark:text-gray-300 mb-2",children:[e.jsx(Me,{className:"w-4 h-4 mr-2 text-green-500"}),o==="de"?"Zielpreis":"Target Price"," *"]}),e.jsx("input",{type:"number",step:"0.00001",value:h.target_price,onChange:c=>j({...h,target_price:c.target.value}),required:!0,className:"w-full px-4 py-3 rounded-xl border-2 border-gray-200 dark:border-[#2A2520] bg-white dark:bg-[#1A1714] text-gray-900 dark:text-white focus:outline-none focus:border-green-500 focus:ring-4 focus:ring-green-500/20 transition-all",placeholder:"0.00000"})]}),e.jsxs("div",{children:[e.jsxs("label",{className:"flex items-center text-sm font-semibold text-gray-700 dark:text-gray-300 mb-2",children:[e.jsx(Et,{className:"w-4 h-4 mr-2 text-green-500"}),o==="de"?"Positionsanteil (%)":"Position %"]}),e.jsx("input",{type:"number",step:"0.1",min:"0",max:"100",value:h.target_percentage,onChange:c=>j({...h,target_percentage:c.target.value}),className:"w-full px-4 py-3 rounded-xl border-2 border-gray-200 dark:border-[#2A2520] bg-white dark:bg-[#1A1714] text-gray-900 dark:text-white focus:outline-none focus:border-green-500 focus:ring-4 focus:ring-green-500/20 transition-all",placeholder:"25"})]})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-semibold text-gray-700 dark:text-gray-300 mb-2",children:o==="de"?"Gewinn berechnen von":"Calculate profit from"}),e.jsxs("div",{className:"flex gap-4",children:[e.jsxs("label",{className:"flex items-center gap-2 cursor-pointer",children:[e.jsx("input",{type:"radio",name:"margin_type",value:"remaining",checked:h.margin_type==="remaining",onCh
1ange:c=>j({...h,margin_type:"remaining"}),className:"w-4 h-4 text-green-600"}),e.jsx("span",{className:"text-sm text-gray-700 dark:text-gray-300",children:o==="de"?"Verbleibender Margin":"Remaining Margin"})]}),e.jsxs("label",{className:"flex items-center gap-2 cursor-pointer",children:[e.jsx("input",{type:"radio",name:"margin_type",value:"initial",checked:h.margin_type==="initial",onChange:c=>j({...h,margin_type:"initial"}),className:"w-4 h-4 text-green-600"}),e.jsx("span",{className:"text-sm text-gray-700 dark:text-gray-300",children:o==="de"?"Anfangsmargin":"Initial Margin"})]})]})]}),e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center justify-between mb-2",children:[e.jsxs("label",{className:"flex items-center text-sm font-semibold text-gray-700 dark:text-gray-300",children:[e.jsx(Me,{className:"w-4 h-4 mr-2 text-green-500"}),o==="de"?"Erwarteter Gewinn":"Expected Profit"]}),e.jsx("button",{type:"button",onClick:()=>V(!B),className:"text-xs px-3 py-1 rounded-full transition-colors bg-surface-elevated dark:bg-surface-elevated text-amber-600 dark:text-amber-400 hover:bg-surface-elevated dark:hover:bg-surface-elevated",children:B?"Auto":o==="de"?"Manuell":"Manual"})]}),e.jsx("input",{type:"number",step:"0.01",value:h.calculated_profit,onChange:c=>{V(!0),j({...h,calculated_profit:c.target.value})},className:"w-full px-4 py-3 rounded-xl border-2 border-green-200 dark:border-green-700 bg-green-50 dark:bg-green-900/20 text-gray-900 dark:text-white font-bold focus:outline-none focus:border-green-500 focus:ring-4 focus:ring-green-500/20 transition-all",placeholder:"0.00",readOnly:!B}),!B&&e.jsx("p",{className:"mt-1 text-xs text-gray-500 dark:text-gray-400",children:o==="de"?'Automatisch berechnet. Klicke auf "Manuell" zum Anpassen.':'Automatically calculated. Click "Manual" to adjust.'})]}),(_==null?void 0:_.is_collected)&&e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[e.jsxs("div",{children:[e.jsxs("label",{className:"flex items-center text-sm font-semibold text-gray-700 dark:text-gray-300 mb-2",children:[e.jsx(Me,{className:"w-4 h-4 mr-2 text-green-500"}),o==="de"?"Abgeholt bei Preis":"Collected at Price"," *"]}),e.jsx("input",{type:"number",step:"0.00001",value:h.collected_price,onChange:c=>j({...h,collected_price:c.target.value}),required:!0,className:"w-full px-4 py-3 rounded-xl border-2 border-gray-200 dark:border-[#2A2520] bg-white dark:bg-[#1A1714] text-gray-900 dark:text-white focus:outline-none focus:border-green-500 focus:ring-4 focus:ring-green-500/20 transition-all",placeholder:"0.00000"})]}),e.jsxs("div",{children:[e.jsxs("label",{className:"flex items-center text-sm font-semibold text-gray-700 dark:text-gray-300 mb-2",children:[e.jsx(Me,{className:"w-4 h-4 mr-2 text-green-500"}),o==="de"?"Tatsächlicher Gewinn":"Actual Profit"," *"]}),e.jsx("input",{type:"number",step:"0.01",value:h.actual_profit,onChange:c=>j({...h,actual_profit:c.target.value}),required:!0,className:"w-full px-4 py-3 rounded-xl border-2 border-gray-200 dark:border-[#2A2520] bg-white dark:bg-[#1A1714] text-gray-900 dark:text-white focus:outline-none focus:border-green-500 focus:ring-4 focus:ring-green-500/20 transition-all",placeholder:"0.00"})]})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-semibold text-gray-700 dark:text-gray-300 mb-2",children:o==="de"?"Notizen":"Notes"}),e.jsx("input",{type:"text",value:h.notes,onChange:c=>j({...h,notes:c.target.value}),className:"w-full px-4 py-3 rounded-xl border-2 border-gray-200 dark:border-[#2A2520] bg-white dark:bg-[#1A1714] text-gray-900 dark:text-white focus:outline-none focus:border-green-500 focus:ring-4 focus:ring-green-500/20 transition-all",placeholder:"TP1, Widerstand..."})]}),e.jsxs("div",{className:"flex gap-3",children:[_&&e.jsx("button",{type:"button",onClick:R,className:"flex-1 px-6 py-3 rounded-xl font-semibold bg-gray-200 dark:bg-[#1A1714] text-gray-700 dark:text-gray-300 transition-all duration-200 hover:bg-gray-300 dark:hover:bg-surface-elevated",children:o==="de"?"Abbrechen":"Cancel"}),e.jsxs("button",{type:"submit",disabled:T,className:"flex-1 px-6 py-3 rounded-xl font-semibold bg-gradient-to-r from-green-600 to-emerald-600 text-white hover:from-green-700 hover:to-emerald-700 transition-all duration-200 transform hover:scale-105 shadow-lg hover:shadow-xl disabled:opacity-50 disabled:cursor-not-allowed flex items-center justify-center gap-2",children:[_?e.jsx(Wt,{className:"w-5 h-5"}):e.jsx(qe,{className:"w-5 h-5"}),T?o==="de"?"Wird gespeichert...":"Saving...":_?o==="de"?"Ãnderungen speichern":"Save Changes":o==="de"?"Teilgewinn hinzufügen":"Add Partial Profit"]})]})]})]}),l.length>0&&e.jsxs("div",{className:"space-y-4",children:[e.jsx("h3",{className:"text-lg font-semibold text-gray-900 dark:text-white",children:o==="de"?"Bestehe
1nde Teilgewinne":"Existing Partial Profits"}),l.map(c=>e.jsxs("div",{className:"relative overflow-hidden rounded-2xl border-2 p-4 transition-all ".concat((_==null?void 0:_.id)===c.id?"border-[#2A2520] dark:border-[#2A2520] bg-gradient-to-br from-[#1A1714] to-[#2A2520] dark:from-[#1A1714] dark:to-[#2A2520] ring-2 ring-bronze-500":c.is_collected?"border-green-200 dark:border-green-700/30 bg-gradient-to-br from-green-50 to-emerald-50 dark:from-green-900/20 dark:to-emerald-900/20":"border-gray-200 dark:border-[#2A2520] bg-white/70 dark:bg-[#1A1714]/80 hover:border-green-300 dark:hover:border-green-600"," backdrop-blur-sm"),children:[(_==null?void 0:_.id)===c.id&&e.jsx("div",{className:"absolute top-2 left-2 px-2 py-1 text-white text-xs font-bold rounded-lg bg-surface-elevated",children:o==="de"?"BEARBEITEN":"EDITING"}),e.jsxs("div",{className:"flex items-start justify-between gap-4",children:[e.jsxs("div",{className:"flex-1 grid grid-cols-2 md:grid-cols-4 gap-4",children:[e.jsxs("div",{children:[e.jsx("div",{className:"text-xs text-gray-600 dark:text-gray-400 mb-1",children:o==="de"?"Zielpreis":"Target Price"}),e.jsxs("div",{className:"text-lg font-bold text-gray-900 dark:text-white",children:["$",c.target_price.toFixed(4)]})]}),c.target_percentage&&e.jsxs("div",{children:[e.jsx("div",{className:"text-xs text-gray-600 dark:text-gray-400 mb-1",children:"Position"}),e.jsxs("div",{className:"text-lg font-bold text-gray-900 dark:text-white",children:[c.original_percentage||c.target_percentage,"%"]}),c.original_percentage&&e.jsx("div",{className:"text-xs mt-1 text-amber-600 dark:text-amber-400",children:o==="de"?"(von Anfangsmargin)":"(from initial margin)"})]}),c.is_collected&&c.collected_price&&e.jsxs("div",{children:[e.jsx("div",{className:"text-xs text-gray-600 dark:text-gray-400 mb-1",children:o==="de"?"Abgeholt bei":"Collected at"}),e.jsxs("div",{className:"text-lg font-bold text-green-600 dark:text-green-400",children:["$",c.collected_price.toFixed(4)]})]}),c.is_collected&&c.actual_profit!==null&&c.actual_profit!==void 0&&e.jsxs("div",{children:[e.jsx("div",{className:"text-xs text-gray-600 dark:text-gray-400 mb-1",children:o==="de"?"Gewinn":"Profit"}),e.jsxs("div",{className:"text-lg font-bold ".concat(c.actual_profit>=0?"text-green-600 dark:text-green-400":"text-red-600 dark:text-red-400"),children:[c.actual_profit>=0?"+":"","$",c.actual_profit]})]}),c.notes&&e.jsxs("div",{className:"col-span-2 md:col-span-1",children:[e.jsx("div",{className:"text-xs text-gray-600 dark:text-gray-400 mb-1",children:o==="de"?"Notizen":"Notes"}),e.jsx("div",{className:"text-sm text-gray-700 dark:text-gray-300",children:c.notes})]})]}),e.jsx("div",{className:"flex items-center gap-2",children:c.is_collected?e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"flex items-center gap-2 text-green-600 dark:text-green-400 mr-2",children:[e.jsx(Wt,{className:"w-5 h-5"}),e.jsx("span",{className:"text-sm font-semibold",children:o==="de"?"Abgeholt":"Collected"})]}),e.jsx("button",{onClick:()=>k(c),disabled:_!==null||f!==null,className:"p-2 rounded-lg bg-surface-elevated dark:bg-surface-elevated hover:bg-surface-elevated dark:hover:bg-surface-elevated text-amber-700 dark:text-amber-400 transition-colors disabled:opacity-50 disabled:cursor-not-allowed",title:o==="de"?"Bearbeiten":"Edit",children:e.jsx(rt,{className:"w-4 h-4"})}),e.jsx("button",{onClick:()=>L(c.id),disabled:_!==null||f!==null,className:"p-2 rounded-lg bg-red-100 dark:bg-red-900/30 hover:bg-red-200 dark:hover:bg-red-900/50 text-red-600 dark:text-red-400 transition-colors disabled:opacity-50 disabled:cursor-not-allowed",title:o==="de"?"Löschen":"Delete",children:e.jsx(Ue,{className:"w-4 h-4"})})]}):e.jsx(e.Fragment,{children:f===c.id?e.jsxs("div",{className:"flex flex-col gap-2",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("input",{type:"number",step:"0.00001",value:w,onChange:N=>$(N.target.value),placeholder:o==="de"?"Preis":"Price",className:"w-40 px-3 py-2 rounded-lg border-2 border-green-300 dark:border-green-600 bg-white dark:bg-gray-700 text-gray-900 dark:text-white text-sm font-bold focus:outline-none focus:ring-2 focus:ring-green-500",autoFocus:!0}),e.jsxs("button",{onClick:()=>s(c.id),className:"px-4 py-2 rounded-lg bg-green-600 hover:bg-green-700 text-white transition-colors font-semibold flex items-center gap-2",title:o==="de"?"Bestätigen":"Confirm",children:[e.jsx(Wt,{className:"w-4 h-4"}),"OK"]}),e.jsx("button",{onClick:()=>{y(null),$("")},className:"p-2 rounded-lg bg-gray-500 hover:bg-gray-600 text-white transition-colors",title:o==="de"?"Abbrechen":"Cancel",children:e.jsx(Pe,{className:"w-4 h-4"})})]}),e.jsxs("p",{className:"text-xs text-gray-500 dark:text-gray-400",children:["ð¡ ",o==="de"?"Zielpreis vorausgefüllt. Bei Bedarf anpassen.":"Target price pre-filled. Adjust if needed."]})]}):e.jsxs(e.Fragment,{children:[e.jsx("button",{onClick:()=>k(c),disabled:_!==null||f!==null,className:"p-2 rounded-lg transition-colors disabled:opacity-50 disabled:cursor-not-allowed bg-surface-elevated dark:bg-surface-elevated hover:bg-surface-elevated dark:hover:bg-surface-elevated text-amber-700 dark:text-amber-400",title:o==="de"?"Bearbeiten":"Edit",children:e.jsx(rt,{className:"w-4 h-4"})}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx("button",{onClick:()=>s(c.id),disabled:_!==null||f!==null,className:"px-4 py-2 rounded-lg bg-gradient-to-r from-green-600 to-emerald-600 hover:from-green-700 hover:to-emerald-700 text-white text-sm font-semibold transition-all shadow-md hover:shadow-lg disabled:opacity-50 disabled:cursor-not-allowed",title:o==="de"?"Abholen zum Zielpreis ($".concat(c.target_price.toFixed(4),")"):"Collect at target price ($".concat(c.target_price.toFixed(4),")"),children:o==="de"?"â Abholen":"â Collect"}),e.jsx("button",{onClick:()=>{y(c.id),$(c.target_price.toString())},disabled:_!==null||f!==null,className:"px-3 py-2 rounded-lg bg-green-100 dark:bg-green-900/30 hover:bg-green-200 dark:hover:bg-green-900/50 text-green-700 dark:text-green-400 text-xs font-semibold transition-colors disabled:opacity-50 disabled:cursor-not-allowed",title:o==="de"?"Preis anpassen":"Adjust price",children:"ð"})]}),e.jsx("button",{onClick:()=>L(c.id),disabled:_!==null||f!==null,className:"p-2 rounded-lg bg-red-100 dark:bg-red-900/30 hover:bg-red-200 dark:hover:bg-red-900/50 text-red-600 dark:text-red-400 transition-colors disabled:opacity-50 disabled:cursor-not-allowed",title:o==="de"?"Löschen":"Delete",children:e.jsx(Ue,{className:"w-4 h-4"})})]})})})]})]},c.id))]})]})]})})};function Ut(r){if(r==null)return"";const u=String(r).replace(/"/g,'""');return'"'.concat(u,'"')}function ga(r,u){const m=new Blob([r],{type:"text/csv;charset=utf-8;"}),l=document.createElement("a");l.href=URL.createObjectURL(m),l.download=u,l.style.visibility="hidden",document.body.appendChild(l),l.click(),document.body.removeChild(l),URL.revokeObjectURL(l.href)}const ma=({isOpen:r,onClose:u,entries:m,getStrategyName:l,rebuys:b={},partialProfits:x={}})=>{const{language:i}=je(),[t,o]=g.useState("csv"),[h,j]=g.useState("allTime"),[f,y]=g.useState(""),[w,$]=g.useState(""),[T,F]=g.useState("all"),[B,V]=g.useState(!1),_=()=>{let s=m;T==="closed"?s=m.filter(z=>z.is_closed||z.trade_status==="closed"):T==="open"?s=m.filter(z=>!z.is_closed&&z.trade_status==="open"):T==="planned"&&(s=m.filter(z=>z.trade_status==="planned"));const d=z=>z.sort((M,Q)=>{const re=X=>X.is_closed||X.trade_status==="closed"?1:X.trade_status==="open"?2:X.trade_status==="planned"?3:4,ae=re(M),q=re(Q);if(ae===q){const X=new Date(M.close_date||M.date).getTime();return new Date(Q.close_date||Q.date).getTime()-X}return ae-q});if(h==="allTime")return d(s);const c=new Date;let N=new Date,P=new Date;switch(h){case"today":N=new Date(c.getFullYear(),c.getMonth(),c.getDate()),P=new Date(c.getFullYear(),c.getMonth(),c.getDate(),23,59,59);break;case"thisWeek":const z=c.getDay(),M=c.getDate()-z+(z===0?-6:1);N=new Date(c.getFullYear(),c.getMonth(),M),P=new Date(c.getFullYear(),c.getMonth(),M+6,23,59,59);break;case"thisMonth":N=new Date(c.getFullYear(),c.getMonth(),1),P=new Date(c.getFullYear(),c.getMonth()+1,0,23,59,59);break;case"last30Days":N=new Date(c.getTime()-720*60*60*1e3);break;case"lastMonth":N=new Date(c.getFullYear(),c.getMonth()-1,1),P=new Date(c.getFullYear(),c.getMonth(),0,23,59,59);break;case"thisQuarter":const Q=Math.floor(c.getMonth()/3);N=new Date(c.getFullYear(),Q*3,1),P=new Date(c.getFullYear(),(Q+1)*3,0,23,59,59);break;case"ytd":N=new Date(c.getFullYear(),0,1);break;
1case"custom":if(f&&w)N=new Date(f),N.setHours(0,0,0,0),P=new Date(w),P.setHours(23,59,59);else return s;break;default:return s}const p=s.filter(z=>{const M=new Date(z.close_date||z.date);return M>=N&&M<=P});return d(p)},J=()=>{const s=_();if(s.length===0){alert(i==="de"?"Keine Trades zum Exportieren.":"No trades to export.");return}const d=["Status",i==="de"?"Datum":"Date",i==="de"?"Schlussdatum":"Close Date","Symbol",i==="de"?"Richtung":"Direction",i==="de"?"Einstiegspreis":"Entry Price",i==="de"?"Ausstiegspreis":"Exit Price",i==="de"?"PositionsgröÃe":"Position Size","P&L","P&L %","ROI %",i==="de"?"Anzahl Rebuys":"Rebuys Count",i==="de"?"Anzahl Teilprofite":"Partial Profits Count",i==="de"?"Strategie":"Strategy",i==="de"?"Börse":"Exchange",i==="de"?"Gebühren":"Fees",i==="de"?"Hebel":"Leverage",i==="de"?"Notizen":"Notes"],c=s.map(M=>{var D,O,W;const Q=M.trade_status==="planned"?i==="de"?"Geplant":"Planned":M.trade_status==="open"?i==="de"?"Offen":"Open":i==="de"?"Geschlossen":"Closed",re=x[M.id]||[],ae=ie(M,re),q=M.entry_price*(M.quantity||0),le=(b[M.id]||[]).filter(Y=>Y.enabled),oe=le.reduce((Y,H)=>Y+(H.total_value||0),0),I=q+oe,te=I>0?ae/I*100:0,ge=I>0?ae/I*100:0,ce=M.has_rebuys&&M.average_entry_price?M.average_entry_price:M.entry_price,a=le.length,S=re.filter(Y=>Y.is_collected).length;return[Q,M.date,M.close_date||"",M.symbol,M.action==="long"?"Long":"Short",(ce==null?void 0:ce.toFixed(4))||"",((D=M.exit_price)==null?void 0:D.toFixed(4))||"",((O=M.total_value)==null?void 0:O.toFixed(2))||"",ae.toFixed(2),ge.toFixed(2),te.toFixed(2),a.toString(),S.toString(),l(M.strategy||""),M.exchange||"",M.fees!=null&&M.fees!==0?M.fees.toFixed(2):"",((W=M.leverage)==null?void 0:W.toString())||"1",(M.notes||"").replace(/,/g,";").replace(/\n/g," ")]}),N=[d.join(","),...c.map(M=>M.map(Q=>'"'.concat(Q,'"')).join(","))].join("\n"),P=new Blob(["\uFEFF"+N],{type:"text/csv;charset=utf-8;"}),p=document.createElement("a"),z=URL.createObjectURL(P);p.setAttribute("href",z),p.setAttribute("download","trading-journal-".concat(new Date().toISOString().split("T")[0],".csv")),p.style.visibility="hidden",document.body.appendChild(p),p.click(),document.body.removeChild(p)},C=()=>{const s=new Date().toISOString().split("T")[0],d=i==="de",c=Object.fromEntries(m.map(I=>[I.id,I])),N=d?["Trade-ID","Datum","Symbol","Richtung","Einstiegspreis","Ausstiegspreis","PositionsgröÃe","Stop Loss","Hebel","Status","Börse","Strategie","P&L","Gebühren","Notizen"]:["Trade-ID","Date","Symbol","Direction","Entry Price","Exit Price","Position Size","Stop Loss","Leverage","Status","Exchange","Strategy","P&L","Fees","Notes"],P=m.map(I=>{var a,S,D,O,W,Y;const te=I.trade_status==="planned"?d?"Geplant":"Planned":I.trade_status==="open"?d?"Offen":"Open":d?"Geschlossen":"Closed",ge=x[I.id]||[],ce=ie(I,ge);return[I.id,I.date,I.symbol,I.action==="long"?"Long":"Short",(a=I.entry_price)!=null?a:"",(S=I.exit_price)!=null?S:"",(D=I.total_value)!=null?D:"",(O=I.stop_loss)!=null?O:"",(W=I.leverage)!=null?W:"1",te,(Y=I.exchange)!=null?Y:"",l(I.strategy||"")||"",ce.toFixed(2),I.fees!=null?I.fees.toFixed(2):"",(I.notes||"").replace(/\n/g," ")]}),p=[N.join(","),...P.map(I=>I.map(te=>Ut(te)).join(","))].join("\n"),z=Object.entries(x).flatMap(([I,te])=>te.map(ge=>({...ge,_entry:c[I],_entry_id:I}))),M=d?["Trade-ID","Symbol","Zielpreis","Positionsanteil %","Abgeholt","Abgeholt bei Preis","Gewinn","Notizen"]:["Trade-ID","Symbol","Target Price","Position %","Collected","Collected at Price","Profit","Notes"],Q=z.map(I=>{var ge,ce,a,S,D,O,W;const te=I._entry;return[(ce=(ge=I._entry_id)!=null?ge:I.entry_id)!=null?ce:"",(a=te==null?void 0:te.symbol)!=null?a:"",(S=I.target_price)!=null?S:"",(O=(D=I.original_percentage)!=null?D:I.target_percentage)!=null?O:"",I.is_collected?d?"Ja":"Yes":d?"Nein":"No",(W=I.collected_price)!=null?W:"",I.actual_profit!=null?I.actual_profit.toFixed(2):"",(I.notes||"").replace(/\n/g," ")]}),re=[M.join(","),...Q.map(I=>I.map(te=>Ut(te)).join(","))].join("\n"),ae=Object.entries(b).flatMap(([I,te])=>te.map(ge=>({...ge,_entry:c[I],_entry_id:I}))),q=d?["Trade-ID","Symbol","Preis","Margin (USD)","Aktiv"]:["Trade-ID","Symbol","Price","Margin (USD)","Enabled"],X=ae.map(I=>{var ge,ce,a,S,D;const te=I._entry;return[(ce=(ge=I._entry_id)!=null?ge:I.entry_id)!=null?ce:"",(a=te==null?void 0:te.symbol)!=null?a:"",(S=I.price)!=null?S:"",(D=I.total_value)!=null?D:"",I.enabled?d?"Ja":"Yes":d?"Nein":"No"]}),le=[q.join(","),...X.map(I=>I.map(te=>Ut(te)).join(","))].join("\n"),oe=["\uFEFF","TRADES",p,"",d?"TEILGEWINNE":"PARTIAL_PROFITS",re,"","REBUYS",le].join("\n");ga(oe,"journal-backup-".concat(s,".csv"))},A=()=>{const s=_();if(s.length===0){alert(i==="de"?"Keine Trades zum Exportieren.":"No trades to export.");return}const d=new ea,c=d.internal.pageSize.width,N=d.internal.pageSize.height,P=20;let p=P;d.setFontSize(20),d.setTextColor(67,56,202),d.text("Trading Journ
1al Export",P,p),p+=10,d.setFontSize(10),d.setTextColor(100),d.text("".concat(i==="de"?"Erstellt am":"Created on",": ").concat(new Date().toLocaleDateString(i==="de"?"de-DE":"en-US")),P,p),p+=5,d.text("Trades: ".concat(s.length),P,p),p+=15;const z=s.filter(q=>q.is_closed||q.trade_status==="closed"),M=z.reduce((q,X)=>{const le=x[X.id]||[],oe=ie(X,le);return q+oe},0),Q=z.filter(q=>{const X=x[q.id]||[];return ie(q,X)>0}).length,re=z.filter(q=>{const X=x[q.id]||[];return ie(q,X)<0}).length,ae=z.length>0?Q/z.length*100:0;d.setFillColor(248,250,252),d.rect(P,p,c-2*P,30,"F"),d.setFontSize(12),d.setTextColor(67,56,202),d.text("".concat(i==="de"?"Zusammenfassung":"Summary"),P+5,p+10),d.setFontSize(10),d.setTextColor(51,65,85),d.text("Total P&L: $".concat(M.toFixed(2)),P+5,p+18),d.text("".concat(i==="de"?"Gewinne":"Wins",": ").concat(Q," | ").concat(i==="de"?"Verluste":"Losses",": ").concat(re),P+5,p+24),d.text("Win Rate: ".concat(ae.toFixed(1),"%"),c-P-40,p+18),p+=40,d.setFontSize(10),d.setTextColor(51,65,85),s.forEach((q,X)=>{var Ee,xe;p>N-40&&(d.addPage(),p=P);const le=q.is_closed||q.trade_status==="closed",oe=le&&(q.pnl||0)>=0,I=q.trade_status==="planned";I?d.setFillColor(250,250,250):d.setFillColor(oe?240:254,oe?253:242,oe?244:242);const ce=(b[q.id]||[]).filter(Ne=>Ne.enabled).length,S=(x[q.id]||[]).filter(Ne=>Ne.is_collected).length,D=ce>0||S>0;let O=le?50:q.leverage&&q.leverage>1?42:35;D&&(ce>0&&(O+=6),S>0&&(O+=6)),d.rect(P,p,c-2*P,O,"F"),d.setFontSize(12),d.setTextColor(17,24,39);const W=I?i==="de"?"Geplant":"Planned":q.trade_status==="open"?i==="de"?"Offen":"Open":i==="de"?"Geschlossen":"Closed",Y=q.action==="long"?"Long":"Short";d.text("".concat(q.symbol," - ").concat(Y," - ").concat(W),P+3,p+8),d.setFontSize(9),d.setTextColor(75,85,99),d.text("".concat(i==="de"?"Datum":"Date",": ").concat(q.date),P+3,p+14);const H=q.has_rebuys&&q.average_entry_price?q.average_entry_price:q.entry_price;d.text("".concat(i==="de"?"Einstieg":"Entry",": $").concat((H==null?void 0:H.toFixed(4))||"N/A"),P+3,p+20);let de="";le?de="".concat(i==="de"?"Ausstieg":"Exit",": $").concat(((Ee=q.exit_price)==null?void 0:Ee.toFixed(4))||"N/A"):de="Position: $".concat(((xe=q.total_value)==null?void 0:xe.toFixed(2))||"N/A"),q.leverage&&q.leverage>1&&(de+=" | ".concat(i==="de"?"Hebel":"Leverage",": ").concat(q.leverage,"x")),d.text(de,P+3,p+26);let me=p+32;if(ce>0&&(d.text("Rebuys: ".concat(ce),P+3,me),me+=6),S>0&&d.text("".concat(i==="de"?"Teilprofite":"Partial Profits",": ").concat(S),P+3,me),le){const Ne=x[q.id]||[],he=ie(q,Ne),Ye=q.entry_price*(q.quantity||0),ne=(b[q.id]||[]).filter(pe=>pe.enabled).reduce((pe,be)=>pe+(be.total_value||0),0),K=Ye+ne,ue=K>0?he/K*100:0,fe=K>0?he/K*100:0;d.setFontSize(11),d.setTextColor(oe?16:220,oe?185:38,oe?129:38),d.text("P&L: ".concat(oe?"+":"","$").concat(he.toFixed(2)," (").concat(fe>=0?"+":"").concat(fe.toFixed(2),"%)"),c-P-80,p+20),d.setFontSize(9),d.text("ROI: ".concat(ue>=0?"+":"").concat(ue.toFixed(2),"%"),c-P-80,p+26)}p+=O+5}),d.save("trading-journal-".concat(new Date().toISOString().split("T")[0],".pdf"))},G=async()=>{V(!0);try{t==="csv"?J():t==="backup"?C():A(),setTimeout(()=>{V(!1),u()},1e3)}catch(s){console.error("Export error:",s),alert(i==="de"?"Fehler beim Exportieren":"Export error"),V(!1)}};if(!r)return null;const k=_().length,R=m.length,E=Object.values(x).flat().length,L=Object.values(b).flat().length;return e.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/70 backdrop-blur-sm p-4",children:e.jsxs("div",{className:"relative w-full max-w-2xl rounded-3xl border shadow-2xl border-[#2A2520] bg-white/90 dark:bg-[#0f0d0a]",children:[e.jsx("div",{className:"p-6 rounded-t-3xl bg-gradient-to-r from-[#C9A96E] to-[#C9A96E]",children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"w-10 h-10 bg-white/20 rounded-xl flex items-center justify-center",children:e.jsx(ut,{className:"w-5 h-5 text-white"})}),e.jsx("h2",{className:"text-2xl font-bold text-white",children:i==="de"?"Journal Exportieren":"Export Journal"})]}),e.jsx("button",{onClick:u,className:"w-10 h-10 bg-white/20 hover:bg-white/30 rounded-xl flex items-center justify-center text-white transition-colors",children:e.jsx(Pe,{className:"w-5 h-5"})})]})}),e.jsxs("div",{className:"p-6 space-y-6",children:[e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-semibold text-gray-700 dark:text-gray-300 mb-3",children:"Format"}),e.jsxs("div",{className:"grid grid-cols-3 gap-3",children:[e.jsxs("button",{onClick:()=>o("csv"),className:"p-4 rounded-xl border-2 transition-all ".concat(t==="csv"?"border-[#2A2520] bg-surface-elevated dark:bg-surface-elevated":"border-gray-200 dark:border-[#2A2520] hover:border-[#2A2520]"),children:[e.jsx(kr,{className:"w-8 h-8 mx-auto mb-2 ".concat(t==="csv"?"text-amber-600 dar
1k:text-amber-400":"text-gray-400")}),e.jsx("div",{className:"font-semibold text-gray-900 dark:text-white",children:"CSV"}),e.jsx("div",{className:"text-xs text-gray-600 dark:text-gray-400",children:"Excel, Sheets"})]}),e.jsxs("button",{onClick:()=>o("pdf"),className:"p-4 rounded-xl border-2 transition-all ".concat(t==="pdf"?"border-[#2A2520] bg-surface-elevated dark:bg-surface-elevated":"border-gray-200 dark:border-[#2A2520] hover:border-[#2A2520]"),children:[e.jsx(ut,{className:"w-8 h-8 mx-auto mb-2 ".concat(t==="pdf"?"text-amber-600 dark:text-amber-400":"text-gray-400")}),e.jsx("div",{className:"font-semibold text-gray-900 dark:text-white",children:"PDF"}),e.jsx("div",{className:"text-xs text-gray-600 dark:text-gray-400",children:i==="de"?"Drucken":"Print"})]}),e.jsxs("button",{onClick:()=>o("backup"),className:"p-4 rounded-xl border-2 transition-all ".concat(t==="backup"?"border-[#2A2520] bg-surface-elevated dark:bg-surface-elevated":"border-gray-200 dark:border-[#2A2520] hover:border-[#2A2520]"),children:[e.jsx(ta,{className:"w-8 h-8 mx-auto mb-2 ".concat(t==="backup"?"text-amber-600 dark:text-amber-400":"text-gray-400")}),e.jsx("div",{className:"font-semibold text-gray-900 dark:text-white",children:"Backup"}),e.jsx("div",{className:"text-xs text-gray-600 dark:text-gray-400",children:i==="de"?"Alle Datenfelder":"All fields"})]})]})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-semibold text-gray-700 dark:text-gray-300 mb-3",children:"Status"}),e.jsxs("select",{value:T,onChange:s=>F(s.target.value),className:"w-full px-4 py-3 rounded-xl border-2 border-gray-200 dark:border-[#2A2520] bg-white dark:bg-[#1A1714] text-gray-900 dark:text-white focus:outline-none focus:border-[#2A2520]",children:[e.jsx("option",{value:"all",children:i==="de"?"Alle Trades":"All Trades"}),e.jsx("option",{value:"closed",children:i==="de"?"Geschlossene Trades":"Closed Trades"}),e.jsx("option",{value:"open",children:i==="de"?"Offene Trades":"Open Trades"}),e.jsx("option",{value:"planned",children:i==="de"?"Geplante Trades":"Planned Trades"})]})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-semibold text-gray-700 dark:text-gray-300 mb-3",children:i==="de"?"Zeitraum":"Timeframe"}),e.jsxs("select",{value:h,onChange:s=>j(s.target.value),className:"w-full px-4 py-3 rounded-xl border-2 border-gray-200 dark:border-[#2A2520] bg-white dark:bg-[#1A1714] text-gray-900 dark:text-white focus:outline-none focus:border-[#2A2520]",children:[e.jsx("option",{value:"allTime",children:i==="de"?"Alle Zeit":"All Time"}),e.jsx("option",{value:"today",children:i==="de"?"Heute":"Today"}),e.jsx("option",{value:"thisWeek",children:i==="de"?"Diese Woche":"This Week"}),e.jsx("option",{value:"thisMonth",children:i==="de"?"Dieser Monat":"This Month"}),e.jsx("option",{value:"last30Days",children:i==="de"?"Letzte 30 Tage":"Last 30 Days"}),e.jsx("option",{value:"lastMonth",children:i==="de"?"Letzter Monat":"Last Month"}),e.jsx("option",{value:"thisQuarter",children:i==="de"?"Dieses Quartal":"This Quarter"}),e.jsx("option",{value:"ytd",children:i==="de"?"Jahr":"Year to Date"}),e.jsx("option",{value:"custom",children:i==="de"?"Benutzerdefiniert":"Custom"})]})]}),h==="custom"&&e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2",children:i==="de"?"Von":"From"}),e.jsx("input",{type:"date",value:f,onChange:s=>y(s.target.value),className:"w-full px-3 py-2 rounded-lg border border-gray-300 dark:border-[#2A2520] bg-white dark:bg-[#1A1714] text-gray-900 dark:text-white"})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2",children:i==="de"?"Bis":"To"}),e.jsx("input",{type:"date",value:w,onChange:s=>$(s.target.value),className:"w-full px-3 py-2 rounded-lg border border-gray-300 dark:border-[#2A2520] bg-white dark:bg-[#1A1714] text-gray-900 dark:text-white"})]})]}),e.jsx("div",{className:"p-4 rounded-xl bg-gray-50 dark:bg-[#1A1714]/80 border border-gray-200 dark:border-[#2A2520]",children:e.jsxs("div",{className:"flex items-center gap-2 text-sm text-gray-600 dark:text-gray-400",children:[e.jsx(Se,{className:"w-4 h-4"}),e.jsx("span",{children:t==="backup"?e.jsxs(e.Fragment,{children:[i==="de"?"Backup enthält":"Backup will contain",":"," ",e.jsx("strong",{className:"text-gray-900 dark:text-white",children:R})," ",i==="de"?"Einträge":"entries",", ",e.jsx("strong",{className:"text-gray-900 dark:text-white",children:E})," ",i==="de"?"Teilgewinne":"partial profits",", ",e.jsx("strong",{className:"text-gray-900 dark:text-white",children:L})," Rebuys"," ","(1 CSV-Datei)"]}):e.jsxs(e.Fragment,{children:[i==="de"?"Exportiert werden":"Will export",": ",e.jsx("strong",{className:"text-gray-900 dark:text-white",children:k})," ",T==="all"?i==="de"?"Trades":"trades":T==="closed"?i==="de"?"geschlossene Trades":"closed trades":T==="open"?i==="de"?"offene Trades":"open trades":i==="de"?"geplante Trades":"planned trades"]})})]})}),e.jsxs("div",{className:"flex gap-3 pt-4",children:[e.jsx("button",{onClick:u,disabled:B,className:"flex-1 px-6 py-3 rounded-xl font-semibold bg-gray-200 dark:bg-[#1A1714] text-gray-700 dark:text-gray-300 transition-colors disabled:opacity-50 hover:bg-gray-300 dark:hover:bg-surface-elevated",children:i==="de"?"Abbrechen":"Cancel"}),e.jsx("button",{onClick:G,disabled:B||t!=="backup"&&k===0,className:"flex-1 px-6 py-3 rounded-xl font-semibold bg-gradient-to-r from-[#C9A96E] to-[#C9A96E] text-white hover:from-[#A8864A] hover:to-[#C9A96E] transition-all duration-200 transform hover:scale-105 shadow-lg hover:shadow-xl disabled:opacity-50 disabled:cursor-not-allowed disabled:transform-none flex items-center justify-center gap-2",children:B?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"w-5 h-5 border-2 border-white border-t-transparent roun
1ded-full animate-spin"}),e.jsx("span",{children:i==="de"?"Exportiere...":"Exporting..."})]}):e.jsxs(e.Fragment,{children:[e.jsx(ut,{className:"w-5 h-5"}),e.jsx("span",{children:i==="de"?"Exportieren":"Export"})]})})]})]})]})})},ha=({isOpen:r,onClose:u})=>{const{language:m}=je(),{user:l}=pt(),{exchanges:b,inactiveExchanges:x,addExchange:i,updateExchange:t,deleteExchange:o,toggleExchangeStatus:h}=Sr(l==null?void 0:l.id),[j,f]=g.useState(!1),[y,w]=g.useState(null),[$,T]=g.useState({name:"",display_name:"",short_name:"",logo_url:"",website_url:"",notes:"",is_active:!0}),F=()=>{T({name:"",display_name:"",short_name:"",logo_url:"",website_url:"",notes:"",is_active:!0}),w(null),f(!1)},B=A=>{T({name:A.name,display_name:A.display_name||"",short_name:A.short_name||"",logo_url:A.logo_url||"",website_url:A.website_url||"",notes:A.notes||"",is_active:A.is_active}),w(A),f(!0)},V=async A=>{A.preventDefault();try{y?await t(y.id,$):await i($),F()}catch(G){console.error("Error saving exchange:",G),alert(m==="de"?"Fehler beim Speichern":"Error saving")}},_=async A=>{if(confirm(m==="de"?"Börse wirklich löschen?":"Really delete exchange?"))try{await o(A)}catch(G){console.error("Error deleting exchange:",G),alert(m==="de"?"Fehler beim Löschen":"Error deleting")}},J=async(A,G)=>{try{await h(A,G)}catch(k){console.error("Error toggling exchange status:",k),alert(m==="de"?"Fehler beim Aktualisieren":"Error updating")}};if(!r)return null;const C=u.toString().includes("dashboard");return e.jsx("div",{className:C?"":"fixed inset-0 z-50 flex items-center justify-center bg-black/70 backdrop-blur-sm p-4",children:e.jsxs("div",{className:"relative w-full ".concat(C?"":"max-w-4xl max-h-[90vh]"," overflow-hidden ").concat(C?"":"rounded-3xl border border-white/10 bg-white/90 dark:bg-[#1A1714]/90 shadow-2xl"),children:[!C&&e.jsx("div",{className:"p-6 bg-gradient-to-r from-[#C9A96E] via-[#C9A96E] to-[#2A2520]",children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"w-10 h-10 bg-white/20 rounded-xl flex items-center justify-center",children:e.jsx(Zt,{className:"w-5 h-5 text-white"})}),e.jsx("h2",{className:"text-2xl font-bold text-white",children:m==="de"?"Börsen verwalten":"Manage Exchanges"})]}),e.jsx("button",{onClick:u,className:"w-10 h-10 bg-white/20 hover:bg-white/30 rounded-xl flex items-center justify-center text-white transition-colors",children:e.jsx(Pe,{className:"w-5 h-5"})})]})}),e.jsxs("div",{className:"overflow-y-auto ".concat(C?"":"max-h-[calc(90vh-100px)]"," ").concat(C?"":"p-6"),children:[!j&&e.jsxs("button",{onClick:()=>f(!0),className:"w-full mb-6 px-6 py-4 rounded-xl border-2 border-dashed text-slate-600 dark:text-gray-400 transition-all flex items-center justify-center gap-2 font-semibold border-[#2A2520] dark:border-[#2A2520] hover:border-[#2A2520] hover:text-amber-600 dark:hover:text-amber-400",children:[e.jsx(qe,{className:"w-5 h-5"}),m==="de"?"Neue Börse hinzufügen":"Add New Exchange"]}),j&&e.jsxs("form",{onSubmit:V,className:"mb-6 p-6 rounded-2xl border border-[#2A2520] dark:border-[#2A2520] bg-surface-elevated dark:bg-surface-elevated",children:[e.jsx("h3",{className:"text-lg font-semibold text-gray-900 dark:text-white mb-4",children:y?m==="de"?"Börse bearbeiten":"Edit Exchange":m==="de"?"Neue Börse":"New Exchange"}),e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[e.jsxs("div",{children:[e.jsxs("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2",children:["Name"," *"]}),e.jsx("input",{type:"text",value:$.name,onChange:A=>T({...$,name:A.target.value}),required:!0,placeholder:"Binance",className:"w-full px-3 py-2 rounded-lg border border-gray-300 dark:border-gray-600 bg-white dark:bg-gray-700 text-gray-900 dark:text-white"})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2",children:m==="de"?"Anzeigename":"Display Name"}),e.jsx("input",{type:"text",value:$.display_name,onChange:A=>T({...$,display_name:A.target.value}),placeholder:"Binance Exchange",className:"w-full px-3 py-2 rounded-lg border border-gray-300 dark:border-gray-600 bg-white dark:bg-gray-700 text-gray-900 dark:text-white"})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2",children:m==="de"?"Kürzel":"Short Name"}),e.jsx("input",{type:"text",value:$.short_name,onChange:A=>T({...$,short_name:A.target.value}),placeholder:"BNC",className:"w-full px-3 py-2 rounded-lg border border-gray-300 dark:border-gray-600 bg-white dark:bg-gray-700 text-gray-900 dark:text-white"})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2",children:"Website URL"}),e.jsx("input",{type:"url",value:$.website_url,onChange:A=>T({...$,website_url:A.target.value}),placeholder:"https://binance.com",className:"w-full px-3 py-2 rounded-lg border border-gray-300 dark:border-gray-600 bg-white dark:bg-gray-700 text-gray-900 dark:text-white"})]}),e.jsxs("div",{className:"md:col-span-2",children:[e.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2",children:m==="de"?"Notizen":"Notes"}),e.jsx("textarea",{value:$.notes,onChange:A=>T({...$,notes:A.target.value}),rows:2,placeholder:m==="de"?"Zusätzliche Informationen...":"Additional information...",className:"w-full px-3 py-2 rounded-lg border border-gray-300 dark:border-gray-600 bg-white dark:bg-gray-700 text-gray-900 dark:text-white"})]})]}),e.jsxs("div",{className:"flex gap-3 mt-4",children:[e.jsx("button",{type:"button",onClick:F,className:"flex-1 px-4 py-2 rounded-lg text-slate-700 dark:text-gray-300 transition-colors bg-surface-elevated dark:bg-gray-700 hover:bg-surface-elevated dark:hover:bg-gray-600",children:m==="de"?"Abbrechen":"Cancel"}),e.jsxs("button",{type:"submit",className:"flex-1 px-4 py-2 rounded-lg text-white hover:opacity-90 transition-all flex items-center justify-center gap-2 bg-gradient-to-r from-[#C9A96E] via-[#C9A96E] to-[#2A2520]",children:[e.jsx(yr,{className:"w-4 h-4"}),m==="de"?"Speichern":"Save"]})]})]}),e.jsxs("div",{className:"mb-6",children:[e.jsxs("h3",{className:"text-lg font-semibold text-gray-900 dark:text-white mb-4 flex items-center gap-2",children:[e.jsx(ft,{className:"w-5 h-5 text-green-600"}),m==="de"?"Aktive Börsen":"Active Exchanges"," (",b.length,")"]}),b.length===0?e.jsx("p",{className:"text-center py-8 text-gray-500 dark:text-gray-400",children:m==="de"?"Keine aktiven Börsen":"No active exchanges"}):e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:b.map(A=>e.jsxs("div",{className:"p-4 rounded-xl border dark:border-gray-700 bg-white dark:bg-surface-elevated hover:shadow-lg transition-all border-[#2A2520]",children:[e.jsxs("div",{className:"flex items-start justify-between mb-2",children:[e.jsxs("div",{className:"flex-1",children:[e.jsx("h4",{className:"font-semibold text-gray-900 dark:text-white",children:A.display_name||A.name}),A.short_name&&e.jsx("p",{className:"text-xs text-gray-600 dark:text-gray-400",children:A.short_name})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("button",{onClick:()=>B(A),className:"p-2 rounded-lg transition-colors hover:bg-surface-elevated dark:hover:bg-surface-elevated text-amber-600 dar
1k:text-amber-400",children:e.jsx(rt,{className:"w-4 h-4"})}),e.jsx("button",{onClick:()=>J(A.id,!1),className:"p-2 rounded-lg hover:bg-gray-100 dark:hover:bg-gray-700 text-gray-600 transition-colors",children:e.jsx(gr,{className:"w-4 h-4"})}),e.jsx("button",{onClick:()=>_(A.id),className:"p-2 rounded-lg hover:bg-red-100 dark:hover:bg-red-900/30 text-red-600 transition-colors",children:e.jsx(Ue,{className:"w-4 h-4"})})]})]}),A.notes&&e.jsx("p",{className:"text-xs text-gray-600 dark:text-gray-400 line-clamp-2",children:A.notes})]}))})]}),x.length>0&&e.jsxs("div",{children:[e.jsxs("h3",{className:"text-lg font-semibold text-gray-900 dark:text-white mb-4 flex items-center gap-2",children:[e.jsx(gr,{className:"w-5 h-5 text-gray-600"}),m==="de"?"Inaktive Börsen":"Inactive Exchanges"," (",x.length,")"]}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:x.map(A=>e.jsx("div",{className:"p-4 rounded-xl border dark:border-gray-700 bg-gray-50 dark:bg-[#1A1714]/50 opacity-60 hover:opacity-100 transition-all border-[#2A2520]",children:e.jsxs("div",{className:"flex items-start justify-between",children:[e.jsx("div",{className:"flex-1",children:e.jsx("h4",{className:"font-semibold text-gray-900 dark:text-white",children:A.display_name||A.name})}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("button",{onClick:()=>J(A.id,!0),className:"p-2 rounded-lg hover:bg-green-100 dark:hover:bg-green-900/30 text-green-600 transition-colors",children:e.jsx(ft,{className:"w-4 h-4"})}),e.jsx("button",{onClick:()=>_(A.id),className:"p-2 rounded-lg hover:bg-red-100 dark:hover:bg-red-900/30 text-red-600 transition-colors",children:e.jsx(Ue,{className:"w-4 h-4"})})]})]})},A.id))})]})]})]})})},ua=["long","short"],ba=["planned","open","closed"],hr=["market","limit","stop","stop-limit"],ur=Ht.map(r=>r.value),br=mt.map(r=>r.value),fr=ht.map(r=>r.value),pr=Fe.map(r=>r.value);function st(r){return typeof r=="number"&&isFinite(r)&&r>0}function vr(r){return typeof r!="string"?!1:/^\d{4}-\d{2}-\d{2}$/.test(r)&&!isNaN(Date.parse(r))}function Gt(r,u){const m=[];return r==null?m:Array.isArray(r)?(r.forEach((l,b)=>{pr.includes(l)||m.push("".concat(u,"[").concat(b,'] "').concat(l,'" ungültig â erlaubt: ').concat(pr.join(", ")))}),m):(m.push("".concat(u," muss ein Array sein")),m)}function fa(r){const u={valid:[],errors:[]};return Array.isArray(r)?(r.forEach((m,l)=>{const b=[];if(typeof m!="object"||m===null){u.errors.push({index:l,messages:["Eintrag ist kein Objekt"]});return}const x=m;if(vr(x.date)||b.push("date fehlt oder ungültig (Format: YYYY-MM-DD)"),(typeof x.symbol!="string"||!x.symbol.trim())&&b.push("symbol fehlt oder leer"),ua.includes(x.action)||b.push('action "'.concat(x.action,'" ungültig â erlaubt: long, short')),ba.includes(x.trade_status)||b.push('trade_status "'.concat(x.trade_status,'" ungültig â erlaubt: planned, open, closed')),st(x.quantity)||b.push("quantity fehlt oder muss > 0 sein"),st(x.entry_price)||b.push("entry_price fehlt oder muss > 0 sein"),st(x.total_value)||b.push("total_value fehlt oder muss > 0 sein"),x.strategy!==void 0&&x.strategy!==null&&!ur.includes(x.strategy)&&b.push('strategy "'.concat(x.strategy,'" ungültig â erlaubt: ').concat(ur.join(", "))),x.market_conditions!==void 0&&x.market_conditions!==null&&!br.includes(x.market_conditions)&&b.push('market_conditions "'.concat(x.market_conditions,'" ungültig â erlaubt: ').concat(br.join(", "))),x.timeframe!==void 0&&x.timeframe!==null&&!fr.includes(x.timeframe)&&b.push('timeframe "'.concat(x.timeframe,'" ungültig â erlaubt: ').concat(fr.join(", "))),x.order_type!==void 0&&x.order_type!==null&&!hr.includes(x.order_type)&&b.push('order_type "'.concat(x.order_type,'" ungültig â erlaubt: ').concat(hr.join(", "))),x.emotion_score!==void 0&&x.emotion_score!==null){const i=Number(x.emotion_score);(!Number.isInteger(i)||i<1||i>10)&&b.push("emotion_score muss eine ganze Zahl zwischen 1 und 10 sein")}x.close_date!==void 0&&x.close_date!==null&&!vr(x.close_date)&&b.push("close_date ungültig (Format: YYYY-MM-DD)"),b.push(...Gt(x.emotion_tags_opening,"emotion_tags_opening")),b.push(...Gt(x.emotion_tags_during,"emotion_tags_during")),b.push(...Gt(x.emotion_tags_closing,"emotion_tags_closing")),x.partial_profits!==void 0&&x.partial_profits!==null&&(Array.isArray(x.partial_profits)?x.partial_profits.forEac
1h((i,t)=>{typeof i!="object"||i===null?b.push("partial_profits[".concat(t,"] ist kein Objekt")):st(i.target_price)||b.push("partial_profits[".concat(t,"].target_price fehlt oder muss > 0 sein"))}):b.push("partial_profits muss ein Array sein")),x.rebuys!==void 0&&x.rebuys!==null&&(Array.isArray(x.rebuys)?x.rebuys.forEach((i,t)=>{if(typeof i!="object"||i===null)b.push("rebuys[".concat(t,"] ist kein Objekt"));else{const o=i;st(o.price)||b.push("rebuys[".concat(t,"].price fehlt oder muss > 0 sein")),st(o.total_value)||b.push("rebuys[".concat(t,"].total_value fehlt oder muss > 0 sein"))}}):b.push("rebuys muss ein Array sein")),b.length>0?u.errors.push({index:l,messages:b}):u.valid.push(x)}),u):(u.errors.push({index:-1,messages:["JSON muss ein Array von Trade-Objekten sein"]}),u)}const pa=({isOpen:r,onClose:u,onImportComplete:m})=>{const{user:l}=pt(),{language:b}=je(),x=g.useRef(null),[i,t]=g.useState(""),[o,h]=g.useState([]),[j,f]=g.useState([]),[y,w]=g.useState(!1),[$,T]=g.useState(!1),[F,B]=g.useState(!1),[V,_]=g.useState(""),[J,C]=g.useState(!1),A=b==="de",G=()=>{t(""),h([]),f([]),w(!1),T(!1),B(!1),_(""),C(!1),x.current&&(x.current.value="")},k=()=>{G(),u()},R=async s=>{var N;const d=(N=s.target.files)==null?void 0:N[0];if(!d)return;const c=await d.text();t(c),w(!1),B(!1),_("")},E=()=>{_(""),w(!1);let s;try{s=JSON.parse(i.trim())}catch(c){_(A?"Ungültiges JSON-Format. Bitte überprüfe die Syntax.":"Invalid JSON format. Please check your syntax.");return}const d=fa(s);h(d.valid),f(d.errors),w(!0)},L=async()=>{var c;if(!l||o.length===0)return;T(!0),_("");let s=0;const d=[];for(const N of o)try{const{partial_profits:P,rebuys:p,...z}=N,M={...z,user_id:l.id,symbol:z.symbol.toUpperCase().trim(),is_closed:z.trade_status==="closed"},{data:Q,error:re}=await Z.from("trading_journal_entries").insert(M).select("id").single();if(re||!Q){d.push("".concat(N.symbol," (").concat(N.date,"): ").concat((c=re==null?void 0:re.message)!=null?c:"unbekannter Fehler"));continue}const ae=Q.id;if(P&&P.length>0){const q=P.map(X=>{var le;return{...X,entry_id:ae,user_id:l.id,is_collected:(le=X.is_collected)!=null?le:!1}});await Z.from("trading_journal_partial_profits").insert(q)}if(p&&p.length>0){const q=p.map(X=>{var le;return{...X,entry_id:ae,user_id:l.id,enabled:(le=X.enabled)!=null?le:!0}});await Z.from("trading_journal_rebuys").insert(q)}s++}catch(P){d.push("".concat(N.symbol," (").concat(N.date,"): ").concat(P instanceof Error?P.message:"Fehler"))}if(T(!1),d.length>0&&s===0){_((A?"Import fehlgeschlagen:\n":"Import failed:\n")+d.join("\n"));return}B(!0),d.length>0&&_((A?"".concat(s," Trades importiert, ").concat(d.length," fehlgeschlagen:\n"):"".concat(s," trades imported, ").concat(d.length," failed:\n"))+d.join("\n")),setTimeout(()=>{m(),k()},2e3)};return r?e.jsxs("div",{className:"fixed inset-0 flex items-center justify-center z-[1100]",children:[e.jsx("div",{className:"absolute inset-0 bg-black/70 backdrop-blur-sm",onClick:k}),e.jsxs("div",{className:"relative rounded-[32px] border border-white/10 bg-gradient-to-br from-[#060c18] via-[#0b1528] to-[#03070f] text-white shadow-[0_25px_80px_-40px_rgba(15,118,255,0.45)] p-8 w-full max-w-3xl mx-4 max-h-[90vh] overflow-y-auto",children:[e.jsxs("div",{className:"flex justify-between items-center mb-6",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"w-12 h-12 rounded-2xl bg-gradient-to-br from-emerald-500/30 to-teal-500/20 flex items-center justify-center shadow-lg",children:e.jsx(Pt,{className:"w-5 h-5 text-emerald-400"})}),e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl font-bold",children:"JSON Import"}),e.jsx("p",{className:"text-sm text-white/60",children:A?"Trades direkt vom Bot importieren":"Import trades directly from your bot"})]})]}),e.jsx("button",{onClick:k,className:"text-white/60 hover:text-white rounded-full p-1 hover:bg-white/10",children:e.jsx(Pe,{className:"w-6 h-6"})})]}),e.jsx("div",{className:"mb-4",children:e.jsxs("div",{className:"border-2 border-dashed border-white/20 rounded-2xl p-5 text-center bg-white/5",children:[e.jsx(kr,{className:"w-10 h-10 mx-auto text-white/40 mb-2"}),e.jsx("input",{ref:x,type:"file",accept:".json,application/json",onChange:R,className:"hidden",id:"json-upload"}),e.jsxs("label",{htmlFor:"json-upload",className:"cursor-pointer inline-flex items-center px-4 py-2 rounded-2xl bg-gradient-to-r from-emerald-500/20 to-teal-500/20 border border-emerald-500/30 text-sm font-semibold text-emerald-300 hover:brightness-110 transition-all",children:[e.jsx(Pt,{className:"w-4 h-4 mr-2"}),A?"JSON-Datei wählen":"Choose JSON file"]}),e.jsx("p",{className:"mt-2 text-xs text-white/40",children:A?"oder unten direkt einfügen":"or paste below"})]})}),e.jsxs("div",{className:"mb-4",children:[e.jsx("label",{className:"block text-sm font-medium text-white/70 mb-1",children:A?"JSON-Inhalt":"JSON content"}),e.jsx("textarea",{value:i,onChange:s=>{t(s.target.value),w(!1)},placeholder:'[{ "date": "2026-05-27", "symbol": "BTC", "action": "long", ... }]',rows:6,className:"w-full rounded-2xl border border-white/15 bg-[#0b1528] text-white text-sm px-4 py-3 focus:outline-none focus:ring-2 focus:ring-emerald-500 focus:border-transparent font-mono resize-y"})]}),!y&&e.jsx("div",{className:"mb-4",children:e.jsx("button",{onClick:E,disabled:!i.trim(),className:"w-full rounded-2xl border border-white/15 bg-white/5 px-4 py-2.5 text-sm font-semibold text-white hover:bg-white/10 transition-all disabled:opacity-40 disabled:cursor-not-allowed",children:A?"JSON prüfen & Vorschau laden":"Validate & preview"})}),V&&!F&&e.jsxs("div",{className:"mb-4 p-4 bg-red-900/20 rounded-2xl border border-red-500/20 flex items-start gap-3",children:[e.jsx(mr,{className:"w-5 h-5 text-red-400 flex-shrink-0 mt-0.5"}),e.jsx("p",{className:"text-sm text-red-300 whitespace-pre-wrap",children:V})]}),y&&e.jsxs("div",{className:"mb-4 space-y-3",children:[o.length>0&&e.jsxs("div",{className:"p-3 bg-emerald-900/20 rounded-2xl border border-emerald-500/20 flex items-center gap-2",children:[e.jsx(Ge,{className:"w-4 h-4 text-emerald-400 flex-shrink-0"}),e.jsx("span",{className:"text-sm text-emerald-300",children:A?"".concat(o.length," Trade").concat(o.length!==1?"s":""," bereit zum Import"):"".concat(o.length," trade").concat(o.length!==1?"s":""," ready to import")})]}),j.length>0&&e.jsxs("div",{className:"rounded-2xl border border-amber-500/20 bg-amber-900/10 overflow-hidden",children:[e.jsxs("button",{onClick:()=>C(s=>!s),className:"w-full flex items-center justify-between px-4 py-3 text-sm font-medium text-amber-300 hover:bg-white/5",children:[e.jsxs("span",{className:"flex items-center gap-2",children:[e.jsx(mr,{className:"w-4 h-4"}),A?"".concat(j.length," Eintrag").concat(j.length!==1?"e":""," mit Fehlern"):"".concat(j.length," entr").concat(j.length!==1?"ies":"y"," with errors")]}),J?e.jsx(bt,{className:"w-4 h-4"}):e.jsx(ze,{className:"w-4 h-4"})]}),J&&e.jsx("div",{className:"px-4 pb-4 space-y-2",children:j.map(s=>e.jsxs("div",{className:"text-xs text-amber-200/80",children:[e.jsx("span",{className:"font-semibold",children:s.index>=0?A?"Eintrag ".concat(s.index+1,":"):"Entry ".concat(s.index+1,":"):A?"Allgemeiner Fehler:":"General error:"})," ",s.messages.join(" · ")]},s.index))})]}),o.length>0&&e.jsxs("div",{className:"overflow-x-auto rounded-2xl border border-white/10",children:[e.jsxs("table",{className:"w-full text-xs",children:[e.jsx("thead",{children:e.jsxs("tr",{className:"bg-white/5 text-white/50",children:[e.jsx("th",{className:"px-3 py-2 text-left font-medium",children:"Datum"}),e.jsx("th",{className:"px-3 py-2 text-left font-medium",children:"Symbol"}),e.jsx("th",{className:"px-3 py-2 text-left font-medium",children:"Richtung"}),e.jsx("th",{className:"px-3 py-2 text-left font-medium",children:"Status"}),e.jsx("th",{className:"px-3 py-2 text-right font-medium",children:"Entry"}),e.jsx("th",{className:"px-3 py-2 text-right font-medium",children:"P&L"})]})}),e.jsx("tbody",{children:o.slice(0,10).map((s,d)=>e.jsxs("tr",{className:"border-t border-white/5 hover:bg-white/5",children:[e.jsx("td",{className:"px-3 py-2 text-white/70",children:s.date}),e.jsx("td",{className:"px-3 py-2 font-semibold text-white",children:s.symbol.toUpperCase()}),e.jsx("td",{className:"px-3 py-2",children:e.jsx("span",{className:s.action==="long"?"text-emerald-400":"text-red-400",children:s.action==="long"?"Long â":"Short â"})}),e.jsx("td",{className:"px-3 py-2 text-white/60",children:s.trade_status}),e.jsxs("td",{className:"px-3 py-2 text-right text-white/70",children:["$",Number(s.entry_price).toLocaleStr
1ing()]}),e.jsx("td",{className:"px-3 py-2 text-right ".concat(s.pnl!=null?Number(s.pnl)>=0?"text-emerald-400":"text-red-400":"text-white/30"),children:s.pnl!=null?"$".concat(Number(s.pnl).toFixed(2)):"â"})]},d))})]}),o.length>10&&e.jsx("p",{className:"text-xs text-white/40 text-center py-2 border-t border-white/5",children:A?"... und ".concat(o.length-10," weitere"):"... and ".concat(o.length-10," more")})]})]}),F&&e.jsxs("div",{className:"mb-4 p-4 bg-emerald-900/20 rounded-2xl border border-emerald-500/20 flex items-center gap-3",children:[e.jsx(Ge,{className:"w-5 h-5 text-emerald-400 flex-shrink-0"}),e.jsx("p",{className:"text-sm text-emerald-300",children:A?"Import erfolgreich! Dein Journal wird aktualisiert.":"Import successful! Your journal is being updated."})]}),e.jsxs("div",{className:"flex justify-end gap-3 pt-2",children:[e.jsx("button",{onClick:k,className:"px-5 py-2.5 rounded-2xl border border-white/15 text-sm font-semibold text-white/70 hover:text-white hover:bg-white/5 transition-all",children:A?"Abbrechen":"Cancel"}),y&&!F&&e.jsx("button",{onClick:L,disabled:$||o.length===0,className:"flex items-center gap-2 px-5 py-2.5 rounded-2xl bg-gradient-to-r from-emerald-400 via-emerald-500 to-teal-500 text-sm font-semibold text-white shadow-lg shadow-emerald-500/40 hover:-translate-y-0.5 transition-all disabled:opacity-50 disabled:cursor-not-allowed disabled:hover:translate-y-0",children:$?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"w-4 h-4 border-2 border-white border-t-transparent rounded-full animate-spin"}),A?"Importiere...":"Importing..."]}):e.jsxs(e.Fragment,{children:[e.jsx(Pt,{className:"w-4 h-4"}),A?"".concat(o.length," Trade").concat(o.length!==1?"s":""," importieren"):"Import ".concat(o.length," trade").concat(o.length!==1?"s":"")]})})]})]})]}):null},va=({isOpen:r,onClose:u,entry:m,partialProfits:l,rebuys:b})=>{const{language:x}=je(),i=g.useMemo(()=>{const t=[];let o=0;if(m.quantity&&m.entry_price)o=m.entry_price*m.quantity;else{const h=l.filter(j=>j.is_collected);if(h.length>0){const j=h.reduce((f,y)=>f+(y.target_percentage||0),0);if(j>0&&j<100){const f=(100-j)/100,y=m.total_value/f,w=h.length>0?Math.min(...h.map(F=>new Date(F.collected_at||F.created_at||0).getTime())):1/0,T=b.filter(F=>F.enabled&&F.created_at&&new Date(F.created_at).getTime()<w).reduce((F,B)=>F+(B.total_value||0),0);o=y-T}else o=m.total_value||0}else{const j=b.filter(f=>f.enabled&&f.created_at).reduce((f,y)=>f+(y.total_value||0),0);o=Math.max(0,m.total_value-j)}}if(t.push({type:"entry",date:m.created_at||m.date,price:m.entry_price||null,amount:o||null,description:x==="de"?"Trade eröffnet: ".concat(m.action==="long"?"Long":"Short"," ").concat(m.symbol):"Trade opened: ".concat(m.action==="long"?"Long":"Short"," ").concat(m.symbol),icon:m.action==="long"?e.jsx(Te,{className:"w-5 h-5"}):e.jsx(Re,{className:"w-5 h-5"}),color:"from-[#1A1714] to-[#2A2520]"}),b.filter(h=>h.enabled&&h.created_at).forEach((h,j)=>{t.push({type:"rebuy",date:h.created_at,price:h.price||null,amount:h.total_value||null,description:x==="de"?"Rebuy #".concat(j+1,": Position aufgestockt"):"Rebuy #".concat(j+1,": Position increased"),icon:e.jsx(qe,{className:"w-5 h-5"}),color:"from-[#1A1714] to-[#2A2520]"})}),l.forEach((h,j)=>{if(h.is_collected&&h.collected_at){let f=h.actual_profit;if(!f){const y=h.collected_price||h.target_price,w=m.average_entry_price||m.entry_price,$=h.target_percentage||100;m.action==="long"?f=(y-w)/w*m.total_value*($/100):f=(w-y)/w*m.total_value*($/100)}t.push({type:"partial_profit",date:h.collected_at,price:h.collected_price||h.target_price||null,profit:f||null,description:x==="de"?"Teilgewinn #".concat(j+1," abgeholt"):"Partial Profit #".concat(j+1," collected"),icon:e.jsx(Ie,{className:"w-5 h-5"}),color:"from-emerald-500 to-green-600"})}}),m.is_closed||m.trade_status==="closed"){const h=ie(m,l);t.push({type:"exit",date:m.close_date||m.updated_at,price:m.exit_price||null,profit:h,description:x==="de"?"Trade geschlossen":"Trade closed",icon:e.jsx(Ge,{className:"w-5 h-5"}),color:h>=0?"from-emerald-500 to-green-600":"from-red-500 to-[#2A2520]"})}return t.sort((h,j)=>new Date(h.date).getTime()-new Date(j.date).getTime())},[m,l,b,x]);return r?e.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/70 backdrop-blur-sm p-4",children:e.jsxs("div",{className:"relative w-full max-w-3xl max-h-[90vh] overflow-hidden rounded-3xl border border-white/10 bg-white/90 dark:bg-[#1A1714]/90 shadow-2xl",children:[e.jsx("div",{className:"p-6 bg-gradient-to-r from-[#C9A96E] via-[#C9A96E] to-[#2A2520]",children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"w-10 h-10 bg-white/20 rounded-xl flex items-center justify-center",children:e.jsx(Se,{className:"w-5 h-5 text-white"})}),e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl font-bold text-white",children:"Trade Timeline"}),e.jsxs("p",{className:"text-sm text-white/80",children:[m.symbol," - ",m.action==="long"?"Long":"Short"]})]})]}),e.jsx("button",{onClick:u,className:"w-10 h-10 bg-white/20 hover:bg-white/30 rounded-xl flex items-center justify-center text-white transition-colors",children:e.jsx(Pe,{className:"w-5 h-5"})})]})}),e.jsxs("div",{className:"overflow-y-auto max-h-[calc(90vh-120px)] p-6",children:[e.jsxs("div",{className:"relative",children:[e.jsx("div",{className:"absolute left-8 top-4 bottom-4 w-0.5 bg-gradient-to-b from-[#1A1714] via-[#1A1714] to-[#2A2520]"}),e.jsx("div",{className:"space-y-6",children:i.map((t,o)=>e.jsxs("div",{className:"relative pl-20",children:[e.jsx("div",{className:"absolute left-0 w-16 h-16 rounded-2xl bg-gradient-to-br ".concat(t.color," flex items-center justify-center text-white shadow-lg"),children:t.icon}),e.jsxs("div",{className:"p-4 rounded-2xl border border-gray-200 dark:border-gray-700 bg-white/70 dark:bg-[#1A1714]/70 backdrop-blur-sm hover:shadow-lg transition-all",children:[e.jsxs("div",{className:"flex items-start justify-between mb-2",children:[e.jsxs("div",{children:[e.jsx("h4",{className:"font-semibold text-gray-900 dark:text-white",children:t.description}),e.jsxs("p",{className:"text-sm text-gray-600 dark:text-gray-400 flex items-center gap-2 mt-1",children:[e.jsx(Se,{className:"w-3 h-3"}),new Date(t.date).toLocaleDateString(x==="de"?"de-DE":"en-US",{year:"numeric",month:"long",day:"numeric",hour:"2-digit",minute:"2-digit"})]})]}),t.type==="entry"&&e.jsx("span",{className:"px-3 py-1 rounded-full text-xs font-semibold bg-surface-elevated text-amber-800 dark:bg-surface-elevated dark:text-amber-300",children:x==="de"?"Eröffnung":"Entry"}),t.type==="rebuy"&&e.jsx("span",{className:"px-3 py-1 rounded-full text-xs font-semibold bg-surface-elevated text-yellow-800 dark:bg-surface-elevated dark:text-yellow-300",children:"Rebuy"}),t.type==="partial_profit"&&e.jsx("span",{className:"px-3 py-1 rounded-full text-xs font-semibold bg-green-100 text-green-800 dark:bg-green-900/30 dark:text-green-300",children:"TP"}),t.type==="exit"&&e.jsx("span",{className:"px-3 py-1 rounded-full text-xs font-semibold ".concat((t.profit||0)>=0?"bg-emerald-100 text-emerald-800 dark:bg-emerald-900/30 dark:text-emerald-300":"bg-red-100 text-red-800 dark:bg-red-900/30 dark:text-red-300"),children:x==="de"?"Geschlossen":"Exit"})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-3 mt-3",children:[t.price!==void 0&&t.price!==null&&e.jsxs("div",{className:"p-2 rounded-lg bg-gray-50 dark:bg-[#1A1714]/50",children:[e.jsx("div",{className:"text-xs text-gray-600 dark:text-gray-400",children:x==="de"?"Preis":"Price"}),e.jsxs("div",{className:"text-sm font-bold text-gray-900 dark:text-white",children:["$",t.price.toFixed(4)]})]}),t.amount!==void 0&&t.amount!==null&&e.jsxs("div",{className:"p-2 rounded-lg bg-gray-50 dark:bg-[#1A1714]/50",children:[e.jsx("div",{className:"text-xs text-gray-600 dark:text-gray-400",children:x==="de"?"Betrag":"Amount"}),e.jsxs("div",{className:"text-sm font-bold text-gray-900 dark:text-white",children:["$",t.amount.toFixed(2)]})]}),t.profit!==void 0&&t.profit!==null&&e.jsxs("div",{className:"p-2 rounded-lg bg-gray-50 dark:bg-[#1A1714]/50",children:[e.jsx("div",{className:"text-xs text-gray-600 dark:text-gray-400",children:"P&L"}),e.jsxs("div",{className:"text-sm font-bold ".concat(t.profit>=0?"text-emerald-600 dark:text-emerald-400":"text-red-600 dark:text-red-400"),children:[t.profit>=0?"+":"","$",t.profit.toFixed(2)]})]})]})]})]},o))})]}),e.jsxs("div",{className:"mt-8 p-6 rounded-2xl border bg-gradient-to-br from-[#1A1714] to-[#2A2520] dark:from-[#1A1714] dark:to-[#2A2520] border-[#2A2520] dark:border-[#2A2520]",children:[e.jsx("h3",{className:"text-lg font-semibold text-gray-900 dark:text-white mb-4",children:x==="de"?"Zusammenfassung":"Summary"}),e.jsxs("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-4",children:[e.jsxs("div",{children:[e.jsx("div",{className:"text-sm text-gray-600 dark:text-gray-400",children:"Events"}),e.jsx("div",{className:"text-2xl font-bold text-gray-900 dark:text-white",children:i.length})]}),e.jsxs("div",{children:[e.jsx("div",{className:"text-sm text-gray-600 dark:text-gray-400",children:"Rebuys"}),e.jsx("div",{className:"text-2xl font-bold text-yellow-600 dark:text-yellow-400",children:b.length})]}),e.jsxs("div",{children:[e.jsx("div",{className:"text-sm text-gray-600 dark:text-gray-400",children:x==="de"?"Teilgewinne":"Partial Profits"}),e.jsxs("div",{className:"text-2xl font-bold text-green-600 dark:text-green-400",children:[l.filter(t=>t.is_collected).length,"/",l.length]})]}),(m.is_closed||m.trade_status==="closed")&&(()=>{const t=ie(m,l);return e.jsxs("div",{children:[e.jsx("div",{className:"text-sm text-gray-600 dark:text-gray-400",children:"Final P&L"}),e.jsxs("div",{className:"text-2xl font-bold ".concat(t>=0?"text-emerald-600 dark:text-emerald-400":"text-red-600 dark:text-red-400"),children:[t>=0?"+":"","$",t.toFixed(2)]})]})})()]})]}),e.jsx("div",{className:"mt-6",children:e.jsx("button",{onClick:u,className:"w-full px-6 py-3 rounded-xl font-semibold bg-gray-200 dark:bg-gray-700 text-gray-700 dark:text-gray-300 hover:bg-gray-300 dark:hover:bg-gray-600 transition-colors",children:x==="de"?"SchlieÃen":"Close"})})]})]})}):null},wa=({isOpen:r,onClose:u,entryId:m,onDelete:l,onEdit:b})=>{var c,N,P;const{user:x}=pt(),{language:i}=je(),[t,o]=g.useState(null),[h,j]=g.useState([]),[f,y]=g.useState([]),[w,$]=g.useState(!0),[T,F]=g.useState(null),[B,V]=g.useState(!1),{getStrategyName:_}=Jt(x==null?void 0:x.id);wr(x==null?void 0:x.id),g.useEffect(()=>{m&&x&&r&&J()},[m,x,r]);const J=async()=>
1{if(!(!m||!x))try{$(!0),F(null);const{data:p,error:z}=await Z.from("trading_journal_entries").select("*").eq("id",m).eq("user_id",x.id).single();if(z)throw z;if(!p){F("Trade nicht gefunden");return}o(p);const{data:M}=await Z.from("trading_journal_partial_profits").select("*").eq("entry_id",m).eq("user_id",x.id).order("created_at",{ascending:!0});j(M||[]);const{data:Q}=await Z.from("trading_journal_rebuys").select("*").eq("entry_id",m).eq("user_id",x.id).order("created_at",{ascending:!0});y(Q||[])}catch(p){console.error("Error fetching trade details:",p),F("Fehler beim Laden der Trade-Details")}finally{$(!1)}},C=()=>{t&&(l==null||l(t))},A=()=>{t&&V(!0)};if(!r)return null;const G=t?ie(t,h):0,k=G>=0,R=h.filter(p=>p.is_collected);h.filter(p=>!p.is_collected);const E=R.reduce((p,z)=>p+(z.actual_profit||0),0),L=f.filter(p=>p.enabled),s=(t==null?void 0:t.total_value)||0;let d=null;if(t!=null&&t.stop_loss&&t&&(t.average_entry_price||t.entry_price)){const p=t.average_entry_price||t.entry_price;if(p>0){const z=f.filter(X=>X.enabled),M=t.entry_price*(t.quantity||0),Q=z.reduce((X,le)=>X+(le.total_value||0),0),re=M+Q,ae=t.leverage&&t.leverage>0?t.leverage:1,q=(re>0?re:t.total_value||0)*ae;if(q>0){const X=t.action==="long"?p-t.stop_loss:t.stop_loss-p;if(X>0){const le=X/p*100;d=q*le/100}}}}return e.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/70 backdrop-blur-sm p-4",children:e.jsxs("div",{className:"relative w-full max-w-6xl max-h-[95vh] overflow-hidden rounded-3xl border shadow-2xl border-[#2A2520] bg-gradient-to-br from-gray-50 via-[#1A1714] to-[#2A2520] dark:from-[#0f0d0a] dark:via-[#1A1714] dark:to-[#2A2520]",children:[e.jsx("button",{onClick:u,className:"absolute top-4 right-4 z-50 w-10 h-10 rounded-xl flex items-center justify-center transition-colors shadow-lg bg-white/90 text-gray-600 hover:bg-slate-100 dark:bg-[#1A1714]/90 dark:text-gray-300 dark:hover:bg-surface-elevated",children:e.jsx(Pe,{className:"w-5 h-5"})}),e.jsx("div",{className:"overflow-y-auto max-h-[95vh] p-6",children:w?e.jsx("div",{className:"flex items-center justify-center min-h-[400px]",children:e.jsxs("div",{className:"text-center",children:[e.jsx("div",{className:"inline-flex items-center justify-center w-16 h-16 rounded-full mb-4 animate-pulse bg-gradient-to-br from-[#C9A96E] to-[#C9A96E]",children:e.jsx(Oe,{className:"w-8 h-8 text-white"})}),e.jsx("p",{className:"text-gray-600 dark:text-gray-400",children:i==="de"?"Lade Trade-Details...":"Loading trade details..."})]})}):T||!t?e.jsx("div",{className:"text-center text-red-600 dark:text-red-400 min-h-[400px] flex items-center justify-center",children:e.jsx("p",{className:"text-lg font-semibold",children:T||"Trade nicht gefunden"})}):e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"relative overflow-hidden rounded-3xl border p-6 shadow-lg backdrop-blur-lg border-[#2A2520] bg-white/70 dark:bg-[#1A1714]/80",children:[e.jsx("div",{className:"absolute top-0 right-0 w-64 h-64 bg-gradient-to-l to-transparent rounded-full blur-3xl bg-surface-elevated"}),e.jsx("div",{className:"absolute bottom-0 left-0 w-64 h-64 bg-gradient-to-r to-transparent rounded-full blur-3xl from-[#1A1714]"}),e.jsxs("div",{className:"relative z-10 flex flex-col sm:flex-row items-start sm:items-center justify-between gap-6",children:[e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsx("div",{className:"w-16 h-16 rounded-2xl flex items-center justify-center shadow-lg ".concat(t.action==="long"?"bg-gradient-to-br from-green-500 to-emerald-600":"bg-gradient-to-br from-red-500 to-[#2A2520]"),children:t.action==="long"?e.jsx(Te,{className:"w-8 h-8 text-white"}):e.jsx(Re,{className:"w-8 h-8 text-white"})}),e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[e.jsx("h1",{className:"text-3xl font-bold text-gray-900 dark:text-white",children:t.symbol}),e.jsxs("span",{className:"px-3 py-1 rounded-full text-sm font-semibold ".concat(t.trade_status==="planned"?"bg-surface-elevated text-amber-800 dark:bg-surface-elevated dark:text-amber-300":t.trade_status==="open"?"bg-surface-elevated text-yellow-800 dark:bg-surface-elevated dark:text-yellow-300":k?"bg-emerald-100 text-emerald-800 dark:bg-emerald-900/30 dark:text-emerald-300":"bg-red-100 text-red-800 dark:bg-red-900/30 dark:text-red-300"),children:[t.trade_status==="planned"&&"ð Geplant",t.trade_status==="open"&&"ð¢ Offen",t.trade_status==="closed"&&(k?"â
Gewinn":"â Verlust")]}),e.jsx("span",{className:"px-3 py-1 rounded-full text-sm font-semibold ".concat(t.action==="long"?"bg-green-100 text-green-800 dark:bg-green-900/30 dark:text-green-300":"bg-red-100 text-red-800 dark:bg-red-900/30 dark:text-red-300"),children:t.action==="long"?"ð Long":"ð Short"})]}),e.jsxs("div",{className:"flex items-center gap-3 text-gray-600 dark:text-gray-400",children:[e.jsx(Se,{className:"w-4 h-4"}),e.jsxs("span",{children:[new Date(t.date).toLocaleDateString(i==="de"?"de-DE":"en-US"),t.close_date&&e.jsxs(e.Fragment,{children:[" â ",new Date(t.close_date).toLocaleDateString(i==="de"?"de-DE":"en-US")]})]}),t.exchange&&e.jsxs(e.Fragment,{children:[e.jsx("span",{children:"â¢"}),e.jsx("span",{children:t.exchange})]})]})]})]}),e.jsxs("div",{className:"flex flex-col sm:flex-row items-stretch sm:items-center gap-2 sm:gap-3 w-full sm:w-auto",children:[!t.is_closed&&t.trade_status!=="closed"&&e.jsxs("button",{onClick:A,className:"group relative overflow-hidden px-4 py-2.5 rounded-xl shadow-lg transition-all duration-300 hover:shadow-xl hover:scale-[1.02] sm:order-1",children:[e.jsx("div",{className:"absolute inset-0 bg-gradient-to-r from-[#1A1714] to-[#2A2520]"}),e.jsx("div",{className:"absolute inset-0 bg-gradient-to-r from-[#1A1714] to-[#2A2520] opacity-0 group-hover:opacity-100 transition-opacity"}),e.jsxs("div",{className:"relative flex items-center justify-center gap-2 text-white font-semibold text-sm",children:[e.jsx(qe,{className:"w-4 h-4 shrink-0"}),e.jsx("span",{children:"Rebuys"}),L.length>0&&e.jsx("span",{className:"px-2 py-0.5 rounded-full bg-white/30 text-xs",children:L.length})]})]}),b&&e.jsxs("button",{onClick:()=>{b(t),u()},className:"group relative overflow-hidden px-4 py-2.5 rounded-xl shadow-lg transition-all duration-300 hover:shadow-xl hover:scale-[1.02] sm:order-2",children:[e.jsx("div",{className:"absolute inset-0 bg-gradient-to-r from-[#C9A96E] to-[#A8864A]"}),e.jsxs("div",{className:"relative flex items-center justify-center gap-2 text-white font-semibold text-sm",children:[e.jsx(rt,{className:"w-4 h-4 shrink-0"}),e.jsx("span",{children:i==="de"?"Bearbeiten":"Edit"})]})]}),e.jsxs("button",{onClick:C,className:"group relative overflow-hidden px-4 py-2.5 rounded-xl shadow-lg transition-all duration-300 hover:shadow-xl hover:scale-[1.02] sm:order-3",children:[e.jsx("div",{className:"absolute inset-0 bg-gradient-to-r from-red-600 to-[#2A2520]"}),e.jsxs("div",{className:"relative flex items-center justify-center gap-2 text-white font-semibold text-sm",children:[e.jsx(Ue,{className:"w-4 h-4 shrink-0"}),e.jsx("span",{children:i==="de"?"Löschen":"Delete"})]})]})]})]})]}),(t.is_closed||t.trade_status==="closed")&&G!==void 0&&G!==null&&e.jsx("div",{className:"relative overflow-hidden rounded-3xl border-2 p-6 shadow-2xl backdrop-blur-lg ".concat(k?"border-emerald-200 dark:border-emerald-700/30 bg-gradient-to-br from-emerald-50 to-green-50 dark:from-emerald-900/20 dark:to-green-900/20":"border-red-200 dark:border-red-700/30 bg-gradient-to-br from-red-50 to-[#2A2520] dark:from-red-900/20 dark:to-[#2A2520]"),children:e.jsxs("div",{className:"text-center",children:[e.jsxs("div",{className:"flex items-center justify-center gap-3 mb-4",children:[k?e.jsx(Ge,{className:"w-6 h-6 text-emerald-600 dark:text-emerald-400"}):e.jsx(Ie,{className:"w-6 h-6 text-red-600 dark:text-red-400"}),e.jsx("h2",{className:"text-xl font-bold text-gray-900 dark:text-white",children:i==="de"?"Endergebnis":"Final Result"})]}),e.jsxs("div",{className:"text-5xl font-black mb-3 ".concat(k?"text-emerald-600 dark:text-emerald-400":"text-red-600 dark:text-red-400"),children:[k?"+":"","$",G.toFixed(2)]}),(()=>{const p=t.entry_price*(t.quantity||0),M=f.filter(ae=>ae.enabled).reduce((ae,q)=>ae+(q.total_value||0),0),Q=p+M,re=Q>0?G/Q*100:0;return e.jsxs("div",{className:"text-xl font-bold ".concat(k?"text-emerald-600 dark:text-emerald-400":"text-red-600 dark:text-red-400"),children:[re>=0?"+":"",re.toFixed(2),"%"]})})()]})}),e.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-4",children:[e.jsxs("div",{className:"relative overflow-hidden rounded-2xl border p-4 shadow-lg backdrop-blur-sm border-[#2A2520] bg-white/70 dark:bg-[#1A1714]/80",children:[e.jsxs("h3",{className:"text-lg font-semibold text-gray-900 dark:text-white mb-3 flex items-center gap-2",children:[e.jsx(Me,{className:"w-5 h-5 text-amber-500"}),i==="de"?"Preise":"Prices"]}
1),e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:"flex justify-between",children:[e.jsx("span",{className:"text-gray-600 dark:text-gray-400 text-sm",children:i==="de"?"Einstiegspreis:":"Entry Price:"}),e.jsxs("span",{className:"font-bold text-gray-900 dark:text-white text-sm",children:["$",t.entry_price.toFixed(4)]})]}),t.average_entry_price&&t.average_entry_price!==t.entry_price&&e.jsxs("div",{className:"flex justify-between",children:[e.jsx("span",{className:"text-gray-600 dark:text-gray-400 text-sm",children:i==="de"?"Durchschnittspreis:":"Avg Price:"}),e.jsxs("span",{className:"font-bold text-sm text-amber-600 dark:text-amber-400",children:["$",t.average_entry_price.toFixed(4)]})]}),t.exit_price&&e.jsxs("div",{className:"flex justify-between",children:[e.jsx("span",{className:"text-gray-600 dark:text-gray-400 text-sm",children:i==="de"?"Ausstiegspreis:":"Exit Price:"}),e.jsxs("span",{className:"font-bold text-gray-900 dark:text-white text-sm",children:["$",t.exit_price.toFixed(4)]})]}),t.stop_loss&&e.jsxs("div",{className:"space-y-1",children:[e.jsxs("div",{className:"flex justify-between",children:[e.jsx("span",{className:"text-gray-600 dark:text-gray-400 text-sm",children:"Stop Loss:"}),e.jsxs("span",{className:"font-bold text-red-600 dark:text-red-400 text-sm",children:["$",t.stop_loss.toFixed(4)]})]}),d!==null&&e.jsxs("div",{className:"flex justify-between text-xs",children:[e.jsx("span",{className:"text-gray-500 dark:text-gray-500",children:i==="de"?"Risiko (mit Hebel):":"Risk (with leverage):"}),e.jsxs("span",{className:"font-semibold text-red-500 dark:text-red-400",children:["-$",d.toFixed(2)]})]})]})]})]}),e.jsxs("div",{className:"relative overflow-hidden rounded-2xl border p-4 shadow-lg backdrop-blur-sm border-[#2A2520] bg-white/70 dark:bg-[#1A1714]/80",children:[e.jsxs("h3",{className:"text-lg font-semibold text-gray-900 dark:text-white mb-3 flex items-center gap-2",children:[e.jsx(lt,{className:"w-5 h-5 text-amber-500"}),"Position"]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:"flex justify-between",children:[e.jsx("span",{className:"text-gray-600 dark:text-gray-400 text-sm",children:i==="de"?"GröÃe:":"Size:"}),e.jsxs("span",{className:"font-bold text-gray-900 dark:text-white text-sm",children:["$",s.toFixed(2)]})]}),t.leverage&&t.leverage>1&&e.jsxs("div",{className:"flex justify-between",children:[e.jsx("span",{className:"text-gray-600 dark:text-gray-400 text-sm",children:i==="de"?"Hebel:":"Leverage:"}),e.jsxs("span",{className:"font-bold text-orange-600 dark:text-orange-400 text-sm",children:[t.leverage,"x"]})]}),t.trading_fees!=null&&t.trading_fees!==0&&e.jsxs("div",{className:"flex justify-between",children:[e.jsx("span",{className:"text-gray-600 dark:text-gray-400 text-sm",children:i==="de"?"Trading-Gebühren:":"Trading Fees:"}),e.jsxs("span",{className:"font-bold text-red-600 dark:text-red-400 text-sm",children:["â$",Math.abs(t.trading_fees).toFixed(2)]})]}),t.funding_fees!=null&&t.funding_fees!==0&&e.jsxs("div",{className:"flex justify-between",children:[e.jsx("span",{className:"text-gray-600 dark:text-gray-400 text-sm",children:i==="de"?"Funding-Gebühren:":"Funding Fees:"}),e.jsxs("span",{className:"font-bold text-sm ".concat(t.funding_fees>0?"text-green-600 dark:text-green-400":"text-red-600 dark:text-red-400"),children:[t.funding_fees>0?"+":"â","$",Math.abs(t.funding_fees).toFixed(2)]})]}),(t.trading_fees==null||t.trading_fees===0)&&(t.funding_fees==null||t.funding_fees===0)&&t.fees!=null&&t.fees!==0&&e.jsxs("div",{className:"flex justify-between",children:[e.jsx("span",{className:"text-gray-600 dark:text-gray-400 text-sm",children:i==="de"?"Gebühren:":"Fees:"}),e.jsxs("span",{className:"font-bold text-sm ".concat(t.fees>0?"text-green-600 dark:text-green-400":"text-red-600 dark:text-red-400"),children:[t.fees>0?"+":"â","$",Math.abs(t.fees).toFixed(2)]})]})]})]}),e.jsxs("div",{className:"relative overflow-hidden rounded-2xl border p-4 shadow-lg backdrop-blur-sm border-[#2A2520] bg-white/70 dark:bg-[#1A1714]/80",children:[e.jsxs("h3",{className:"text-lg font-semibold text-gray-900 dark:text-white mb-3 flex items-center gap-2",children:[e.jsx(dt,{className:"w-5 h-5 text-green-500"}),i==="de"?"Strategie":"Strategy"]}
1),e.jsxs("div",{className:"space-y-2",children:[t.strategy&&e.jsxs("div",{className:"flex justify-between",children:[e.jsx("span",{className:"text-gray-600 dark:text-gray-400 text-sm",children:i==="de"?"Strategie:":"Strategy:"}),e.jsx("span",{className:"font-bold text-gray-900 dark:text-white text-sm",children:_(t.strategy)})]}),t.timeframe&&e.jsxs("div",{className:"flex justify-between",children:[e.jsx("span",{className:"text-gray-600 dark:text-gray-400 text-sm",children:i==="de"?"Zeitrahmen:":"Timeframe:"}),e.jsx("span",{className:"font-bold text-gray-900 dark:text-white text-sm",children:t.timeframe})]}),t.market_conditions&&e.jsxs("div",{className:"flex justify-between",children:[e.jsx("span",{className:"text-gray-600 dark:text-gray-400 text-sm",children:i==="de"?"Markt:":"Market:"}),e.jsx("span",{className:"font-bold text-gray-900 dark:text-white text-sm capitalize",children:t.market_conditions})]})]})]})]}),L.length>0&&e.jsxs("div",{className:"relative overflow-hidden rounded-3xl border border-white/20 bg-white/70 dark:bg-[#1A1714]/70 p-4 shadow-lg backdrop-blur-sm",children:[e.jsxs("h3",{className:"text-lg font-bold text-gray-900 dark:text-white mb-4 flex items-center gap-2",children:[e.jsx(Nr,{className:"w-5 h-5 text-yellow-500"}),i==="de"?"Nachkäufe / Rebuys":"Rebuys / DCA"," (",L.length,")"]}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-3",children:L.map((p,z)=>e.jsxs("div",{className:"p-3 rounded-xl bg-gradient-to-br from-[#1A1714] to-[#2A2520] dark:from-[#1A1714] dark:to-[#2A2520] border border-[#2A2520] dark:border-[#2A2520]",children:[e.jsxs("div",{className:"text-xs text-gray-600 dark:text-gray-400 mb-1",children:["Rebuy #",z+1]}),e.jsxs("div",{className:"text-lg font-bold text-gray-900 dark:text-white mb-1",children:["$",p.price.toFixed(4)]}),e.jsxs("div",{className:"text-xs text-gray-600 dark:text-gray-400",children:["$",p.total_value.toFixed(2)]})]},p.id))})]}),h.length>0&&e.jsxs("div",{className:"relative overflow-hidden rounded-3xl border border-white/20 bg-white/70 dark:bg-[#1A1714]/70 p-4 shadow-lg backdrop-blur-sm",children:[e.jsxs("h3",{className:"text-lg font-bold text-gray-900 dark:text-white mb-4 flex items-center gap-2",children:[e.jsx(Ie,{className:"w-5 h-5 text-green-500"}),i==="de"?"Teilgewinne":"Partial Profits"," (",h.length,")"]}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-3",children:[...h].sort((p,z)=>t.action==="long"?p.target_price-z.target_price:z.target_price-p.target_price).map((p,z)=>e.jsxs("div",{className:"p-3 rounded-xl border-2 ".concat(p.is_collected?"bg-gradient-to-br from-emerald-100 to-green-100 dark:from-emerald-900/40 dark:to-green-900/40 border-emerald-300 dark:border-emerald-600/30":"bg-gradient-to-br from-gray-50 to-gray-100 dark:from-[#1A1714] dark:to-[#1A1714] border-gray-200 dark:border-[#2A2520]"),children:[e.jsxs("div",{className:"flex items-center justify-between mb-2",children:[e.jsxs("div",{className:"text-xs font-semibold text-gray-700 dark:text-gray-300",children:["TP",z+1]}),p.is_collected&&e.jsx(Ge,{className:"w-4 h-4 text-emerald-600 dark:text-emerald-400"})]}),e.jsxs("div",{className:"text-lg font-bold text-gray-900 dark:text-white mb-1",children:["$",p.target_price.toFixed(4)]}),p.target_percentage&&e.jsxs("div",{className:"text-xs text-gray-600 dark:text-gray-400",children:[p.target_percentage,"% ",i==="de"?"der Position":"of position"]}),p.is_collected&&p.actual_profit!==null&&p.actual_profit!==void 0&&e.jsxs("div",{className:"mt-2 text-xs font-bold text-emerald-600 dark:text-emerald-400",children:["+$",p.actual_profit]}),p.notes&&e.jsx("div",{className:"mt-2 text-xs text-gray-500 dark:text-gray-400 line-clamp-2",children:p.notes})]},p.id))}),R.length>0&&e.jsx("div",{className:"mt-4 p-3 rounded-xl bg-gradient-to-r from-emerald-100 to-green-100 dark:from-emerald-900/20 dark:to-green-900/20 border border-emerald-200 dark:border-emerald-700/30",children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("span",{className:"text-xs font-semibold text-gray-700 dark:text-gray-300",children:i==="de"?"Realisierte Teilgewinne:":"Realized Partial Profits:"}),e.jsxs("span",{className:"text-xl font-bold text-emerald-600 dark:text-emerald-400",children:["+$",E.toFixed(2)]})]})})]}),(((c=t.emotion_tags_opening)==null?void 0:c.length)||((N=t.emotion_tags_during)==null?void 0:N.length)||((P=t.emotion_tags_closing)==null?void 0:P.length))&&e.jsxs("div",{className:"relative overflow-hidden rounded-3xl border border-white/20 bg-white/70 dark:bg-[#1A1714]/70 p-4 shadow-lg backdrop-blur-sm",children:[e.jsxs("h3",{className:"text-lg font-bold text-gray-900 dark:text-white mb-4 flex items-center gap-2",children:[e.jsx(Oe,{className:"w-5 h-5 text-yellow-500"}),i==="de"?"Emotionales Tracking":"Emotional Tracking"]}),e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4",children:[t.emotion_tags_opening&&t.emotion_tags_opening.length>0&&e.jsxs("div",{className:"p-3 rounded-xl bg-green-50/80 dark:bg-green-900/10 border border-green-200 dark:border-green-800",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[e.jsx("span",{className:"text-base",children:"ð"}),e.jsx("h4",{className:"font-semibold text-green-800 dark:text-green-200 text-sm",children:i==="de"?"Beim Eröffnen":"Opening"})]}),e.jsx("div",{className:"flex flex-wrap gap-1",children:t.emotion_tags_opening.map((p,z)=>{const M=Fe.find(Q=>Q.value===p);return e.jsx("span",{className:"px-2 py-1 rounded-lg bg-green-100 dark:bg-green-900/30 text-green-800 dark:text-green-200 text-xs font-medium",children:M?M.label[i]:p},z)})})]}),t.emotion_tags_during&&t.emotion_tags_during.length>0&&e.jsxs("div",{className:"p-3 rounded-xl border bg-surface-elevated dark:bg-surface-elevated border-[#2A2520] dark:border-[#2A2520]",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[e.jsx("span",{className:"text-base",children:"ð"}),e.jsx("h4",{className:"font-semibold text-sm text-amber-800 dark:text-amber-200",children:i==="de"?"Während":"During"})]}),e.jsx("div",{className:"flex flex-wrap gap-1",children:t.emotion_tags_during.map((p,z)=>{const M=Fe.find(Q=>Q.value===p);return e.jsx("span",{className:"px-2 py-1 rounded-lg text-xs font-medium bg-surface-elevated dark:bg-surface-elevated text-amber-800 dark:text-amber-200",children:M?M.label[i]:p},z)})})]}),t.emotion_tags_closing&&t.emotion_tags_closing.length>0&&e.jsxs("div",{className:"p-3 rounded-xl bg-red-50/80 dark:bg-red-900/10 border border-red-200 dark:border-red-800",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[e.jsx("span",{className:"text-base",children:"ð"}),e.jsx("h4",{className:"font-semibold text-red-800 dark:text-red-200 text-sm",children:i==="de"?"Nach SchlieÃen":"Closing"})]}),e.jsx("div",{className:"flex flex-wrap gap-1",children:t.emotion_tags_closing.map((p,z)=>{const M=Fe.find(Q=>Q.value===p);return e.jsx("span",{className:"px-2 py-1 rounded-lg bg-red-100 dark:bg-red-900/30 text-red-800 dark:text-red-200 text-xs font-medium",children:M?M.label[i]:p},z)})})]})]})]}),(t.tradingview_links&&t.tradingview_links.length>0||t.tradingview_link)&&e.jsxs("div",{className:"relative overflow-hidden rounded-3xl border p-4 shadow-lg backdrop-blur-sm border-[#2A2520] bg-gradient-to-br from-[#1A1714] to-[#2A2520] dark:from-[#1A1714] dark:to-[#2A2520]",children:[e.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[e.jsx("div",{className:"w-8 h-8 rounded-xl flex items-center justify-center bg-gradient-to-br from-[#C9A96E] to-[#C9A96E]",children:e.jsx(Ae,{className:"w-4 h-4 text-white"})}),e.jsx("h3",{className:"text-lg font-bold text-gray-900 dark:text-white",children:"TradingView Links"})]}),e.jsx("div",{className:"flex flex-wrap gap-2",children:t.tradingview_links&&t.tradingview_links.length>0?t.tradingview_links.map((p,z)=>p&&e.jsxs("a",{href:p,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2 px-3 py-2 rounded-xl bg-white dark:bg-[#1A1714] border-2 transition-all text-xs font-semibold shadow-lg hover:shadow-xl hover:scale-105 text-amber-600 dar
1k:text-amber-400 hover:bg-surface-elevated dark:hover:bg-surface-elevated border-[#2A2520] dark:border-[#2A2520]",children:[e.jsx(Ae,{className:"w-3 h-3"}),"Chart ",z+1]},z)):t.tradingview_link?e.jsxs("a",{href:t.tradingview_link,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2 px-3 py-2 rounded-xl bg-white dark:bg-[#1A1714] border-2 transition-all text-xs font-semibold shadow-lg hover:shadow-xl hover:scale-105 text-amber-600 dark:text-amber-400 hover:bg-surface-elevated dark:hover:bg-surface-elevated border-[#2A2520] dark:border-[#2A2520]",children:[e.jsx(Ae,{className:"w-3 h-3"}),i==="de"?"Chart öffnen":"Open Chart"]}):null})]}),e.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-4",children:[t.notes&&e.jsxs("div",{className:"relative overflow-hidden rounded-2xl border p-4 shadow-lg backdrop-blur-sm border-[#2A2520] bg-white/70 dark:bg-[#1A1714]/80",children:[e.jsx("h3",{className:"text-base font-semibold text-gray-900 dark:text-white mb-3",children:i==="de"?"Notizen":"Notes"}),e.jsx("p",{className:"text-sm text-gray-700 dark:text-gray-300 whitespace-pre-wrap",children:t.notes})]}),t.lessons_learned&&e.jsxs("div",{className:"relative overflow-hidden rounded-2xl border p-4 shadow-lg backdrop-blur-sm border-white/20 bg-gradient-to-br from-[#1A1714] to-[#2A2520] dark:from-[#1A1714] dark:to-[#2A2520]",children:[e.jsxs("h3",{className:"text-base font-semibold text-gray-900 dark:text-white mb-3 flex items-center gap-2",children:[e.jsx(dt,{className:"w-4 h-4 text-bronze-600"}),"Lessons Learned"]}),e.jsx("p",{className:"text-sm text-gray-700 dark:text-gray-300 whitespace-pre-wrap",children:t.lessons_learned})]})]})]})}),e.jsx(jr,{isOpen:B,onClose:()=>{V(!1),J()},entry:t,rebuys:f,onRefresh:async()=>{await J()}})]})})},ja=({entries:r,partialProfits:u={},getStrategyName:m})=>{const{language:l}=je(),b=g.useMemo(()=>{const i=r.filter(d=>d.is_closed||d.trade_status==="closed");if(i.length===0)return{totalTrades:0,winningTrades:0,losingTrades:0,winRate:0,totalPnL:0,avgWin:0,avgLoss:0,profitFactor:0,largestWin:0,largestLoss:0,avgHoldingTime:0,longWinRate:0,shortWinRate:0,bestStrategy:null,worstStrategy:null};const t=i.map(d=>{const c=u[d.id]||[],N=ie(d,c);return{...d,calculatedTotalPnL:N}}),o=t.filter(d=>d.calculatedTotalPnL>0),h=t.filter(d=>d.calculatedTotalPnL<0),j=t.reduce((d,c)=>d+c.calculatedTotalPnL,0),f=o.reduce((d,c)=>d+c.calculatedTotalPnL,0),y=Math.abs(h.reduce((d,c)=>d+c.calculatedTotalPnL,0)),w=o.length>0?f/o.length:0,$=h.length>0?y/h.length:0,T=o.length>0?Math.max(...o.map(d=>d.calculatedTotalPnL)):0,F=h.length>0?Math.min(...h.map(d=>d.calculatedTotalPnL)):0,B=i.filter(d=>d.close_date&&d.date).map(d=>{const c=new Date(d.date);return(new Date(d.close_date).getTime()-c.getTime())/(1e3*60*60*24)}),V=B.length>0?B.reduce((d,c)=>d+c,0)/B.length:0,_=t.filter(d=>d.action==="long"),J=t.filter(d=>d.action==="short"),C=_.filter(d=>d.calculatedTotalPnL>0).length,A=J.filter(d=>d.calculatedTotalPnL>0).length,G=_.length>0?C/_.length*100:0,k=J.length>0?A/J.length*100:0,R=t.filter(d=>d.strategy).reduce((d,c)=>{const N=c.strategy;return d[N]||(d[N]={wins:0,losses:0,totalPnL:0}),c.calculatedTotalPnL>0?d[N].wins++:d[N].losses++,d[N].totalPnL+=c.calculatedTotalPnL,d},{}),E=Object.entries(R).map(([d,c])=>({name:d,winRate:c.wins/(c.wins+c.losses)*100,totalPnL:c.totalPnL})),L=E.length>0?E.reduce((d,c)=>c.totalPnL>d.totalPnL?c:d):null,s=E.length>0?E.reduce((d,c)=>c.totalPnL<d.totalPnL?c:d):null;return{totalTrades:i.length,winningTrades:o.length,losingTrades:h.length,winRate:o.length/i.length*100,totalPnL:j,avgWin:w,avgLoss:$,profitFactor:y>0?f/y:f,largestWin:T,largestLoss:F,avgHoldingTime:V,longWinRate:G,shortWinRate:k,bestStrategy:L,worstStrategy:s}},[r]);if(b.totalTrades===0)return e.jsxs("div",{className:"text-center py-16",children:[e.jsx("div",{className:"w-24 h-24 bg-gradient-to-br from-gray-100 to-gray-200 dark:from-[#1A1714] dark:to-[#1A1714] rounded-3xl flex items-center justify-center mx-auto mb-6",children:e.jsx(lt,{className:"w-12 h-12 text-gray-400 dark:text-gray-500"})}),e.jsx("h3",{className:"text-2xl font-bold text-gray-800 dark:text-amber-200 mb-2",children:l==="de"?"Keine abgeschlossenen Trades":"No closed trades"}),e.jsx("p",{className:"text-gray-600 dark:text-gray-400",children:l==="de"?"SchlieÃe Trades um Statistiken zu sehen":"Close trades to see statistics"})]});
1const x=[{icon:Oe,label:l==="de"?"Trades Gesamt":"Total Trades",value:b.totalTrades,color:"from-[#C9A96E] to-[#C9A96E]",bgColor:"bg-surface-elevated"},{icon:Te,label:l==="de"?"Gewinner":"Winners",value:b.winningTrades,color:"from-green-500 to-green-600",bgColor:"bg-green-500/10"},{icon:Re,label:l==="de"?"Verlierer":"Losers",value:b.losingTrades,color:"from-red-500 to-red-600",bgColor:"bg-red-500/10"},{icon:Et,label:"Win Rate",value:"".concat(b.winRate.toFixed(1),"%"),color:b.winRate>=50?"from-green-500 to-green-600":"from-red-500 to-red-600",bgColor:b.winRate>=50?"bg-green-500/10":"bg-red-500/10"},{icon:Me,label:"Total P&L",value:"".concat(b.totalPnL>=0?"+":"","$").concat(b.totalPnL.toFixed(2)),color:b.totalPnL>=0?"from-emerald-500 to-emerald-600":"from-red-500 to-red-600",bgColor:b.totalPnL>=0?"bg-emerald-500/10":"bg-red-500/10"},{icon:dt,label:l==="de"?"Durchschn. Gewinn":"Avg Win",value:"$".concat(b.avgWin.toFixed(2)),color:"from-green-500 to-green-600",bgColor:"bg-green-500/10"},{icon:Ie,label:l==="de"?"Durchschn. Verlust":"Avg Loss",value:"$".concat(b.avgLoss.toFixed(2)),color:"from-red-500 to-red-600",bgColor:"bg-red-500/10"},{icon:lt,label:"Profit Factor",value:b.profitFactor.toFixed(2),color:b.profitFactor>=2?"from-green-500 to-green-600":b.profitFactor>=1?"from-[#1A1714] to-[#2A2520]":"from-red-500 to-red-600",bgColor:b.profitFactor>=2?"bg-green-500/10":b.profitFactor>=1?"bg-surface-elevated":"bg-red-500/10"}];return e.jsxs("div",{className:"space-y-6",children:[e.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-4",children:x.map((i,t)=>{const o=i.icon;return e.jsxs("div",{className:"relative overflow-hidden rounded-2xl border border-[#2A2520] bg-white/70 dark:bg-[#1A1714]/80 p-6 shadow-lg backdrop-blur-sm transition-all duration-300 hover:shadow-xl hover:-translate-y-1",children:[e.jsx("div",{className:"absolute top-0 right-0 w-32 h-32 ".concat(i.bgColor," rounded-full blur-3xl op
1acity-50")}),e.jsxs("div",{className:"relative z-10",children:[e.jsx("div",{className:"inline-flex p-3 rounded-xl bg-gradient-to-br ".concat(i.color," mb-3"),children:e.jsx(o,{className:"w-6 h-6 text-white"})}),e.jsx("p",{className:"text-sm text-gray-600 dark:text-gray-400 mb-1",children:i.label}),e.jsx("p",{className:"text-3xl font-bold text-gray-900 dark:text-white",children:i.value})]})]},t)})}),e.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-6",children:[e.jsxs("div",{className:"relative overflow-hidden rounded-2xl border border-[#2A2520] bg-white/70 dark:bg-[#1A1714]/80 p-6 shadow-lg backdrop-blur-sm",children:[e.jsx("h3",{className:"text-xl font-bold text-gray-900 dark:text-white mb-6",children:l==="de"?"Extremwerte":"Extremes"}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex items-center justify-between p-4 rounded-xl bg-green-50 dark:bg-green-900/20",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(Te,{className:"w-5 h-5 text-green-600 dark:text-green-400"}),e.jsx("span",{className:"text-sm font-medium text-gray-700 dark:text-gray-300",children:l==="de"?"GröÃter Gewinn":"Largest Win"})]}),e.jsxs("span",{className:"text-lg font-bold text-green-600 dark:text-green-400",children:["+$",b.largestWin.toFixed(2)]})]}),e.jsxs("div",{className:"flex items-center justify-between p-4 rounded-xl bg-red-50 dark:bg-red-900/20",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(Re,{className:"w-5 h-5 text-red-600 dark:text-red-400"}),e.jsx("span",{className:"text-sm font-medium text-gray-700 dark:text-gray-300",children:l==="de"?"GröÃter Verlust":"Largest Loss"})]}),e.jsxs("span",{className:"text-lg font-bold text-red-600 dark:text-red-400",children:["$",b.largestLoss.toFixed(2)]})]}),e.jsxs("div",{className:"flex items-center justify-between p-4 rounded-xl bg-surface-elevated dark:bg-surface-elevated",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(Se,{className:"w-5 h-5 text-amber-600 dark:text-amber-400"}),e.jsx("span",{className:"text-sm font-medium text-gray-700 dark:text-gray-300",children:l==="de"?"Durchschn. Haltedauer":"Avg Holding Time"})]}),e.jsxs("span",{className:"text-lg font-bold text-amber-600 dark:text-amber-400",children:[b.avgHoldingTime.toFixed(1)," ",l==="de"?"Tage":"days"]})]})]})]}),e.jsxs("div",{className:"relative overflow-hidden rounded-2xl border border-[#2A2520] bg-white/70 dark:bg-[#1A1714]/80 p-6 shadow-lg backdrop-blur-sm",children:[e.jsx("h3",{className:"text-xl font-bold text-gray-900 dark:text-white mb-6",children:"Long vs Short"}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center justify-between mb-2",children:[e.jsx("span",{className:"text-sm font-medium text-gray-700 dark:text-gray-300",children:"ð Long Win Rate"}),e.jsxs("span",{className:"text-lg font-bold text-green-600 dark:text-green-400",children:[b.longWinRate.toFixed(1),"%"]})]}),e.jsx("div",{className:"w-full bg-gray-200 dark:bg-[#1A1714] rounded-full h-3",children:e.jsx("div",{className:"bg-gradient-to-r from-green-500 to-emerald-500 h-3 rounded-full transition-all duration-500",style:{width:"".concat(b.longWinRate,"%")}})})]}),e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center justify-between mb-2",children:[e.jsx("span",{className:"text-sm font-medium text-gray-700 dark:text-gray-300",children:"ð Short Win Rate"}),e.jsxs("span",{className:"text-lg font-bold text-red-600 dark:text-red-400",children:[b.shortWinRate.toFixed(1),"%"]})]}),e.jsx("div",{className:"w-full bg-gray-200 dark:bg-[#1A1714] rounded-full h-3",children:e.jsx("div",{className:"bg-gradient-to-r from-red-500 to-[#2A2520] h-3 rounded-full transition-all duration-500",style:{width:"".concat(b.shortWinRate,"%")}})})]})]}),e.jsx("div",{className:"mt-6 p-4 rounded-xl bg-gradient-to-r from-[#1A1714] to-[#2A2520] dark:from-[#1A1714] dark:to-[#2A2520]",children:e.jsx("p",{className:"text-sm text-gray-600 dark:text-gray-400",children:b.longWinRate>b.shortWinRate?l==="de"?"ð¡ Du bist besser in Long-Trades!":"ð¡ You perform better in Long trades!":l==="de"?"ð¡ Du bist besser in Short-Trades!":"ð¡ You perform better in Short trades!"})})]})]}),b.bestStrategy&&e.jsxs("div",{className:"relative overflow-hidden rounded-2xl border border-[#2A2520] bg-white/70 dark:bg-[#1A1714]/80 p-6 shadow-lg backdrop-blur-sm",children:[e.jsx("h3",{className:"text-xl font-bold text-gray-900 dark:text-white mb-6",children:l==="de"?"Strategie Performance":"Strategy Performance"}),e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[e.jsxs("div",{className:"p-4 rounded-xl bg-green-50 dark:bg-green-900/20",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[e.jsx(dt,{className:"w-5 h-5 text-green-600 dark:text-green-400"}),e.jsx("span",{className:"text-sm font-medium text-gray-700 dark:text-gray-300",children:l==="de"?"Beste Strategie":"Best Strategy"})]}),e.jsx("p",{className:"text-xl font-bold text-gray-900 dark:text-white mb-1",children:m?m(b.bestStrategy.name):b.bestStrategy.name}),e.jsxs("p",{className:"text-sm text-green-600 dark:text-green-400",children:["+$",b.bestStrategy.totalPnL.toFixed(2)," (",b.bestStrategy.winRate.toFixed(1),"% Win Rate)"]})]}),b.worstStrategy&&b.worstStrategy.totalPnL<0&&e.jsxs("div",{className:"p-4 rounded-xl bg-red-50 dark:bg-red-900/20",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[e.jsx(Re,{className:"w-5 h-5 text-red-600 dark:text-red-400"}),e.jsx("span",{className:"text-sm font-medium text-gray-700 dark:text-gray-300",children:l==="de"?"Schlechteste Strategie":"Worst Strategy"})]}),e.jsx("p",{className:"text-xl font-bold text-gray-900 dark:text-white mb-1",children:m?m(b.worstStrategy.name):b.worstStrategy.name}),e.jsxs("p",{className:"text-sm text-red-600 dark:text-red-400",children:["$",b.worstStrategy.totalPnL.toFixed(2)," (",b.worstStrategy.winRate.toFixed(1),"% Win Rate)"]})]})]})]})]})},ya=({entries:r,partialProfits:u={},getStrategyName:m,onShowTradeDetails:l})=>{const{language:b}=je(),[x,i]=g.useState(new Date),[t,o]=g.useState(!1),[h,j]=g.useState(null),f=x.getFullYear(),y=x.getMonth(),w=new Date(f,y+1,0).getDate(),$=new Date(f,y,1).getDay(),T=b==="de"?["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"]:["January","February","March","April","May","June","July","August","September","October","November","December"],F=b==="de"?["So","Mo","Di","Mi","Do","Fr","Sa"]:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],B=g.useMemo(()=>{const k={};return r.forEach(R=>{const E=R.date.split("T")[0],[L,s,d]=E.split("-").map(Number);if(L===f&&s-1===y){const c=d.toString();k[c]||(k[c]=[]),k[c].push(R)}}),k},[r,y,f]),V=k=>{const R=k.getFullYear(),E=String(k.getMonth()+1).padStart(2,"0"),L=String(k.getDate()).padStart(2,"0"),s="".concat(R,"-").concat(E,"-").concat(L);return r.filter(d=>d.date.split("T")[0]===s)},_=()=>{i(new Date(f,y-1,1))},J=()=>{i(new Date(f,y+1,1))},C=k=>{const R=B[k.toString()]||[];R.some(s=>s.trade_status==="planned"),R.some(s=>s.trade_status==="open"||!s.is_closed&&s.trade_status!=="planned"),R.some(s=>s.is_closed||s.trade_status==="closed"),R.filter(s=>s.is_closed||s.trade_status==="closed").reduce((s,d)=>{const c=u[d.id]||[],N=ie(d,c);return s+N},0);const L=new Date().getDate()===k&&new Date().getMonth()===y&&new Date().getFullYear()===f;return e.jsxs("div",{onClick:()=>
1{if(R.length>0){const s=new Date(f,y,k);j(s),o(!0)}},className:"relative min-h-28 p-2 rounded-xl border transition-all duration-200 ".concat(L?"border-[#2A2520] bg-surface-elevated dark:bg-surface-elevated shadow-lg":"border-gray-200 dark:border-[#2A2520] bg-white/70 dark:bg-[#1A1714]/80 hover:shadow-md"," backdrop-blur-sm ").concat(R.length>0?"cursor-pointer hover:scale-[1.02]":""),children:[e.jsxs("div",{className:"flex justify-between items-start mb-1",children:[e.jsx("span",{className:"text-sm font-semibold ".concat(L?"text-amber-600 dark:text-amber-400":"text-gray-700 dark:text-gray-300"),children:k}),R.length>0&&e.jsx("span",{className:"text-xs bg-gray-200 dark:bg-[#1A1714] px-2 py-0.5 rounded-full",children:R.length})]}),R.length>0&&e.jsxs("div",{className:"space-y-1.5 mt-2",children:[R.slice(0,2).map(s=>{const d=s.is_closed||s.trade_status==="closed",c=u[s.id]||[],N=ie(s,c);return e.jsxs("div",{className:"text-xs p-1.5 rounded-lg border transition-colors ".concat(d?N>=0?"bg-green-50 dark:bg-green-900/20 border-green-200 dark:border-green-700/30":"bg-red-50 dark:bg-red-900/20 border-red-200 dark:border-red-700/30":(s.trade_status==="planned","bg-surface-elevated dark:bg-surface-elevated border-[#2A2520] dark:border-[#2A2520]")),children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("span",{className:"font-semibold text-gray-900 dark:text-white truncate",children:s.symbol}),e.jsx("span",{className:"text-xs ".concat(s.action==="long"?"text-green-600 dark:text-green-400":"text-red-600 dark:text-red-400"),children:s.action==="long"?"ð":"ð"})]}),d&&e.jsxs("div",{className:"text-xs font-bold mt-0.5 ".concat(N>=0?"text-green-600 dark:text-green-400":"text-red-600 dark:text-red-400"),children:[N>=0?"+":"","$",N.toFixed(2)]})]},s.id)}),R.length>2&&e.jsxs("div",{className:"text-xs text-center text-gray-500 dark:text-gray-400 font-medium",children:["+",R.length-2," ",b==="de"?"weitere":"more"]})]})]},k)},A=k=>e.jsx("div",{className:"min-h-28"},"empty-".concat(k)),G=[];for(let k=0;k<$;k++)G.push(A(k));for(let k=1;k<=w;k++)G.push(C(k));return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"relative overflow-hidden rounded-2xl border border-[#2A2520] bg-white/70 dark:bg-[#1A1714]/80 p-6 shadow-lg backdrop-blur-sm",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("button",{onClick:_,className:"p-2 rounded-lg hover:bg-gray-100 dark:hover:bg-surface-elevated transition-colors",children:e.jsx(ra,{className:"w-6 h-6 text-gray-700 dark:text-gray-300"})}),e.jsxs("h2",{className:"text-2xl font-bold text-gray-900 dark:text-white",children:[T[y]," ",f]}),e.jsx("button",{onClick:J,className:"p-2 rounded-lg hover:bg-gray-100 dark:hover:bg-surface-elevated transition-colors",children:e.jsx(aa,{className:"w-6 h-6 text-gray-700 dark:text-gray-300"})})]}),e.jsxs("div",{className:"mt-6 flex flex-wrap gap-4 text-sm",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("div",{className:"w-6 h-1 rounded-full bg-surface-elevated"}),e.jsx("span",{className:"text-gray-600 dark:text-gray-400",children:b==="de"?"Geplant":"Planned"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("div",{className:"w-6 h-1 rounded-full bg-surface-elevated"}),e.jsx("span",{className:"text-gray-600 dark:text-gray-400",children:b==="de"?"Offen":"Open"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("div",{className:"w-6 h-1 rounded-full bg-green-500"}),e.jsx("span",{className:"text-gray-600 dark:text-gray-400",children:b==="de"?"Gewinn":"Profit"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("div",{className:"w-6 h-1 rounded-full bg-red-500"}),e.jsx("span",{className:"text-gray-600 dark:text-gray-400",children:b==="de"?"Verlust":"Loss"})]})]})]}),e.jsxs("div",{className:"relative overflow-hidden rounded-2xl border border-[#2A2520] bg-white/70 dark:bg-[#1A1714]/80 p-6 shadow-lg backdrop-blur-sm",children:[e.jsx("div",{className:"grid grid-cols-7 gap-2 mb-2",children:F.map(k=>e.jsx("div",{className:"text-center text-sm font-semibold text-gray-600 dark:text-gray-400 py-2",children:k},k))}),e.jsx("div",{className:"grid grid-cols-7 gap-2",children:G})]}),Object.keys(B).length>0&&e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4",children:[e.jsxs("div",{className:"relative overflow-hidden rounded-2xl border border-[#2A2520] bg-gradient-to-br from-[#1A1714] to-[#2A2520] dark:from-[#1A1714] dark:to-[#2A2520] p-6 shadow-lg backdrop-blur-sm",children:[e.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[e.jsx(Te,{className:"w-5 h-5 text-amber-600 dar
1k:text-amber-400"}),e.jsx("span",{className:"text-sm text-gray-600 dark:text-gray-400",children:b==="de"?"Trades diesen Monat":"Trades this month"})]}),e.jsx("p",{className:"text-3xl font-bold text-gray-900 dark:text-white",children:r.filter(k=>{const R=new Date(k.date);return R.getMonth()===y&&R.getFullYear()===f}).length})]}),e.jsxs("div",{className:"relative overflow-hidden rounded-2xl border border-white/20 bg-gradient-to-br from-green-50 to-emerald-50 dark:from-green-900/20 dark:to-emerald-900/20 p-6 shadow-lg backdrop-blur-sm",children:[e.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[e.jsx(Te,{className:"w-5 h-5 text-green-600 dark:text-green-400"}),e.jsx("span",{className:"text-sm text-gray-600 dark:text-gray-400",children:b==="de"?"Monatlicher P&L":"Monthly P&L"})]}),e.jsx("p",{className:"text-3xl font-bold text-green-600 dark:text-green-400",children:(()=>{const k=r.filter(R=>{const E=new Date(R.date);return E.getMonth()===y&&E.getFullYear()===f&&(R.is_closed||R.trade_status==="closed")}).reduce((R,E)=>{const L=u[E.id]||[],s=ie(E,L);return R+s},0);return"".concat(k>=0?"+":"","$").concat(k.toFixed(2))})()})]}),e.jsxs("div",{className:"relative overflow-hidden rounded-2xl border border-white/20 bg-gradient-to-br from-[#1A1714] to-[#2A2520] dark:from-[#1A1714] dark:to-[#2A2520] p-6 shadow-lg backdrop-blur-sm",children:[e.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[e.jsx(Re,{className:"w-5 h-5 text-bronze-600 dark:text-bronze-400"}),e.jsx("span",{className:"text-sm text-gray-600 dark:text-gray-400",children:"Win Rate"})]}),e.jsx("p",{className:"text-3xl font-bold text-bronze-600 dark:text-bronze-400",children:(()=>{const k=r.filter(E=>{const L=new Date(E.date);return L.getMonth()===y&&L.getFullYear()===f&&(E.is_closed||E.trade_status==="closed")}),R=k.filter(E=>{const L=u[E.id]||[];return ie(E,L)>0}).length;return k.length>0?"".concat((R/k.length*100).toFixed(1),"%"):"0%"})()})]})]}),t&&h&&e.jsx("div",{className:"fixed inset-0 bg-black/70 backdrop-blur-sm flex items-center justify-center p-4 z-50",children:e.jsx("div",{className:"w-full max-w-md max-h-[80vh] overflow-y-auto rounded-2xl border border-[#2A2520] bg-white/90 dark:bg-[#0f0d0a] shadow-2xl backdrop-blur-lg",children:e.jsxs("div",{className:"p-6",children:[e.jsxs("div",{className:"flex items-center justify-between mb-6",children:[e.jsxs("h2",{className:"text-xl font-bold text-gray-900 dark:text-white",children:[b==="de"?"Trades am":"Trades on"," ",h.toLocaleDateString(b==="de"?"de-DE":"en-US",{weekday:"long",year:"numeric",month:"long",day:"numeric"})]}),e.jsx("button",{onClick:()=>{o(!1),j(null)},className:"text-gray-500 hover:text-gray-700 dark:hover:text-gray-300 p-2 rounded-lg hover:bg-gray-100 dark:hover:bg-surface-elevated transition-colors",children:e.jsx(Pe,{className:"w-5 h-5"})})]}),e.jsx("div",{className:"space-y-4",children:V(h).length===0?e.jsx("div",{className:"text-center py-8 text-gray-500 dark:text-gray-400",children:e.jsx("p",{children:b==="de"?"Keine Trades an diesem Tag":"No trades on this day"})}):V(h).map(k=>{const R=k.is_closed||k.trade_status==="closed",E=u[k.id]||[],L=ie(k,E),d=k.entry_price*(k.quantity||0),c=d>0?L/d*100:0;return e.jsxs("div",{onClick:()=>{o(!1),j(null),l&&l(k.id)},className:"bg-gray-50 dark:bg-[#1A1714] rounded-xl p-4 border border-gray-200 dark:border-[#2A2520] cursor-pointer hover:bg-gray-100 dark:hover:bg-surface-elevated transition-all duration-200 hover:scale-[1.02]",children:[e.jsxs("div",{className:"flex items-center justify-between mb-3",children:[e.jsxs("div",{className:"flex items-center space-x-3",children:[e.jsx("div",{className:"w-3 h-3 rounded-full ".concat(k.action==="long"?"bg-green-500":"bg-red-500")}),e.jsx("span",{className:"font-bold text-lg text-gray-900 dark:text-white",children:k.symbol}),e.jsx("span",{className:"px-2 py-1 rounded-full text-xs font-medium ".concat(k.action==="long"?"bg-green-100 text-green-800 dark:bg-green-900 dark:text-green-200":"bg-red-100 text-red-800 dark:bg-red-900 dark:text-red-200"),children:k.action==="long"?"LONG":"SHORT"})]}),R&&L!==null&&L!==void 0?e.jsxs("div",{className:"text-right",children:[e.jsxs("div",{className:"text-lg font-bold ".concat(L>=0?"text-green-600 dark:text-green-400":"text-red-600 dark:text-red-400"),children:[L>=0?"+":"","$",L.toFixed(2)]}),c!=null&&e.jsxs("div",{className:"text-sm ".concat(c>=0?"text-green-600 dark:text-green-400":"text-red-600 dark:text-red-400"),children:[c>=0?"+":"",c.toFixed(2),"%"]})]}):e.jsx("div",{className:"text-right",children:e.jsx("span",{className:"text-sm text-gray-500 dark:text-gray-400",children:k.trade_status==="planned"?b==="de"?"Geplant":"Planned":b==="de"?"Offen":"Open"})})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-4 text-sm",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-gray-500 dark:text-gray-400",children:b==="de"?"Eröffnet":"Opened"}),e.jsx("p",{className:"font-semibold text-gray-900 dark:text-white",children:new Date(k.date).toLocaleDateString(b==="de"?"de-DE":"en-US")})]}),e.jsxs("div",{children:[e.jsx("p",{className:"text-gray-500 dark:text-gray-400",children:b==="de"?"Strategie":"Strategy"}),e.jsx("p",{className:"font-semibold text-gray-900 dark:text-white",children:m?m(k.strategy):k.strategy||"N/A"})]})]}),R&&k.close_date&&e.jsxs("div",{className:"mt-2 text-xs text-gray-500 dark:text-gray-400",children:[b==="de"?"Geschlossen am":"Closed on",": ",new Date(k.close_date).toLocaleDateString(b==="de"?"de-DE":"en-US")]})]},k.id)})})]})})})]})},ka=({entries:r,partialProfits:u,rebuys:m,onEditTrade:l,onDeleteTrade:b,onCloseTrade:x,onManagePartialProfits:i,onShowTimeline:t,onShowTradeDetails:o,onGenerateScreenshot:h,getStrategyName:j})=>{const{language:f}=je(),y=g.useMemo(()=>{const w=r.filter(_=>_.is_closed||_.trade_status==="closed"),$=r.filter(_=>_.trade_status==="open"||!_.is_closed&&_.trade_status!=="planned"),T=r.filter(_=>_.trade_status==="planned"),F=w.reduce((_,J)=>{const C=u[J.id]||[],A=ie(J,C);return _+A},0),B=w.filter(_=>
1{const J=u[_.id]||[];return ie(_,J)>0}).length,V=w.length>0?B/w.length*100:0;return{total:r.length,closed:w.length,open:$.length,planned:T.length,totalPnL:F,winRate:V,recentTrades:r.slice(0,5)}},[r]);return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"relative overflow-hidden rounded-2xl border p-6 shadow-lg backdrop-blur-sm border-[#2A2520] bg-white/70 dark:bg-[#1A1714]/80",children:[e.jsx("div",{className:"flex items-center justify-between mb-6",children:e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"w-10 h-10 bg-gradient-to-br from-[#1A1714] to-[#2A2520] rounded-xl flex items-center justify-center",children:e.jsx(Oe,{className:"w-5 h-5 text-white"})}),e.jsx("h3",{className:"text-xl font-bold text-gray-900 dark:text-white",children:f==="de"?"Letzte Trades":"Recent Trades"})]})}),y.recentTrades.length===0?e.jsx("div",{className:"text-center py-8 text-gray-500 dark:text-gray-400",children:f==="de"?"Noch keine Trades vorhanden":"No trades yet"}):e.jsx("div",{className:"space-y-3",children:y.recentTrades.map(w=>{const $=u[w.id]||[],B={planned:"bg-surface-elevated dark:bg-surface-elevated text-amber-700 dark:text-amber-300",open:"bg-surface-elevated dark:bg-surface-elevated text-yellow-700 dark:text-yellow-300",closed:(w.is_closed||w.trade_status==="closed"?ie(w,$):w.pnl||0)>=0?"bg-green-100 dark:bg-green-900/30 text-green-700 dark:text-green-300":"bg-red-100 dark:bg-red-900/30 text-red-700 dark:text-red-300"};return e.jsxs("div",{onClick:()=>o&&o(w.id),className:"flex items-center justify-between p-4 rounded-xl border bg-gradient-to-r from-gray-50 to-gray-100 dark:from-[#1A1714] dark:to-[#1A1714] border-gray-200 dark:border-[#2A2520] ".concat(o?"cursor-pointer transition-all duration-200 hover:scale-[1.02]":""," ").concat(o?"hover:bg-gray-100 dark:hover:bg-surface-elevated":""),children:[e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsx("div",{className:"w-12 h-12 rounded-xl flex items-center justify-center ".concat(w.action==="long"?"bg-green-100 dark:bg-green-900/30":"bg-red-100 dark:bg-red-900/30"),children:w.action==="long"?e.jsx(Te,{className:"w-6 h-6 text-green-600 dark:text-green-400"}):e.jsx(Re,{className:"w-6 h-6 text-red-600 dark:text-red-400"})}),e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsx("h4",{className:"text-lg font-bold text-gray-900 dark:text-white",children:w.symbol}),e.jsxs("span",{className:"px-2 py-1 rounded-full text-xs font-semibold shrink-0 ".concat(B[w.trade_status]),children:[w.trade_status==="planned"&&(f==="de"?"Geplant":"Planned"),w.trade_status==="open"&&(f==="de"?"Offen":"Open"),w.trade_status==="closed"&&(f==="de"?"Geschlossen":"Closed")]})]}),e.jsxs("div",{className:"text-sm text-gray-600 dark:text-gray-400 mt-0.5",children:["$",w.entry_price.toFixed(4),e.jsx("span",{className:"mx-2",children:"·"}),new Date(w.date).toLocaleDateString(f==="de"?"de-DE":"en-US")]}),w.strategy&&e.jsx("div",{className:"text-sm text-gray-600 dark:text-gray-400 mt-0.5",children:j?j(w.strategy):w.strategy})]})]}),w.pnl!==void 0&&w.pnl!==null&&e.jsx("div",{className:"text-right",children:(()=>{const V=u[w.id]||[],_=ie(w,V),J=_>=0,C=w.entry_price*(w.quantity||0),k=(m[w.id]||[]).filter(L=>L.enabled).reduce((L,s)=>L+(s.total_value||0),0),R=C+k,E=R>0?_/R*100:0;return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"text-xl font-bold ".concat(J?"text-green-600 dark:text-green-400":"text-red-600 dark:text-red-400"),children:[J?"+":"","$",_.toFixed(2)]}),e.jsxs("div",{className:"text-sm ".concat(E>=0?"text-green-600 dark:text-green-400":"text-red-600 dark:text-red-400"),children:[E>=0?"+":"",E.toFixed(2),"%"]})]})})()})]},w.id)})})]}),y.open>0&&e.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-6",children:[e.jsxs("div",{className:"relative overflow-hidden rounded-2xl border border-white/20 bg-gradient-to-br from-[#1A1714] to-[#2A2520] dark:from-[#1A1714] dark:to-[#2A2520] p-6 shadow-lg backdrop-blur-sm",children:[e.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[e.jsx(Ie,{className:"w-6 h-6 text-yellow-600 dark:text-yellow-400"}),e.jsx("h3",{className:"text-lg font-semibold text-gray-900 dark:text-white",children:f==="de"?"Offene Positionen":"Open Positions"})]}),e.jsx("div",{className:"text-4xl font-bold text-yellow-600 dark:text-yellow-400",children:y.open}),e.jsx("p",{className:"text-sm text-gray-600 dark:text-gray-400 mt-2",children:f==="de"?"Aktive Trades im Markt":"Active trades in the market"})]}),e.jsxs("div",{className:"relative overflow-hidden rounded-2xl border p-6 shadow-lg backdrop-blur-sm border-[#2A2520] bg-gradient-to-br from-[#1A1714] to-[#2A2520] dark:from-[#1A1714] dark:to-[#2A2520]",children:[e.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[e.jsx(Se,{className:"w-6 h-6 text-amber-600 dar
1k:text-amber-400"}),e.jsx("h3",{className:"text-lg font-semibold text-gray-900 dark:text-white",children:f==="de"?"Geplante Trades":"Planned Trades"})]}),e.jsx("div",{className:"text-4xl font-bold text-amber-600 dark:text-amber-400",children:y.planned}),e.jsx("p",{className:"text-sm text-gray-600 dark:text-gray-400 mt-2",children:f==="de"?"Wartende Trade-Setups":"Waiting trade setups"})]})]}),y.closed>0&&e.jsxs("div",{className:"relative overflow-hidden rounded-2xl border p-6 backdrop-blur-sm border-[#2A2520] bg-gradient-to-br from-[#1A1714] to-[#2A2520] dark:from-[#1A1714] dark:to-[#1A1714] dark:shadow-[0_10px_40px_-10px_rgba(153,125,65,0.15)]",children:[e.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[e.jsx(dt,{className:"w-6 h-6 text-amber-600 dark:text-amber-400"}),e.jsx("h3",{className:"text-xl font-bold text-gray-900 dark:text-white",children:"Performance Highlights"})]}),e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4",children:[e.jsxs("div",{className:"p-4 rounded-xl bg-white/70 dark:bg-[#1A1714]/80",children:[e.jsx("div",{className:"text-sm text-gray-600 dark:text-gray-400 mb-1",children:f==="de"?"Abgeschlossen":"Closed Trades"}),e.jsx("div",{className:"text-2xl font-bold text-gray-900 dark:text-white",children:y.closed})]}),e.jsxs("div",{className:"p-4 rounded-xl bg-white/70 dark:bg-[#1A1714]/80",children:[e.jsx("div",{className:"text-sm text-gray-600 dark:text-gray-400 mb-1",children:"Win Rate"}),e.jsxs("div",{className:"text-2xl font-bold ".concat(y.winRate>=50?"text-green-600 dark:text-green-400":"text-red-600 dark:text-red-400"),children:[y.winRate.toFixed(1),"%"]})]}),e.jsxs("div",{className:"p-4 rounded-xl bg-white/70 dark:bg-[#1A1714]/80",children:[e.jsx("div",{className:"text-sm text-gray-600 dark:text-gray-400 mb-1",children:"Total P&L"}),e.jsxs("div",{className:"text-2xl font-bold ".concat(y.totalPnL>=0?"text-green-600 dark:text-green-400":"text-red-600 dark:text-red-400"),children:[y.totalPnL>=0?"+":"","$",y.totalPnL.toFixed(2)]})]})]})]})]})};function ke(r,u){return typeof r!="number"||Number.isNaN(r)?"":r.toFixed(u).replace(/\.?0+$/,"")}const Na=({entry:r,partialProfits:u=[],rebuys:m=[],onEdit:l,onDelete:b,onClose:x,onManagePartialProfits:i,onManageRebuys:t,onShowTimeline:o,onShowDetails:h,getStrategyName:j})=>{const{language:f}=je(),[y,w]=g.useState(!1),$=r.strategy&&j?j(r.strategy):r.strategy,T=u.filter(C=>C.is_collected),F=u.filter(C=>!C.is_collected),B=T.reduce((C,A)=>C+(A.actual_profit||0),0),V=m.filter(C=>C.enabled),_=r.total_value;let J=null;if(r.stop_loss&&(r.average_entry_price||r.entry_price)){const C=r.average_entry_price||r.entry_price;if(C>0){const A=r.entry_price*(r.quantity||0),G=V.reduce((L,s)=>L+(s.total_value||0),0),k=A+G,R=r.leverage&&r.leverage>0?r.leverage:1,E=(k>0?k:r.total_value||0)*R;if(E>0){const L=r.action==="long"?C-r.stop_loss:r.stop_loss-C;if(L>0){const s=L/C*100;J=E*s/100}}}}return e.jsxs("div",{className:"relative overflow-hidden rounded-3xl border-2 border-emerald-200/50 dark:border-emerald-700/30 shadow-[0_20px_60px_-24px_rgba(16,185,129,0.35)] backdrop-blur-lg transition-all duration-500 hover:shadow-[0_20px_80px_-24px_rgba(16,185,129,0.5)] hover:-translate-y-2",children:[e.jsx("div",{className:"absolute inset-0 bg-gradient-to-br from-green-50 via-emerald-50 to-teal-50 dark:from-green-900/20 dark:via-emerald-900/20 dark:to-teal-900/20"}),e.jsx("div",{className:"absolute top-0 right-0 w-64 h-64 bg-gradient-to-l from-emerald-400/10 to-transparent rounded-full blur-3xl animate-pulse"}),e.jsx("div",{className:"absolute bottom-0 left-0 w-48 h-48 bg-gradient-to-r from-teal-400/10 to-transparent rounded-full blur-3xl"}),e.jsxs("div",{className:"relative z-10 p-4 sm:p-6",children:[e.jsxs("div",{className:"flex flex-col gap-4 sm:flex-row sm:items-start sm:justify-between mb-6",children:[e.jsxs("div",{className:"flex items-center gap-4 min-w-0 flex-1",children:[e.jsx("div",{className:"w-16 h-16 rounded-2xl flex items-center justify-center shadow-lg shrink-0 ".concat(r.action==="long"?"bg-gradient-to-br from-green-500 to-emerald-600":"bg-gradient-to-br from-red-500 to-[#2A2520]"),children:r.action==="long"?e.jsx(Te,{className:"w-8 h-8 text-white"}):e.jsx(Re,{className:"w-8 h-8 text-white"})}),e.jsxs("div",{className:"min-w-0",children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-3",children:[e.jsx("h3",{className:"text-2xl sm:text-3xl font-bold text-gray-900 dark:text-white",children:r.symbol}),e.jsxs("span",{className:"px-3 py-1 rounded-full text-xs font-semibold bg-surface-elevated text-yellow-800 dark:bg-surface-elevated dark:text-yellow-300 border border-[#2A2520] dark:border-[#2A2520] shadow-sm shrink-0",children:["ð¢ ",f==="de"?"OFFEN":"OPEN"]})]}),e.jsxs("div",{className:"flex items-center gap-2 mt-1 text-sm text-gray-600 dark:text-gray-400",children:[e.jsx(Se,{className:"w-4 h-4 shrink-0"}),e.jsx("span",{children:new Date(r.date).toLocaleDateString(f==="de"?"de-DE":"en-US")}),r.exchange&&e.jsxs(e.Fragment,{children:[e.jsx("span",{children:"â¢"}),e.jsx("span",{children:r.exchange})]})]})]})]}),e.jsxs("div",{className:"flex flex-wrap items-center gap-2 shrink-0",children:[o&&(u.length>0||m.length>0)&&e.jsx("button",{onClick:()=>o(r),className:"p-3 rounded-xl bg-white/70 dark:bg-[#1A1714]/70 border border-white/50 dark:border-gray-700/50 hover:bg-surface-elevated dark:hover:bg-surface-elevated transition-all duration-200 hover:scale-110 shadow-lg hover:shadow-xl backdrop-blur-sm shrink-0",title:"Timeline",children:e.jsx(_r,{className:"w-5 h-5 text-bronze-600 dar
1k:text-bronze-400"})}),h&&e.jsx("button",{onClick:()=>h(r.id),className:"p-3 rounded-xl bg-white/70 dark:bg-[#1A1714]/70 border border-white/50 dark:border-gray-700/50 hover:bg-surface-elevated dark:hover:bg-surface-elevated transition-all duration-200 hover:scale-110 shadow-lg hover:shadow-xl backdrop-blur-sm shrink-0",title:"Details",children:e.jsx(ft,{className:"w-5 h-5 text-bronze-600 dark:text-bronze-400"})}),e.jsx("button",{onClick:()=>l(r),className:"p-3 rounded-xl bg-white/70 dark:bg-[#1A1714]/70 border border-white/50 dark:border-gray-700/50 hover:bg-surface-elevated dark:hover:bg-surface-elevated transition-all duration-200 hover:scale-110 shadow-lg hover:shadow-xl backdrop-blur-sm shrink-0",title:f==="de"?"Bearbeiten":"Edit",children:e.jsx(rt,{className:"w-5 h-5 text-bronze-600 dark:text-bronze-400"})}),e.jsx("button",{onClick:()=>b(r.id),className:"p-3 rounded-xl bg-white/70 dark:bg-[#1A1714]/70 border border-white/50 dark:border-gray-700/50 hover:bg-red-100 dark:hover:bg-red-900/30 transition-all duration-200 hover:scale-110 shadow-lg hover:shadow-xl backdrop-blur-sm shrink-0",title:f==="de"?"Löschen":"Delete",children:e.jsx(Ue,{className:"w-5 h-5 text-red-600 dark:text-red-400"})})]})]}),e.jsxs("div",{className:"grid grid-cols-2 lg:grid-cols-4 gap-3 sm:gap-4 mb-4 sm:mb-6",children:[e.jsxs("div",{className:"rounded-xl sm:rounded-2xl border p-3 sm:p-4 shadow-lg backdrop-blur-sm border-white/50 dark:border-white/10 bg-white/80 dark:bg-[#1A1714]/60",children:[e.jsx("div",{className:"text-xs text-gray-600 dark:text-gray-400 mb-1 font-medium",children:f==="de"?"Einstiegspreis":"Entry Price"}),e.jsxs("div",{className:"text-xl font-bold text-gray-900 dark:text-white",children:["$",ke(r.average_entry_price||r.entry_price,4)]}),V.length>0&&e.jsxs("div",{className:"text-xs mt-1 text-amber-600 dark:text-amber-400",children:["â¡ ",V.length," Rebuy",V.length>1?"s":""]})]}),e.jsxs("div",{className:"rounded-xl sm:rounded-2xl border p-3 sm:p-4 shadow-lg backdrop-blur-sm border-white/50 dark:border-white/10 bg-white/80 dark:bg-[#1A1714]/60",children:[e.jsx("div",{className:"text-xs text-gray-600 dark:text-gray-400 mb-1 font-medium",children:f==="de"?"PositionsgröÃe":"Position Size"}),e.jsxs("div",{className:"text-xl font-bold text-gray-900 dark:text-white",children:["$",ke(_,2)]}),r.leverage&&r.leverage>1&&e.jsxs("div",{className:"text-xs mt-1 text-orange-600 dark:text-orange-400",children:[r.leverage,"x ",f==="de"?"Hebel":"Leverage"]})]}),r.stop_loss&&e.jsxs("div",{className:"rounded-xl sm:rounded-2xl border p-3 sm:p-4 shadow-lg backdrop-blur-sm border-white/50 dark:border-white/10 bg-white/80 dark:bg-[#1A1714]/60",children:[e.jsx("div",{className:"text-xs text-gray-600 dark:text-gray-400 mb-1 font-medium",children:"Stop Loss"}),e.jsxs("div",{className:"text-xl font-bold text-red-600 dark:text-red-400",children:["$",ke(r.stop_loss,4)]}),e.jsxs("div",{className:"text-xs text-gray-500 dark:text-gray-500 mt-1",children:[ke((r.stop_loss-(r.average_entry_price||r.entry_price))/(r.average_entry_price||r.entry_price)*100,2),"%"]}),J!==null&&e.jsxs("div",{className:"text-xs text-gray-500 dark:text-gray-500",children:[f==="de"?"Risiko (mit Hebel)":"Risk (with leverage)",": -$",ke(J,2)]})]}),T.length>0&&e.jsxs("div",{className:"rounded-2xl border border-emerald-300/50 dark:border-emerald-600/30 bg-gradient-to-br from-emerald-100 to-green-100 dark:from-emerald-900/40 dark:to-green-900/40 p-4 shadow-lg backdrop-blur-sm",children:[e.jsx("div",{className:"text-xs text-emerald-700 dark:text-emerald-300 mb-1 font-medium",children:f==="de"?"Realisierte Gewinne":"Realized Profits"}),e.jsxs("div",{className:"text-xl font-bold text-emerald-600 dark:text-emerald-400",children:["+$",ke(B,2)]}),e.jsxs("div",{className:"text-xs text-emerald-600 dark:text-emerald-400 mt-1",children:[T.length," ",f==="de"?"Abgeholt":"Collected"]})]})]}),($||r.timeframe||r.market_conditions)&&e.jsxs("div",{className:"flex flex-wrap gap-2 mb-6",children:[$&&e.jsxs("div",{className:"flex items-center gap-2 px-4 py-2 rounded-xl bg-white/80 dark:bg-[#1A1714]/80 border border-bronze-200 dark:border-bronze-700/30 shadow-md backdrop-blur-sm",children:[e.jsx(dt,{className:"w-4 h-4 text-bronze-600 dar
1k:text-bronze-400"}),e.jsx("span",{className:"text-sm font-semibold text-gray-700 dark:text-gray-300",children:$})]}),r.timeframe&&e.jsxs("div",{className:"flex items-center gap-2 px-4 py-2 rounded-xl bg-white/80 dark:bg-[#1A1714]/80 border border-bronze-200 dark:border-bronze-700/30 shadow-md backdrop-blur-sm",children:[e.jsx(lt,{className:"w-4 h-4 text-bronze-600 dark:text-bronze-400"}),e.jsx("span",{className:"text-sm font-semibold text-gray-700 dark:text-gray-300",children:r.timeframe})]}),r.market_conditions&&e.jsxs("div",{className:"flex items-center gap-2 px-4 py-2 rounded-xl bg-white/80 dark:bg-[#1A1714]/80 border border-[#2A2520] dark:border-[#2A2520] shadow-md backdrop-blur-sm",children:[e.jsx(Nr,{className:"w-4 h-4 text-orange-600 dark:text-orange-400"}),e.jsx("span",{className:"text-sm font-semibold text-gray-700 dark:text-gray-300 capitalize",children:r.market_conditions})]})]}),u.length>0&&e.jsxs("div",{className:"mb-6 p-4 rounded-2xl bg-gradient-to-r from-emerald-50/80 to-teal-50/80 dark:from-emerald-900/20 dark:to-teal-900/20 border border-emerald-200 dark:border-emerald-700/30 backdrop-blur-sm",children:[e.jsxs("div",{className:"flex items-center justify-between mb-3",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(Ie,{className:"w-5 h-5 text-emerald-600 dark:text-emerald-400"}),e.jsxs("span",{className:"text-sm font-semibold text-gray-700 dark:text-gray-300",children:[f==="de"?"Teilgewinne":"Partial Profits"," (",u.length,")"]})]}),T.length>0&&e.jsxs("span",{className:"text-xs font-bold text-emerald-600 dark:text-emerald-400",children:[T.length,"/",u.length," ",f==="de"?"abgeholt":"collected"]})]}),e.jsx("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-2",children:[...u].sort((C,A)=>r.action==="long"?C.target_price-A.target_price:A.target_price-C.target_price).slice(0,4).map((C,A)=>e.jsxs("div",{className:"px-3 py-2 rounded-lg text-center ".concat(C.is_collected?"bg-emerald-500 text-white shadow-md":"bg-white/70 dark:bg-[#1A1714]/70 text-gray-700 dark:text-gray-300 border border-gray-200 dark:border-gray-700"),children:[e.jsxs("div",{className:"text-xs font-medium",children:["TP",A+1]}),e.jsxs("div",{className:"text-sm font-bold",children:["$",ke(C.target_price,4)]}),C.is_collected&&C.actual_profit!==null&&C.actual_profit!==void 0&&e.jsxs("div",{className:"text-xs font-semibold mt-0.5 ".concat(C.is_collected?"text-emerald-100":"text-emerald-600 dark:text-emerald-400"),children:["+$",ke(C.actual_profit,2)]})]},C.id))}),u.length>4&&e.jsxs("div",{className:"text-center text-xs text-gray-500 dark:text-gray-400 mt-2",children:["+",u.length-4," ",f==="de"?"weitere":"more"]})]}),r.notes&&!y&&e.jsx("div",{className:"mb-6 p-4 rounded-2xl bg-white/60 dark:bg-[#1A1714]/60 border border-gray-200 dark:border-gray-700 backdrop-blur-sm",children:e.jsx("p",{className:"text-sm text-gray-700 dark:text-gray-300 line-clamp-2",children:r.notes})}),y&&e.jsxs(e.Fragment,{children:[r.notes&&e.jsx("div",{className:"mb-6 p-4 rounded-2xl bg-white/60 dark:bg-[#1A1714]/60 border border-gray-200 dark:border-gray-700 backdrop-blur-sm",children:e.jsx("p",{className:"text-sm text-gray-700 dark:text-gray-300 whitespace-pre-wrap",children:r.notes})}),r.tradingview_links&&r.tradingview_links.length>0||r.tradingview_link?e.jsxs("div",{className:"mb-6 p-4 rounded-2xl bg-gradient-to-br from-[#1A1714] to-[#2A2520] dark:from-[#1A1714] dark:to-[#2A2520] border border-bronze-200 dark:border-bronze-800 backdrop-blur-sm",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[e.jsx(Ae,{className:"w-4 h-4 text-bronze-600 dark:text-bronze-400"}),e.jsx("h4",{className:"text-sm font-semibold text-gray-900 dark:text-white",children:"TradingView Links"})]}),e.jsx("div",{className:"flex flex-wrap gap-2",children:r.tradingview_links&&r.tradingview_links.length>0?r.tradingview_links.map((C,A)=>C&&e.jsxs("a",{href:C,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2 px-3 py-2 rounded-lg bg-white dark:bg-surface-elevated text-bronze-600 dark:text-bronze-400 hover:bg-surface-elevated dark:hover:bg-surface-elevated border border-bronze-200 dark:border-bronze-700 transition-all text-sm font-medium",children:[e.jsx(Ae,{className:"w-3 h-3"}),"Chart ",A+1]},A)):r.tradingview_link?e.jsxs("a",{href:r.tradingview_link,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2 px-3 py-2 rounded-lg bg-white dark:bg-surface-elevated text-bronze-600 dar
1k:text-bronze-400 hover:bg-surface-elevated dark:hover:bg-surface-elevated border border-bronze-200 dark:border-bronze-700 transition-all text-sm font-medium",children:[e.jsx(Ae,{className:"w-3 h-3"}),f==="de"?"Chart öffnen":"Open Chart"]}):null})]}):null]}),e.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-3 gap-2 sm:gap-3",children:[e.jsxs("button",{onClick:()=>i(r),className:"group relative overflow-hidden px-6 py-3 rounded-xl font-semibold text-white shadow-lg hover:shadow-xl transition-all duration-300 hover:scale-105",children:[e.jsx("div",{className:"absolute inset-0 bg-gradient-to-r from-[#1A1714] to-[#2A2520]"}),e.jsx("div",{className:"absolute inset-0 bg-gradient-to-r from-[#1A1714] to-[#2A2520] opacity-0 group-hover:opacity-100 transition-opacity"}),e.jsxs("div",{className:"relative flex items-center justify-center gap-2",children:[e.jsx(Ie,{className:"w-5 h-5"}),e.jsx("span",{children:f==="de"?"Teilgewinne":"Partial Profits"}),F.length>0&&e.jsx("span",{className:"ml-1 px-2 py-0.5 rounded-full bg-white/30 text-xs",children:F.length})]})]}),t&&e.jsxs("button",{onClick:()=>t(r),className:"group relative overflow-hidden px-6 py-3 rounded-xl font-semibold text-white shadow-lg hover:shadow-xl transition-all duration-300 hover:scale-105",children:[e.jsx("div",{className:"absolute inset-0 bg-gradient-to-r from-[#1A1714] to-[#2A2520]"}),e.jsx("div",{className:"absolute inset-0 opacity-0 group-hover:opacity-100 transition-opacity bg-gradient-to-r from-[#1A1714] to-[#2A2520]"}),e.jsxs("div",{className:"relative flex items-center justify-center gap-2",children:[e.jsx(qe,{className:"w-5 h-5"}),e.jsx("span",{children:f==="de"?"Rebuys verwalten":"Manage Rebuys"}),V.length>0&&e.jsx("span",{className:"ml-1 px-2 py-0.5 rounded-full bg-white/30 text-xs",children:V.length})]})]}),e.jsxs("button",{onClick:()=>x(r),className:"group relative overflow-hidden px-6 py-3 rounded-xl font-semibold text-white shadow-lg hover:shadow-xl transition-all duration-300 hover:scale-105",children:[e.jsx("div",{className:"absolute inset-0 bg-gradient-to-r from-green-600 to-emerald-600"}),e.jsx("div",{className:"absolute inset-0 bg-gradient-to-r from-green-500 to-emerald-500 opacity-0 group-hover:opacity-100 transition-opacity"}),e.jsxs("div",{className:"relative flex items-center justify-center gap-2",children:[e.jsx(Me,{className:"w-5 h-5"}),e.jsx("span",{children:f==="de"?"Trade schlieÃen":"Close Trade"})]})]})]}),(r.notes||u.length>0||V.length>0||r.tradingview_links&&r.tradingview_links.length>0||r.tradingview_link)&&e.jsxs("button",{onClick:()=>w(!y),className:"w-full mt-4 py-2 rounded-xl bg-white/50 dark:bg-[#1A1714]/50 hover:bg-white/70 dark:hover:bg-[#1A1714]/70 border border-gray-200 dark:border-gray-700 transition-all duration-200 flex items-center justify-center gap-2 text-sm font-medium text-gray-600 dark:text-gray-400",children:[y?e.jsx(bt,{className:"w-4 h-4"}):e.jsx(ze,{className:"w-4 h-4"}),e.jsx("span",{children:y?f==="de"?"Weniger":"Less":"Details"})]})]})]})},_a=({entry:r,onEdit:u,onDelete:m,onShowDetails:l,getStrategyName:b})=>{const{language:x}=je();return r.strategy&&b?b(r.strategy):r.strategy,e.jsxs("div",{className:"relative overflow-hidden rounded-3xl border-2 backdrop-blur-lg transition-all duration-500 hover:-translate-y-2 border-[#2A2520] dark:border-[#2A2520] shadow-[0_20px_60px_-24px_rgba(153,125,65,0.2)] hover:shadow-[0_20px_80px_-24px_rgba(153,125,65,0.3)]",children:[e.jsx("div",{className:"absolute inset-0 bg-gradient-to-br from-[#1A1714] via-[#1A1714] to-[#2A2520] dark:from-[#0f0d0a] dark:via-[#1A1714] dark:to-[#1A1714]"}),e.jsx("div",{className:"absolute top-0 right-0 w-64 h-64 rounded-full blur-3xl animate-pulse bg-gradient-to-l from-[#1A1714] to-transparent"}),e.jsx("div",{className:"absolute bottom-0 left-0 w-48 h-48 rounded-full blur-3xl bg-gradient-to-r from-[#1A1714] to-transparent"}),e.jsxs("div",{className:"relative z-10 p-4 sm:p-6",children:[e.jsxs("div",{className:"flex flex-col gap-4 sm:flex-row sm:items-start sm:justify-between mb-6",children:[e.jsxs("div",{className:"flex items-center gap-4 min-w-0 flex-1",children:[e.jsx("div",{className:"w-16 h-16 rounded-2xl flex items-center justify-center shadow-lg shrink-0 bg-gradient-to-br from-[#C9A96E] to-[#C9A96E]",children:e.jsx(Ar,{className:"w-8 h-8 text-white"})}),e.jsxs("div",{className:"min-w-0",children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-3",children:[e.jsx("h3",{className:"text-2xl sm:text-3xl font-bold text-gray-900 dark:text-white",children:r.symbol}),e.jsxs("span",{className:"px-3 py-1 rounded-full text-xs font-semibold shadow-sm shrink-0 bg-surface-elevated text-amber-800 dark:bg-surface-elevated dark:text-amber-200 border border-[#2A2520] dark:border-[#2A2520]",children:["ð ",x==="de"?"GEPLANT":"PLANNED"]})]}),e.jsxs("div",{className:"flex items-center gap-2 mt-1 text-sm text-gray-600 dark:text-amber-200/80",children:[e.jsx(Se,{className:"w-4 h-4 shrink-0"}),e.jsx("span",{children:new Date(r.date).toLocaleDateString(x==="de"?"de-DE":"en-US")}),r.exchange&&e.jsxs(e.Fragment,{children:[e.jsx("span",{children:"â¢"}),e.jsx("span",{children:r.exchange})]})]})]})]}),e.jsxs("div",{className:"flex flex-wrap items-center gap-2 shrink-0",children:[l&&e.jsx("button",{onClick:()=>l(r.id),className:"p-3 rounded-xl bg-white/70 dark:bg-[#1A1714]/80 border transition-all duration-200 hover:scale-110 shadow-lg hover:shadow-xl backdrop-blur-sm shrink-0 border-white/50 dark:border-[#2A2520] hover:bg-surface-elevated dark:hover:bg-surface-elevated",title:"Details",children:e.jsx(ft,{className:"w-5 h-5 text-amber-600 dar
1k:text-amber-400"})}),e.jsx("button",{onClick:()=>u(r),className:"p-3 rounded-xl bg-white/70 dark:bg-[#1A1714]/80 border transition-all duration-200 hover:scale-110 shadow-lg hover:shadow-xl backdrop-blur-sm shrink-0 border-white/50 dark:border-[#2A2520] hover:bg-surface-elevated dark:hover:bg-surface-elevated",title:x==="de"?"Bearbeiten":"Edit",children:e.jsx(rt,{className:"w-5 h-5 text-amber-600 dark:text-amber-400"})}),e.jsx("button",{onClick:()=>m(r.id),className:"p-3 rounded-xl bg-white/70 dark:bg-[#1A1714]/80 border transition-all duration-200 hover:scale-110 shadow-lg hover:shadow-xl backdrop-blur-sm shrink-0 border-white/50 dark:border-[#2A2520] hover:bg-red-100 dark:hover:bg-red-900/30",title:x==="de"?"Löschen":"Delete",children:e.jsx(Ue,{className:"w-5 h-5 text-red-600 dark:text-red-400"})})]})]}),e.jsxs("div",{className:"grid gap-4 mb-6 ".concat(r.stop_loss&&r.leverage&&r.leverage>1?"grid-cols-2 lg:grid-cols-5":(r.stop_loss||r.leverage&&r.leverage>1,"grid-cols-2 lg:grid-cols-4")),children:[e.jsxs("div",{className:"min-w-0 overflow-hidden rounded-xl sm:rounded-2xl border p-3 sm:p-4 shadow-lg backdrop-blur-sm border-[#2A2520] dark:border-[#2A2520] bg-white/80 dark:bg-[#1A1714]/90",children:[e.jsx("div",{className:"text-xs text-gray-600 mb-1 font-medium truncate dark:text-amber-200/80",children:x==="de"?"Geplanter Einstieg":"Planned Entry"}),e.jsxs("div",{className:"text-xl font-bold text-gray-900 dark:text-white truncate min-w-0",title:"$".concat(ke(r.entry_price,4)),children:["$",ke(r.entry_price,4)]})]}),e.jsxs("div",{className:"min-w-0 overflow-hidden rounded-2xl border p-4 shadow-lg backdrop-blur-sm border-[#2A2520] dark:border-[#2A2520] bg-white/80 dark:bg-[#1A1714]/90",children:[e.jsx("div",{className:"text-xs text-gray-600 mb-1 font-medium truncate dark:text-amber-200/80",children:x==="de"?"PositionsgröÃe":"Position Size"}),e.jsxs("div",{className:"text-xl font-bold text-gray-900 dark:text-white truncate min-w-0",title:"$".concat(ke(r.total_value,2)),children:["$",ke(r.total_value,2)]})]}),r.stop_loss&&e.jsxs("div",{className:"min-w-0 overflow-hidden rounded-2xl border p-4 shadow-lg backdrop-blur-sm border-[#2A2520] dark:border-[#2A2520] bg-white/80 dark:bg-[#1A1714]/90",children:[e.jsx("div",{className:"text-xs text-gray-600 mb-1 font-medium truncate dark:text-amber-200/80",children:"Stop Loss"}),e.jsxs("div",{className:"text-xl font-bold text-red-600 dark:text-red-400 truncate min-w-0",title:"$".concat(ke(r.stop_loss,4)),children:["$",ke(r.stop_loss,4)]})]}),e.jsxs("div",{className:"min-w-0 overflow-hidden rounded-2xl border p-4 shadow-lg backdrop-blur-sm border-[#2A2520] dark:border-[#2A2520] bg-white/80 dark:bg-[#1A1714]/90",children:[e.jsx("div",{className:"text-xs text-gray-600 mb-1 font-medium truncate dark:text-amber-200/80",children:x==="de"?"Richtung":"Direction"}),e.jsxs("div",{className:"text-lg font-bold flex items-center gap-2 min-w-0 ".concat(r.action==="long"?"text-green-600 dark:text-green-400":"text-red-600 dark:text-red-400"),children:[r.action==="long"?e.jsx(Te,{className:"w-5 h-5 shrink-0"}):e.jsx(Re,{className:"w-5 h-5 shrink-0"}),e.jsx("span",{className:"truncate",children:r.action==="long"?"Long":"Short"})]})]}),r.leverage&&r.leverage>1&&e.jsxs("div",{className:"min-w-0 overflow-hidden rounded-2xl border p-4 shadow-lg backdrop-blur-sm border-[#2A2520] dark:border-[#2A2520] bg-white/80 dark:bg-[#1A1714]/90",children:[e.jsx("div",{className:"text-xs text-gray-600 mb-1 font-medium truncate dark:text-amber-200/80",children:x==="de"?"Hebel":"Leverage"}),e.jsxs("div",{className:"text-xl font-bold truncate min-w-0 text-amber-600 dark:text-amber-400",children:[r.leverage,"x"]})]})]}),r.notes&&e.jsx("div",{className:"p-4 rounded-2xl border backdrop-blur-sm mb-4 bg-white/60 dark:bg-[#1A1714]/80 border-gray-200 dark:border-[#2A2520]",children:e.jsx("p",{className:"text-sm text-gray-700 dark:text-gray-300 line-clamp-3",children:r.notes})}),(r.tradingview_links&&r.tradingview_links.length>0||r.tradingview_link)&&e.jsxs("div",{className:"p-4 rounded-2xl border backdrop-blur-sm bg-gradient-to-br from-[#1A1714] to-[#2A2520] dark:from-[#1A1714] dark:to-[#2A2520] border-[#2A2520] dark:border-[#2A2520]",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[e.jsx(Ae,{className:"w-4 h-4 text-amber-600 dar
1k:text-amber-400"}),e.jsx("h4",{className:"text-sm font-semibold text-gray-900 dark:text-white",children:"TradingView Links"})]}),e.jsx("div",{className:"flex flex-wrap gap-2",children:r.tradingview_links&&r.tradingview_links.length>0?r.tradingview_links.map((i,t)=>i&&e.jsxs("a",{href:i,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2 px-3 py-2 rounded-lg bg-white dark:bg-[#1A1714] border transition-all text-sm font-medium text-amber-600 dark:text-amber-400 hover:bg-surface-elevated dark:hover:bg-surface-elevated border-[#2A2520] dark:border-[#2A2520]",children:[e.jsx(Ae,{className:"w-3 h-3"}),"Chart ",t+1]},t)):r.tradingview_link?e.jsxs("a",{href:r.tradingview_link,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2 px-3 py-2 rounded-lg bg-white dark:bg-[#1A1714] border transition-all text-sm font-medium text-amber-600 dark:text-amber-400 hover:bg-surface-elevated dark:hover:bg-surface-elevated border-[#2A2520] dark:border-[#2A2520]",children:[e.jsx(Ae,{className:"w-3 h-3"}),x==="de"?"Chart öffnen":"Open Chart"]}):null})]})]})]})},Aa=({entry:r,partialProfits:u=[],rebuys:m=[],onEdit:l,onDelete:b,onShowTimeline:x,onShowDetails:i,onGenerateScreenshot:t,getStrategyName:o})=>{var $;const{language:h}=je();r.strategy&&o?o(r.strategy):r.strategy;const j=u.filter(T=>T.is_collected),f=j.reduce((T,F)=>T+(F.actual_profit||0),0),y=ie(r,u),w=y>=0;return e.jsxs("div",{className:"relative overflow-hidden rounded-3xl border-2 shadow-[0_20px_60px_-24px] backdrop-blur-lg transition-all duration-500 hover:shadow-[0_20px_80px_-24px] hover:-translate-y-2 ".concat(w?"border-emerald-200/50 dark:border-emerald-700/30 shadow-emerald-500/20 hover:shadow-emerald-500/30":"border-red-200/50 dark:border-red-700/30 shadow-red-500/20 hover:shadow-red-500/30"),children:[e.jsx("div",{className:"absolute inset-0 ".concat(w?"bg-gradient-to-br from-emerald-50 via-green-50 to-teal-50 dark:from-emerald-900/20 dark:via-green-900/20 dark:to-teal-900/20":"bg-gradient-to-br from-red-50 via-[#1A1714] to-[#2A2520] dark:from-red-900/20 dark:via-[#1A1714] dark:to-[#2A2520]")}),e.jsx("div",{className:"absolute top-0 right-0 w-64 h-64 rounded-full blur-3xl ".concat(w?"bg-gradient-to-l from-emerald-400/10":"bg-gradient-to-l from-red-400/10"," to-transparent")}),e.jsxs("div",{className:"relative z-10 p-6",children:[e.jsxs("div",{className:"flex flex-col gap-4 sm:flex-row sm:items-start sm:justify-between mb-6",children:[e.jsxs("div",{className:"flex items-center gap-4 min-w-0 flex-1",children:[e.jsx("div",{className:"w-16 h-16 rounded-2xl flex items-center justify-center shadow-lg shrink-0 ".concat(r.action==="long"?w?"bg-gradient-to-br from-green-500 to-emerald-600":"bg-gradient-to-br from-red-500 to-[#2A2520]":w?"bg-gradient-to-br from-red-500 to-[#2A2520]":"bg-gradient-to-br from-green-500 to-emerald-600"),children:w?e.jsx(Te,{className:"w-8 h-8 text-white"}):e.jsx(Re,{className:"w-8 h-8 text-white"})}),e.jsxs("div",{className:"min-w-0",children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-3",children:[e.jsx("h3",{className:"text-2xl sm:text-3xl font-bold text-gray-900 dark:text-white",children:r.symbol}),e.jsxs("span",{className:"px-3 py-1 rounded-full text-xs font-semibold border shadow-sm shrink-0 ".concat(w?"bg-emerald-100 text-emerald-800 dark:bg-emerald-900/30 dark:text-emerald-300 border-emerald-200 dark:border-emerald-800":"bg-red-100 text-red-800 dark:bg-red-900/30 dark:text-red-300 border-red-200 dark:border-red-800"),children:["ð ",h==="de"?"GESCHLOSSEN":"CLOSED"]})]}),e.jsxs("div",{className:"flex items-center gap-2 mt-1 text-sm text-gray-600 dark:text-gray-400",children:[e.jsx(Se,{className:"w-4 h-4 shrink-0"}),e.jsx("span",{children:new Date(r.date).toLocaleDateString(h==="de"?"de-DE":"en-US")}),r.close_date&&e.jsxs(e.Fragment,{children:[e.jsx("span",{children:"â"}),e.jsx("span",{children:new Date(r.close_date).toLocaleDateString(h==="de"?"de-DE":"en-US")})]})]}),r.exchange&&e.jsxs("div",{className:"mt-1 text-sm text-gray-600 dark:text-gray-400",children:[h==="de"?"Börse:":"Exchange:"," ",r.exchange]})]})]}),e.jsxs("div",{className:"flex flex-wrap items-center gap-2 shrink-0",children:[t&&e.jsx("button",{onClick:()=>t(r),className:"p-3 rounded-xl bg-white/70 dark:bg-[#1A1714]/70 border border-white/50 dark:border-gray-700/50 hover:bg-green-100 dark:hover:bg-green-900/30 transition-all duration-200 hover:scale-110 shadow-lg hover:shadow-xl backdrop-blur-sm shrink-0",title:"P&L Screenshot",children:e.jsx(ut,{className:"w-5 h-5 text-green-600 dark:text-green-400"})}),x&&u.length>0&&e.jsx("button",{onClick:()=>x(r),className:"p-3 rounded-xl bg-white/70 dark:bg-[#1A1714]/70 border border-white/50 dark:border-gray-700/50 hover:bg-surface-elevated dark:hover:bg-surface-elevated transition-all duration-200 hover:scale-110 shadow-lg hover:shadow-xl backdrop-blur-sm shrink-0",title:"Timeline",children:e.jsx(_r,{className:"w-5 h-5 text-bronze-600 dar
1k:text-bronze-400"})}),i&&e.jsx("button",{onClick:()=>i(r.id),className:"p-3 rounded-xl bg-white/70 dark:bg-[#1A1714]/70 border border-white/50 dark:border-gray-700/50 hover:bg-surface-elevated dark:hover:bg-surface-elevated transition-all duration-200 hover:scale-110 shadow-lg hover:shadow-xl backdrop-blur-sm shrink-0",title:"Details",children:e.jsx(ft,{className:"w-5 h-5 text-bronze-600 dark:text-bronze-400"})}),e.jsx("button",{onClick:()=>l(r),className:"p-3 rounded-xl bg-white/70 dark:bg-[#1A1714]/70 border border-white/50 dark:border-gray-700/50 hover:bg-surface-elevated dark:hover:bg-surface-elevated transition-all duration-200 hover:scale-110 shadow-lg hover:shadow-xl backdrop-blur-sm shrink-0",title:h==="de"?"Bearbeiten":"Edit",children:e.jsx(rt,{className:"w-5 h-5 text-bronze-600 dark:text-bronze-400"})}),e.jsx("button",{onClick:()=>b(r.id),className:"p-3 rounded-xl bg-white/70 dark:bg-[#1A1714]/70 border border-white/50 dark:border-gray-700/50 hover:bg-red-100 dark:hover:bg-red-900/30 transition-all duration-200 hover:scale-110 shadow-lg hover:shadow-xl backdrop-blur-sm shrink-0",title:h==="de"?"Löschen":"Delete",children:e.jsx(Ue,{className:"w-5 h-5 text-red-600 dark:text-red-400"})})]})]}),e.jsx("div",{className:"mb-6 p-6 rounded-2xl border-2 shadow-xl backdrop-blur-md ".concat(w?"bg-gradient-to-br from-emerald-100/80 to-green-100/80 dark:from-emerald-900/40 dark:to-green-900/40 border-emerald-300 dark:border-emerald-600/30":"bg-gradient-to-br from-red-100/80 to-[#2A2520] dark:from-red-900/40 dark:to-[#2A2520] border-red-300 dark:border-red-600/30"),children:e.jsxs("div",{className:"text-center",children:[e.jsxs("div",{className:"flex items-center justify-center gap-2 mb-2",children:[w?e.jsx(Ge,{className:"w-6 h-6 text-emerald-600 dark:text-emerald-400"}):e.jsx(Ie,{className:"w-6 h-6 text-red-600 dark:text-red-400"}),e.jsx("span",{className:"text-sm font-medium text-gray-600 dark:text-gray-400",children:"Profit & Loss"})]}),e.jsxs("div",{className:"text-5xl font-black mb-2 ".concat(w?"text-emerald-600 dark:text-emerald-400":"text-red-600 dark:text-red-400"),children:[w?"+":"","$",y.toFixed(2)]}),(()=>{const T=r.entry_price*(r.quantity||0),B=m.filter(J=>J.enabled).reduce((J,C)=>J+(C.total_value||0),0),V=T+B,_=V>0?y/V*100:0;return e.jsxs("div",{className:"flex items-center justify-center gap-2 text-lg font-bold ".concat(w?"text-emerald-600 dark:text-emerald-400":"text-red-600 dark:text-red-400"),children:[e.jsx(Et,{className:"w-5 h-5"}),e.jsxs("span",{children:[_>=0?"+":"",_.toFixed(2),"%"]})]})})()]})}),e.jsxs("div",{className:"grid grid-cols-2 lg:grid-cols-4 gap-4 mb-6",children:[e.jsxs("div",{className:"rounded-2xl border border-white/50 dark:border-white/10 bg-white/80 dark:bg-[#1A1714]/60 p-4 shadow-lg backdrop-blur-sm",children:[e.jsx("div",{className:"text-xs text-gray-600 dark:text-gray-400 mb-1 font-medium",children:h==="de"?"Einstieg":"Entry"}),e.jsxs("div",{className:"text-lg font-bold text-gray-900 dark:text-white",children:["$",(r.average_entry_price||r.entry_price).toFixed(4)]})]}),e.jsxs("div",{className:"rounded-2xl border border-white/50 dark:border-white/10 bg-white/80 dark:bg-[#1A1714]/60 p-4 shadow-lg backdrop-blur-sm",children:[e.jsx("div",{className:"text-xs text-gray-600 dark:text-gray-400 mb-1 font-medium",children:h==="de"?"Ausstieg":"Exit"}),e.jsxs("div",{className:"text-lg font-bold text-gray-900 dark:text-white",children:["$",(($=r.exit_price)==null?void 0:$.toFixed(4))||"N/A"]})]}),e.jsxs("div",{className:"rounded-2xl border border-white/50 dark:border-white/10 bg-white/80 dark:bg-[#1A1714]/60 p-4 shadow-lg backdrop-blur-sm",children:[e.jsx("div",{className:"text-xs text-gray-600 dark:text-gray-400 mb-1 font-medium",children:"Position"}),e.jsxs("div",{className:"text-lg font-bold text-gray-900 dark:text-white",children:["$",r.total_value.toFixed(2)]})]}),(r.trading_fees!=null&&r.trading_fees!==0||r.funding_fees!=null&&r.funding_fees!==0||r.fees!=null&&r.fees!==0)&&e.jsxs("div",{className:"rounded-2xl border border-white/50 dark:border-white/10 bg-white/80 dark:bg-[#1A1714]/60 p-4 shadow-lg backdrop-blur-sm",children:[e.jsx("div",{className:"text-xs text-gray-600 dark:text-gray-400 mb-1 font-medium",children:h==="de"?"Gebühren":"Fees"}),e.jsxs("div",{className:"space-y-1",children:[r.trading_fees!=null&&r.trading_fees!==0&&e.jsxs("div",{className:"text-sm font-bold text-red-600 dark:text-red-400",children:["Trading:"," â$",Math.abs(r.trading_fees).toFixed(2)]}),r.funding_fees!=null&&r.funding_fees!==0&&e.jsxs("div",{className:"text-sm font-bold ".concat(r.funding_fees>0?"text-green-600 dark:text-green-400":"text-red-600 dark:text-red-400"),children:["Funding:"," ",r.funding_fees>0?"+":"â","$",Math.abs(r.funding_fees).toFixed(2)]}),(r.trading_fees==null||r.trading_fees===0)&&(r.funding_fees==null||r.funding_fees===0)&&r.fees!=null&&r.fees!==0&&e.jsxs("div",{className:"text-lg font-bold ".concat(r.fees>0?"text-green-600 dark:text-green-400":"text-red-600 dark:text-red-400"),children:[r.fees>0?"+":"â","$",Math.abs(r.fees).toFixed(2)]})]})]})]}),j.length>0&&e.jsx("div",{className:"p-4 rounded-2xl bg-gradient-to-r from-[#1A1714] to-[#2A2520] dark:from-[#1A1714] dark:to-[#2A2520] border border-bronze-200 dark:border-bronze-700/30 backdrop-blur-sm",children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(Ge,{className:"w-5 h-5 text-bronze-600 dar
1k:text-bronze-400"}),e.jsx("span",{className:"text-sm font-semibold text-gray-700 dark:text-gray-300",children:h==="de"?"Teilgewinne realisiert":"Partial Profits Realized"})]}),e.jsxs("span",{className:"text-lg font-bold text-bronze-600 dark:text-bronze-400",children:["+$",f.toFixed(2)]})]})}),r.notes&&e.jsx("div",{className:"mt-6 p-4 rounded-2xl bg-white/60 dark:bg-[#1A1714]/60 border border-gray-200 dark:border-gray-700 backdrop-blur-sm",children:e.jsx("p",{className:"text-sm text-gray-700 dark:text-gray-300 line-clamp-3",children:r.notes})}),(r.tradingview_links&&r.tradingview_links.length>0||r.tradingview_link)&&e.jsxs("div",{className:"mt-6 p-4 rounded-2xl bg-gradient-to-br from-[#1A1714] to-[#2A2520] dark:from-[#1A1714] dark:to-[#2A2520] border border-bronze-200 dark:border-bronze-800 backdrop-blur-sm",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[e.jsx(Ae,{className:"w-4 h-4 text-bronze-600 dark:text-bronze-400"}),e.jsx("h4",{className:"text-sm font-semibold text-gray-900 dark:text-white",children:"TradingView Links"})]}),e.jsx("div",{className:"flex flex-wrap gap-2",children:r.tradingview_links&&r.tradingview_links.length>0?r.tradingview_links.map((T,F)=>T&&e.jsxs("a",{href:T,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2 px-3 py-2 rounded-lg bg-white dark:bg-surface-elevated text-bronze-600 dark:text-bronze-400 hover:bg-surface-elevated dark:hover:bg-surface-elevated border border-bronze-200 dark:border-bronze-700 transition-all text-sm font-medium",children:[e.jsx(Ae,{className:"w-3 h-3"}),"Chart ",F+1]},F)):r.tradingview_link?e.jsxs("a",{href:r.tradingview_link,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2 px-3 py-2 rounded-lg bg-white dark:bg-surface-elevated text-bronze-600 dark:text-bronze-400 hover:bg-surface-elevated dark:hover:bg-surface-elevated border border-bronze-200 dark:border-bronze-700 transition-all text-sm font-medium",children:[e.jsx(Ae,{className:"w-3 h-3"}),h==="de"?"Chart öffnen":"Open Chart"]}):null})]})]})]})},Sa=()=>{var or,cr;const{user:r}=pt(),{language:u}=je(),{theme:m}=Kr(),l=m==="dark",b=Zr(),[x,i]=g.useState(((or=b.state)==null?void 0:or.activeView)||"dashboard"),[t,o]=g.useState(!1),[h,j]=g.useState(!0),[f,y]=g.useState(!0),[w,$]=g.useState(!0),[T,F]=g.useState(!1),[B,V]=g.useState(null);g.useEffect(()=>{if(typeof window>"u"||T||B)return;const n=()=>{const se=window.localStorage.getItem("calculatorToJournalData"),we=b.state;(se||(we==null?void 0:we.openAddModal))&&setTimeout(()=>{F(!0)},300)};t&&n();const v=setTimeout(n,500),U=setTimeout(n,1e3);return()=>{clearTimeout(v),clearTimeout(U)}},[t,T,B,b.state]);const[_,J]=g.useState(!1),[C,A]=g.useState(null),[G,k]=g.useState(!1),[R,E]=g.useState(null),[L,s]=g.useState(!1),[d,c]=g.useState(null),[N,P]=g.useState(!1),[p,z]=g.useState(!1),[M,Q]=g.useState(!1),[re,ae]=g.useState(!1),[q,X]=g.useState(null),[le,oe]=g.useState(!1),[I,te]=g.useState(null),[ge,ce]=g.useState(!1),[a,S]=g.useState(null),[D,O]=g.useState(!1),[W,Y]=g.useState(null),[H,de]=g.useState(""),[me,Ee]=g.useState("all"),[xe,Ne]=g.useState([]),[he,Ye]=g.useState("all"),[ve,Je]=g.useState("all"),[ne,K]=g.useState("allTime"),[ue,fe]=g.useState(!1),pe=g.useRef(null),[be,He]=g.useState(null),[ye,Dt]=g.useState({startDate:"",endDate:""}),[at,Lt]=g.useState(!1),Kt=g.useRef(null),[vt,Qt]=g.useState(null),[wt,Xt]=g.useState(!1),er=g.useRef(null),[jt,Tr]=g.useState(null),[yt,Ft]=g.useState(!1),tr=g.useRef(null),[kt,rr]=g.useState(null),[Nt,_t]=g.useState(!1),ar=g.useRef(null),[At,Mt]=g.useState(null),{entries:Be,isLoading:$r,error:sr,refetchEntries:$e,partialProfits:Ce,rebuys:Ze,fetchPartialProfits:St,fetchRebuys:Ke}=da(r==null?void 0:r.id),{addTrade:Cr,updateTrade:Pr,deleteTrade:Er,closeTrade:Dr}=wr(r==null?void 0:r.id),{addPartialProfit:Lr,deletePartialProfit:Fr,collectPartialProfit:Mr}=na(r==null?void 0:r.id),{strategies:Rt,getStrategyName:De}=Jt(r==null?void 0:r.id);g.useEffect(()=>{const n=setTimeout(()=>o(!0),20);return()=>clearTimeout(n)},[]),g.useEffect(()=>{const n=b.state;n!=null&&n.openAddModal&&t&&!T&&!B&&window.localStorage.getItem("calculatorToJournalData")&&setTimeout(()=>{F(!0)},300)},[b.state,t,T,B]),g.useEffect(()=>{(async()=>
1{if(r!=null&&r.id)try{const{data:v,error:U}=await Z.from("profiles").select("username, profile_picture_url").eq("id",r.id).single();if(U)throw U;Y(v)}catch(v){console.error("Error fetching user profile:",v)}})()},[r]);const Rr="https://bsmvcmmwkmaqpgrmvjql.supabase.co/storage/v1/object/sign/video/Trading%20Journal%20Tutorial.mp4?token=eyJraWQiOiJzdG9yYWdlLXVybC1zaWduaW5nLWtleV8wMDBlZmYxOC02ZTRmLTRiMmItYWJhYi01N2ZjMzU0YjFlM2QiLCJhbGciOiJIUzI1NiJ9.eyJ1cmwiOiJ2aWRlby9UcmFkaW5nIEpvdXJuYWwgVHV0b3JpYWwubXA0IiwiaWF0IjoxNzcxNDQyMTEwLCJleHAiOjIwODY4MDIxMTB9.-flNu4wEuLF474BuVg6c5el0w8AmZZ4sBCmh45gLnMU",zr="https://www.youtube.com/embed/3LMpQmI2pbs?si=gXW2ohZOdDFm-Pwj";g.useEffect(()=>{if(!ge){S(null),O(!1);return}S(Rr)},[ge]),g.useEffect(()=>{Be.length>0&&Be.forEach(n=>{n.has_partial_profits&&St(n.id),Ke(n.id)})},[Be,St,Ke]);const nt=(n,v,U,se,we,Ve)=>{if(!n||!v.current)return U(null),()=>{};const We=()=>{if(!v.current)return;const Xe=v.current.getBoundingClientRect();U({top:Xe.bottom+8,left:Xe.left,width:Math.max(Xe.width,200)})};We(),window.addEventListener("scroll",We,!0),window.addEventListener("resize",We);const Tt=Xe=>{const $t=Xe.target;!$t.closest(se)&&!$t.closest("[".concat(we,"]"))&&(Ve(!1),U(null))};return document.addEventListener("mousedown",Tt),()=>{document.removeEventListener("mousedown",Tt),window.removeEventListener("scroll",We,!0),window.removeEventListener("resize",We)}};if(g.useEffect(()=>nt(ue,pe,He,".time-range-dropdown-container","data-time-range-dropdown",fe),[ue]),g.useEffect(()=>nt(at,Kt,Qt,".action-dropdown-container","data-action-dropdown",Lt),[at]),g.useEffect(()=>nt(wt,er,Tr,".strategy-dropdown-container","data-strategy-dropdown",Xt),[wt]),g.useEffect(()=>nt(yt,tr,rr,".status-dropdown-container","data-status-dropdown",Ft),[yt]),g.useEffect(()=>nt(Nt,ar,Mt,".emotion-dropdown-container","data-emotion-dropdown",_t),[Nt]),!r)return e.jsx("div",{className:"min-h-screen flex items-center justify-center bg-gradient-to-br from-gray-50 via-[#1A1714] to-[#2A2520] dark:from-[#0f0d0a] dark:via-[#1A1714] dark:to-[#2A2520]",children:e.jsxs("div",{className:"text-center",children:[e.jsx("h2",{className:"text-2xl font-bold text-gray-800 dark:text-white mb-4",children:u==="de"?"Anmeldung erforderlich":"Login Required"}),e.jsx("p",{className:"text-gray-600 dark:text-amber-200/90",children:u==="de"?"Bitte melde dich an, um das Trading Journal zu nutzen.":"Please login to use the Trading Journal."})]})});const Or=[{id:"dashboard",label:{de:"Dashboard",en:"Dashboard"},icon:lt},{id:"trades",label:{de:"Trades",en:"Trades"},icon:Oe},{id:"calendar",label:{de:"Kalender",en:"Calendar"},icon:Se},{id:"analysis",label:{de:"Analyse",en:"Analysis"},icon:sa},{id:"strategies",label:{de:"Strategien",en:"Strategies"},icon:Yt}],qr=n=>{const v=new Date;let U=new Date,se=new Date;switch(n){case"today":U=new Date(v.getFullYear(),v.getMonth(),v.getDate()),se=new Date(v.getFullYear(),v.getMonth(),v.getDate(),23,59,59);break;case"thisWeek":const we=v.getDay(),Ve=v.getDate()-we+(we===0?-6:1);U=new Date(v.getFullYear(),v.getMonth(),Ve),se=new Date(v.getFullYear(),v.getMonth(),Ve+6,23,59,59);break;case"thisMonth":U=new Date(v.getFullYear(),v.getMonth(),1),se=new Date(v.getFullYear(),v.getMonth()+1,0,23,59,59);break;case"last30Days":U=new Date(v),U.setDate(U.getDate()-30),se=new Date(v);break;case"lastMonth":U=new Date(v.getFullYear(),v.getMonth()-1,1),se=new Date(v.getFullYear(),v.getMonth(),0,23,59,59);break;case"thisQuarter":const We=Math.floor(v.getMonth()/3);U=new Date(v.getFullYear(),We*3,1),se=new Date(v.getFullYear(),(We+1)*3,0,23,59,59);break;case"ytd":U=new Date(v.getFullYear(),0,1),se=new Date(v);break;case"custom":if(ye.startDate&&ye.endDate)U=new Date(ye.startDate),se=new Date(ye.endDate),se.setHours(23,59,59);else return null;break;default:return null}return{startDate:U,endDate:se}},et=g.useMemo(()=>{let n=Be;if(ne!=="allTime"){const v=qr(ne);v&&(n=n.filter(U=>{const se=new Date(U.date);return se>=v.startDate&&se<=v.endDate}))}return H&&(n=n.filter(v=>{var se,we;const U=H.toLowerCase();
1return v.symbol.toLowerCase().includes(U)||((se=v.strategy)==null?void 0:se.toLowerCase().includes(U))||((we=v.notes)==null?void 0:we.toLowerCase().includes(U))||(v.strategy?De(v.strategy).toLowerCase().includes(U):!1)})),me!=="all"&&(n=n.filter(v=>v.action===me)),xe.length>0&&(n=n.filter(v=>v.strategy&&xe.includes(v.strategy))),he!=="all"&&(n=n.filter(v=>he==="closed"?v.is_closed||v.trade_status==="closed":he==="open"?!v.is_closed&&v.trade_status!=="planned"||v.trade_status==="open":v.trade_status===he)),ve!=="all"&&(n=n.filter(v=>[...v.emotion_tags_opening||[],...v.emotion_tags_during||[],...v.emotion_tags_closing||[]].includes(ve))),n},[Be,ne,H,me,xe,he,ve,ye,De]),zt=et.filter(n=>n.trade_status==="planned"),Ot=et.filter(n=>n.trade_status==="open"||!n.is_closed&&n.trade_status!=="planned"),Qe=et.filter(n=>n.is_closed||n.trade_status==="closed"),qt=Qe.reduce((n,v)=>{const U=Ce[v.id]||[],se=ie(v,U);return n+se},0),Ir=Qe.filter(n=>{const v=Ce[n.id]||[];return ie(n,v)>0}).length,lr=Qe.length>0?Ir/Qe.length*100:0,[It,dr]=g.useState(null),[Bt,nr]=g.useState(null),Br=async n=>{try{const v=await Cr(n);return await $e(),v!=null&&v.id&&dr(v.id),F(!1),v}catch(v){throw console.error("Error adding trade:",v),v}};g.useEffect(()=>{if(!T&&It){const v=setTimeout(async()=>{await Ke(It),await $e(),dr(null)},300);return()=>clearTimeout(v)}},[T,It,Ke,$e]),g.useEffect(()=>{if(!T&&Bt){const v=setTimeout(async()=>{await Ke(Bt),await $e(),nr(null)},300);return()=>clearTimeout(v)}},[T,Bt,Ke,$e]);const Vr=async(n,v)=>{try{const U=await Pr(n,v);return await $e(),U!=null&&U.id&&nr(U.id),F(!1),V(null),U}catch(U){throw console.error("Error updating trade:",U),U}},it=async n=>{if(confirm(u==="de"?"Trade wirklich löschen?":"Really delete trade?"))try{await Er(n),await $e()}catch(v){console.error("Error deleting trade:",v),alert(v.message)}},ot=n=>{V(n),F(!0)},Wr=n=>{c(n),s(!0)},Ur=async(n,v,U,se,we)=>{try{await Dr(n,v,U,se,we),await $e(),J(!1),A(null)}catch(Ve){throw console.error("Error closing trade:",Ve),Ve}},Gr=async n=>{E(n),await St(n.id),await Ke(n.id),k(!0)},ct=n=>{te(n),oe(!0)},ir=async n=>{try{const v=Ce[n.id]||[],U=ie(n,v),se=U>=0,we=n.entry_price*(n.quantity||0),Tt=(Ze[n.id]||[]).filter(Le=>Le.enabled).reduce((Le,Ct)=>Le+(Ct.total_value||0),0),Xe=we+Tt,$t=Xe>0?U/Xe*100:0,_e=document.createElement("canvas"),ee=_e.getContext("2d");if(!ee)return;_e.width=1400,_e.height=900;const tt=ee.createLinearGradient(0,0,_e.width,_e.height);se?(tt.addColorStop(0,"#78350f"),tt.addColorStop(.5,"#b45309"),tt.addColorStop(1,"#92400e")):(tt.addColorStop(0,"#991b1b"),tt.addColorStop(.5,"#dc2626"),tt.addColorStop(1,"#7f1d1d")),ee.fillStyle=tt,ee.fillRect(0,0,_e.width,_e.height),ee.fillStyle="rgba(255, 255, 255, 0.05)";for(let Le=0;Le<20;Le++)ee.beginPath(),ee.arc(Math.random()*_e.width,Math.random()*_e.height,Math.random()*100+50,0,Math.PI*2),ee.fill();ee.fillStyle="white",ee.font="bold 72px Inter, system-ui, sans-serif",ee.textAlign="left",ee.fillText(n.symbol,80,250),ee.fillStyle="rgba(255, 255, 255, 0.7)",ee.font="32px Inter, system-ui, sans-serif";const Yr=n.action==="long"?"Long":"Short",Jr=n.leverage&&n.leverage>1?" | ".concat(n.leverage,"X"):"";ee.fillText("Close ".concat(Yr).concat(Jr),80,300);const Hr=se?"#22c55e":"#ef4444",xr=se?"+":"";ee.fillStyle=Hr,ee.font="bold 120px Inter, system-ui, sans-serif",ee.fillText("".concat(xr).concat($t.toFixed(2),"%"),80,480),ee.font="bold 48px Inter, system-ui, sans-serif",ee.fillText("".concat(xr,"$").concat(Math.abs(U).toFixed(2)),80,540);const xt=620;if(ee.fillStyle="rgba(255, 255, 255, 0.1)",ee.fillRect(60,xt,_e.width-120,200),ee.fillStyle="rgba(255, 255, 255, 0.9)",ee.font="24px Inter, system-ui, sans-serif",ee.fillText("Entry: $".concat(n.entry_price.toFixed(4)),80,xt+40),ee.fillText("Exit: $".concat((n.exit_price||0).toFixed(4)),80,xt+80),ee.fillText("Position: $".concat(n.total_value.toFixed(2)),80,xt+120),n.date&&n.close_date){const Le=Math.floor((new Date(n.close_date).getTime()-new Date(n.date).getTime())/864e5);ee.fillText("Duration: ".concat(Le," ").concat(u==="de"?"Tage":"days"),80,xt+160)}ee.fillStyle="rgba(255, 255, 255, 0.5)",ee.font="bold 20px Inter, system-ui, sans-serif",ee.textAlign="right",ee.fillText("CraderMind",_e.width-80,_e.height-40),_e.toBlob(Le=>{if(Le){const Ct=URL.createObjectURL(Le),Vt=document.createElement("a");Vt.href=Ct,Vt.download="".concat(n.symbol,"-pnl-").concat(new Date().toISOString().split("T")[0],".png"),Vt.click(),URL.revokeObjectURL(Ct)}})}catch(v){console.error("Error generating screenshot:",v),alert(u==="de"?"Fehler beim Generieren des Screenshots":"Error generating screenshot")}};return e.jsxs("div",{className:l?"min-h-screen bg-gradient-to-br from-[#0f0d0a] via-[#1A1714] to-[#0f0d0a]":"min-h-screen bg-gradient-to-br from-[#0A0A0A] via-[#1A1714] to-[#2A2520]",children:[e.jsx("div",{className:"h-8"}),e.jsxs("div",{className:"container-responsive pb-6 sm:pb-8 transition-all duration-700 ".concat(t?"opacity-100 translate-y-0":"opacity-0 translate-y-4"),children:[e.jsxs("div",{className:"relative mb-2",children:[e.jsxs("div",{className:"absolute inset-0 -z-10",children:[e.jsx("div",{className:"absolute left-1/2 top-0 h-72 w-72 -translate-x-1/2 roun
1ded-full blur-3xl bg-surface-elevated"}),e.jsx("div",{className:"absolute right-10 bottom-0 h-64 w-64 rounded-full blur-3xl bg-surface-elevated"})]}),e.jsxs("div",{className:"relative overflow-hidden rounded-[32px] border px-5 py-3 sm:px-6 sm:py-3 shadow-[0_25px_80px_-35px_rgba(153,125,65,0.2)] backdrop-blur ".concat(l?"border-[#2A2520] bg-gradient-to-br from-[#0f0d0a] via-[#1A1714] to-[#0f0d0a] text-white":"border-[#2A2520] bg-gradient-to-br from-white via-[#0A0A0A] to-[#ebe6df] text-slate-900"),children:[e.jsxs("div",{className:"pointer-events-none absolute inset-0 opacity-40",children:[e.jsx("div",{className:"absolute -top-16 right-4 h-40 w-40 rounded-full blur-3xl bg-surface-elevated"}),e.jsx("div",{className:"absolute -bottom-20 left-6 h-48 w-48 rounded-full blur-3xl bg-surface-elevated"})]}),e.jsxs("div",{className:"relative flex flex-col gap-2",children:[e.jsxs("div",{className:"flex flex-col xl:flex-row xl:items-center xl:items-start justify-between gap-4",children:[e.jsx("div",{children:e.jsx("h1",{className:"text-2xl sm:text-3xl font-black tracking-tight whitespace-nowrap ".concat(l?"text-white":"text-slate-900"),children:"Trading Journal"})}),e.jsxs("div",{className:"flex w-full flex-wrap items-center justify-start gap-3 xl:justify-end",children:[e.jsxs("button",{onClick:()=>ce(!0),className:"flex items-center gap-2 rounded-2xl border border-white/15 bg-gradient-to-r from-red-500/30 to-red-600/40 px-4 py-2 text-sm font-semibold text-white shadow-lg backdrop-blur hover:-translate-y-0.5",children:[e.jsx(Ar,{className:"w-4 h-4",fill:"white"}),e.jsx("span",{children:"TUTORIAL"})]}),e.jsxs("button",{onClick:()=>z(!0),className:l?"flex items-center gap-2 rounded-2xl border border-[#2A2520] bg-[#1A1714]/80 px-4 py-2 text-sm font-semibold text-white shadow-lg transition-all hover:bg-surface-elevated hover:-translate-y-0.5":"flex items-center gap-2 rounded-2xl border border-[#2A2520] bg-surface-elevated px-4 py-2 text-sm font-semibold text-slate-800 shadow-lg transition-all hover:bg-surface-elevated hover:-translate-y-0.5",children:[e.jsx(Zt,{className:"w-4 h-4"}),e.jsx("span",{children:u==="de"?"Börsen":"Exchanges"})]}),e.jsxs("button",{onClick:()=>P(!0),className:l?"flex items-center gap-2 rounded-2xl border border-[#2A2520] bg-[#1A1714]/80 px-4 py-2 text-sm font-semibold text-white shadow-lg transition-all hover:bg-surface-elevated hover:-translate-y-0.5":"flex items-center gap-2 rounded-2xl border border-[#2A2520] bg-surface-elevated px-4 py-2 text-sm font-semibold text-slate-800 shadow-lg transition-all hover:bg-surface-elevated hover:-translate-y-0.5",children:[e.jsx(ut,{className:"w-4 h-4"}),e.jsx("span",{children:"Export"})]}),e.jsxs("button",{onClick:()=>Q(!0),className:l?"flex items-center gap-2 rounded-2xl border border-[#2A2520] bg-[#1A1714]/80 px-4 py-2 text-sm font-semibold text-white shadow-lg transition-all hover:bg-surface-elevated hover:-translate-y-0.5":"flex items-center gap-2 rounded-2xl border border-[#2A2520] bg-surface-elevated px-4 py-2 text-sm font-semibold text-slate-800 shadow-lg transition-all hover:bg-surface-elevated hover:-translate-y-0.5",children:[e.jsx(Pt,{className:"w-4 h-4"}),e.jsx("span",{children:"JSON Import"})]}),e.jsxs("button",{onClick:()=>{V(null),F(!0)},className:"flex items-center gap-2 rounded-2xl bg-gradient-to-r from-emerald-400 via-emerald-500 to-teal-500 px-4 py-2 text-sm font-semibold text-white shadow-lg shadow-emerald-500/40 hover:-translate-y-0.5",children:[e.jsx(qe,{className:"w-4 h-4"}),e.jsx("span",{children:u==="de"?"Trade hinzufügen":"Add Trade"})]})]})]}),e.jsx("div",{className:"rounded-2xl border p-2 backdrop-blur mt-1 ".concat(l?"border-[#2A2520] bg-[#1A1714]/80":"border-[#2A2520] bg-surface-elevated"),children:e.jsx("nav",{className:"flex flex-wrap gap-2","aria-label":"Tabs",children:Or.map(n=>{const v=n.icon,U=x===n.id;return e.jsxs("button",{onClick:()=>i(n.id),className:"\n flex flex-1 items-center justify-center gap-2 rounded-xl px-4 py-2 text-sm font-semibold transition whitespace-nowrap\n ".concat(U?"bg-gradient-to-r from-[#C9A96E] via-[#C9A96E] to-[#C9A96E] text-white shadow-lg":l?"text-white/70 hover:text-amber-200":"text-slate-600 hover:text-slate-900 hover:bg-surface-elevated","\n "),children:[e.jsx(v,{className:"w-4 h-4"}),e.jsx("span",{children:n.label[u]})]},n.id)})})})]})]})]}),e.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-4 mb-4",children:[{icon:Oe,label:u==="de"?"Trades Gesamt"
1:"Total Trades",value:Be.length,color:"text-amber-400"},{icon:Te,label:u==="de"?"Abgeschlossen":"Closed",value:Qe.length,color:"text-green-400"},{icon:Et,label:"Win Rate",value:"".concat(lr.toFixed(1),"%"),color:lr>=50?"text-emerald-400":"text-red-400"},{icon:Me,label:"Total P&L",value:"".concat(qt>=0?"+":"","$").concat(qt.toFixed(2)),color:qt>=0?"text-emerald-400":"text-red-400"}].map((n,v)=>{const U=n.icon;return e.jsx("div",{className:"relative overflow-hidden rounded-2xl border p-6 shadow-lg backdrop-blur-sm transition-all duration-300 hover:-translate-y-1 ".concat(l?"border-[#2A2520] bg-[#1A1714]/60 hover:bg-surface-elevated":"border-[#2A2520] bg-white/90 hover:bg-surface-elevated"),children:e.jsxs("div",{className:"relative z-10",children:[e.jsx(U,{className:"w-8 h-8 mb-3 ".concat(n.color)}),e.jsx("p",{className:"text-sm mb-1 ".concat(l?"text-amber-100":"text-slate-600"),children:n.label}),e.jsx("p",{className:"text-3xl font-bold ".concat(l?"text-white":"text-slate-900"),children:n.value})]})},v)})}),(x==="trades"||x==="dashboard"||x==="analysis"||x==="calendar")&&e.jsx("div",{className:"relative overflow-visible rounded-2xl border shadow-lg backdrop-blur-sm mb-2 p-6 ".concat(l?"border-[#2A2520] bg-[#1A1714]/80":"border-[#2A2520] bg-white/90"),children:e.jsxs("div",{className:"flex flex-col lg:flex-row gap-4",children:[e.jsxs("div",{className:"flex-1 relative",children:[e.jsx(la,{className:"absolute left-4 top-1/2 transform -translate-y-1/2 h-5 w-5 ".concat(l?"text-white/40":"text-slate-400")}),e.jsx("input",{type:"text",placeholder:u==="de"?"Suche nach Symbol, Strategie, Notizen...":"Search by symbol, strategy, notes...",value:H,onChange:n=>de(n.target.value),className:"w-full pl-12 pr-4 py-3 rounded-xl border focus:outline-none focus:ring-2 transition-all ".concat(l?"border-[#2A2520] bg-[#1A1714] text-white placeholder-white/40 focus:border-[#2A2520] focus:ring-bronze-500":"border-[#2A2520] bg-white text-slate-900 placeholder-slate-400 focus:border-[#2A2520] focus:ring-bronze-500")})]}),e.jsxs("div",{className:"flex flex-wrap gap-3",children:[e.jsx("div",{className:"relative time-range-dropdown-container",children:e.jsxs("button",{ref:pe,onClick:()=>fe(!ue),className:"flex items-center gap-2 px-4 py-3 rounded-xl border transition-all ".concat(l?"border-[#2A2520] bg-[#1A1714] text-white hover:bg-surface-elevated":"border-[#2A2520] bg-white text-slate-800 hover:bg-surface-elevated"),children:[e.jsx(Se,{className:"w-4 h-4"}),e.jsx("span",{className:"text-sm font-medium",children:ne==="allTime"?u==="de"?"Alle Zeit":"All Time":ne==="today"?u==="de"?"Heute":"Today":ne==="thisWeek"?u==="de"?"Diese Woche":"This Week":ne==="thisMonth"?u==="de"?"Dieser Monat":"This Month":ne==="last30Days"?u==="de"?"Letzte 30 Tage":"Last 30 Days":ne==="lastMonth"?u==="de"?"Letzter Monat":"Last Month":ne==="thisQuarter"?u==="de"?"Dieses Quartal":"This Quarter":ne==="ytd"?u==="de"?"Jahr":"Year to Date":u==="de"?"Benutzerdefiniert":"Custom"}),e.jsx(ze,{className:"w-4 h-4"})]})}),ue&&be&&typeof document<"u"&>.createPortal(e.jsxs("div",{"data-time-range-dropdown":!0,className:"fixed rounded-xl border backdrop-blur-sm shadow-xl z-[9999] p-2 max-h-[80vh] overflow-y-auto ".concat(l?"border-[#2A2520] bg-[#1A1714]":"border-[#2A2520] bg-white"),style:{top:"".concat(be.top,"px"),left:"".concat(be.left,"px"),width:"".concat(be.width,"px"),minWidth:"224px"},children:[["allTime","today","thisWeek","thisMonth","last30Days","lastMonth","thisQuarter","ytd","custom"].map(n=>e.jsx("button",{onClick:()=>{K(n),fe(!1),He(null)},className:"w-full text-left px-4 py-2 rounded-lg text-sm transition-colors ".concat(l?"hover:bg-surface-elevated ".concat(ne===n?"bg-transparent text-[#C9A96E]":"text-white"):"hover:bg-surface-elevated ".concat(ne===n?"bg-surface-elevated text-amber-900":"text-slate-700")),children:n==="allTime"?u==="de"?"Alle Zeit":"All Time":n==="today"?u==="de"?"Heute":"Today":n==="thisWeek"?u==="de"?"Diese Woche":"This Week":n==="thisMonth"?u==="de"?"Dieser Monat":"This Month":n==="last30Days"?u==="de"?"Letzte 30 Tage":"Last 30 Days":n==="lastMonth"?u==="de"?"Letzter Monat":"Last Month":n==="thisQuarter"?u==="de"?"Dieses Quartal":"This Quarter":n==="ytd"?u==="de"?"Jahr":"Year to Date":u==="de"?"Benutzerdefiniert":"Custom"},n)),ne==="custom"&&e.jsxs("div",{className:"mt-2 pt-2 border-t space-y-2 border-[#2A2520]",children:[e.jsx("input",{type:"date",value:ye.startDate,onChange:n=>Dt({...ye,startDate:n.target.value}),className:"w-full px-3 py-2 rounded-lg border border-[#2A2520] text-sm ".concat(l?"bg-[#1A1714] text-white placeholder-white/40":"bg-white text-slate-900 placeholder-slate-400"),placeholder:u==="de"?"Von":"From"}),e.jsx("input",{type:"date",value:ye.endDate,onChange:n=>Dt({...ye,endDate:n.target.value}),className:"w-full px-3 py-2 rounded-lg border border-[#2A2520] text-sm ".concat(l?"bg-[#1A1714] text-white placeholder-white/40":"bg-white text-slate-900 placeholder-slate-400"),placeholder:u==="de"?"Bis":"To"})]})]}),document.body),e.jsx("div",{className:"relative action-dropdown-container",children:e.jsxs("button",{ref:Kt,onClick:()=>Lt(!at),className:"flex items-center gap-2 px-4 py-3 rounded-xl border transition-all ".concat(l?"border-[#2A2520] bg-[#1A1714] text-white hover:bg-surface-elevated":"border-[#2A2520] bg-white text-slate-800 hover:bg-surface-elevated"),
1children:[e.jsx("span",{className:"text-sm font-medium",children:me==="all"?"ð "+(u==="de"?"Alle":"All"):me==="long"?"ð Long":"ð Short"}),e.jsx(ze,{className:"w-4 h-4"})]})}),at&&vt&&typeof document<"u"&>.createPortal(e.jsx("div",{"data-action-dropdown":!0,className:"fixed rounded-xl border backdrop-blur-sm shadow-xl z-[9999] p-2 ".concat(l?"border-[#2A2520] bg-[#1A1714]":"border-[#2A2520] bg-white"),style:{top:"".concat(vt.top,"px"),left:"".concat(vt.left,"px"),width:"".concat(vt.width,"px"),minWidth:"200px"},children:["all","long","short"].map(n=>e.jsx("button",{onClick:()=>{Ee(n),Lt(!1),Qt(null)},className:"w-full text-left px-4 py-2 rounded-lg text-sm transition-colors ".concat(l?"hover:bg-surface-elevated ".concat(me===n?"bg-transparent text-[#C9A96E]":"text-white"):"hover:bg-surface-elevated ".concat(me===n?"bg-surface-elevated text-amber-900":"text-slate-700")),children:n==="all"?"ð "+(u==="de"?"Alle":"All"):n==="long"?"ð Long":"ð Short"},n))}),document.body),e.jsx("div",{className:"relative strategy-dropdown-container",children:e.jsxs("button",{ref:er,onClick:()=>Xt(!wt),className:"flex items-center gap-2 px-4 py-3 rounded-xl border transition-all ".concat(l?"border-[#2A2520] bg-[#1A1714] text-white hover:bg-surface-elevated":"border-[#2A2520] bg-white text-slate-800 hover:bg-surface-elevated"),children:[e.jsx("span",{className:"text-sm font-medium",children:xe.length===0?"ð¯ "+(u==="de"?"Alle Strategien":"All Strategies"):xe.length===1?"ð¯ "+(((cr=Rt.find(n=>n.id===xe[0]))==null?void 0:cr.name)||De(xe[0])||xe[0]):"ð¯ ".concat(xe.length," ").concat(u==="de"?"Strategien":"Strategies")}),e.jsx(ze,{className:"w-4 h-4"})]})}),wt&&jt&&typeof document<"u"&>.createPortal(e.jsxs("div",{"data-strategy-dropdown":!0,className:"fixed rounded-xl border backdrop-blur-sm shadow-xl z-[9999] p-2 max-h-[60vh] overflow-y-auto ".concat(l?"border-[#2A2520] bg-[#1A1714]":"border-[#2A2520] bg-white"),style:{top:"".concat(jt.top,"px"),left:"".concat(jt.left,"px"),width:"".concat(jt.width,"px"),minWidth:"250px"},children:[e.jsxs("div",{className:"flex items-center justify-between px-2 pb-2 mb-1 border-b border-[#2A2520]",children:[e.jsx("span",{className:"text-xs ".concat(l?"text-white/50":"text-slate-500"),children:u==="de"?"Mehrfachauswahl möglich":"Multiple selection possible"}),xe.length>0&&e.jsx("button",{onClick:()=>Ne([]),className:"text-xs transition-colors ".concat(l?"text-amber-400 hover:text-amber-300":"text-amber-600 hover:text-amber-700"),children:u==="de"?"Zurücksetzen":"Reset"})]}),[...Rt.map(n=>({id:n.id,name:n.name})),...Array.from(new Set(Be.map(n=>n.strategy).filter(n=>n&&!Rt.find(v=>v.id===n)&&!Ht.find(v=>v.value===n)))).map(n=>({id:n,name:De(n)||n}))].map(n=>{const v=xe.includes(n.id);return e.jsxs("button",{onClick:()=>{Ne(U=>v?U.filter(se=>se!==n.id):[...U,n.id])},className:"w-full flex items-center gap-3 text-left px-3 py-2 rounded-lg text-sm transition-colors ".concat(l?"hover:bg-surface-elevated ".concat(v?"bg-transparent":""," text-white"):"hover:bg-surface-elevated ".concat(v?"bg-surface-elevated":""," text-slate-700")),children:[e.jsx("div",{className:"w-4 h-4 rounded border flex items-center justify-center flex-shrink-0 transition-colors ".concat(v?"bg-[#C9A96E] border-[#C9A96E]":"border-[#2A2520]"),children:v&&e.jsx("svg",{className:"w-3 h-3 text-white",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:3,children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M5 13l4 4L19 7"})})}),e.jsx("span",{className:v?l?"text-[#C9A96E]":"text-amber-900":"",children:n.name})]},n.id)})]}),document.body),e.jsx("div",{className:"relative status-dropdown-container",children:e.jsxs("button",{ref:tr,onClick:()=>Ft(!yt),className:"flex items-center gap-2 px-4 py-3 rounded-xl border transition-all ".concat(l?"border-[#2A2520] bg-[#1A1714] text-white hover:bg-surface-elevated":"border-[#2A2520] bg-white text-slate-800 hover:bg-surface-elevated"),children:[e.jsx("span",{className:"text-sm font-medium",children:he==="all"?"ð "+(u==="de"?"Alle Status":"All Status"):he==="planned"?"ð "+(u==="de"?"Geplant":"Planned"):he==="open"?"ð¢ "+(u==="de"?"Offen":"Open"):"ð "+(u==="de"?"Geschlossen":"Closed")}),e.jsx(ze,{className:"w-4 h-4"})]})}),yt&&kt&&typeof document<"u"&>.createPortal(e.jsx("div",{"data-status-dropdown":!0,className:"fixed rounded-xl border backdrop-blur-sm shadow-xl z-[9999] p-2 ".concat(l?"border-[#2A2520] bg-[#1A1714]":"border-[#2A2520] bg-white"),style:{to
1p:"".concat(kt.top,"px"),left:"".concat(kt.left,"px"),width:"".concat(kt.width,"px"),minWidth:"200px"},children:["all","planned","open","closed"].map(n=>e.jsx("button",{onClick:()=>{Ye(n),Ft(!1),rr(null)},className:"w-full text-left px-4 py-2 rounded-lg text-sm transition-colors ".concat(l?"hover:bg-surface-elevated ".concat(he===n?"bg-transparent text-[#C9A96E]":"text-white"):"hover:bg-surface-elevated ".concat(he===n?"bg-surface-elevated text-amber-900":"text-slate-700")),children:n==="all"?"ð "+(u==="de"?"Alle Status":"All Status"):n==="planned"?"ð "+(u==="de"?"Geplant":"Planned"):n==="open"?"ð¢ "+(u==="de"?"Offen":"Open"):"ð "+(u==="de"?"Geschlossen":"Closed")},n))}),document.body),e.jsx("div",{className:"relative emotion-dropdown-container",children:e.jsxs("button",{ref:ar,onClick:()=>_t(!Nt),className:"flex items-center gap-2 px-4 py-3 rounded-xl border transition-all ".concat(l?"border-[#2A2520] bg-[#1A1714] text-white hover:bg-surface-elevated":"border-[#2A2520] bg-white text-slate-800 hover:bg-surface-elevated"),children:[e.jsx("span",{className:"text-sm font-medium",children:ve==="all"?"ð "+(u==="de"?"Alle Emotionen":"All Emotions"):Fe.find(n=>n.value===ve)?Fe.find(n=>n.value===ve).emoji+" "+Fe.find(n=>n.value===ve).label[u]:ve}),e.jsx(ze,{className:"w-4 h-4"})]})}),Nt&&At&&typeof document<"u"&>.createPortal(e.jsxs("div",{"data-emotion-dropdown":!0,className:"fixed rounded-xl border backdrop-blur-sm shadow-xl z-[9999] p-2 max-h-[60vh] overflow-y-auto ".concat(l?"border-[#2A2520] bg-[#1A1714]":"border-[#2A2520] bg-white"),style:{top:"".concat(At.top,"px"),left:"".concat(At.left,"px"),width:"".concat(At.width,"px"),minWidth:"200px"},children:[e.jsxs("button",{onClick:()=>{Je("all"),_t(!1),Mt(null)},className:"w-full text-left px-4 py-2 rounded-lg text-sm transition-colors ".concat(l?"hover:bg-surface-elevated ".concat(ve==="all"?"bg-transparent text-[#C9A96E]":"text-white"):"hover:bg-surface-elevated ".concat(ve==="all"?"bg-surface-elevated text-amber-900":"text-slate-700")),children:["ð ",u==="de"?"Alle Emotionen":"All Emotions"]}),Fe.map(n=>e.jsxs("button",{onClick:()=>{Je(n.value),_t(!1),Mt(null)},className:"w-full text-left px-4 py-2 rounded-lg text-sm transition-colors ".concat(l?"hover:bg-surface-elevated ".concat(ve===n.value?"bg-transparent text-[#C9A96E]":"text-white"):"hover:bg-surface-elevated ".concat(ve===n.value?"bg-surface-elevated text-amber-900":"text-slate-700")),children:[n.emoji," ",n.label[u]]},n.value))]}),document.body)]})]})}),e.jsx("div",{className:"space-y-6",children:$r?e.jsx("div",{className:"relative overflow-hidden rounded-3xl border border-[#2A2520] bg-white/70 dark:bg-[#0f0d0a]/90 p-16 shadow-lg backdrop-blur-lg",children:e.jsxs("div",{className:"flex flex-col items-center justify-center",children:[e.jsx("div",{className:"inline-flex items-center justify-center w-16 h-16 rounded-full bg-gradient-to-br from-[#1A1714] to-[#2A2520] mb-4 animate-pulse",children:e.jsx(Oe,{className:"w-8 h-8 text-white"})}),e.jsx("p",{className:"text-gray-600 dark:text-amber-200/90",children:u==="de"?"Lade Daten...":"Loading data..."})]})}):sr?e.jsx("div",{className:"relative overflow-hidden rounded-3xl border border-red-200 dark:border-red-700/30 bg-white/70 dark:bg-[#0f0d0a]/90 p-8 shadow-lg backdrop-blur-lg",children:e.jsxs("div",{className:"text-center text-red-600 dark:text-red-400",children:[e.jsx("p",{className:"text-lg font-semibold mb-2",children:u==="de"?"Fehler beim Laden":"Error loading data"}),e.jsx("p",{className:"text-sm",children:sr})]})}):e.jsxs(e.Fragment,{children:[x==="dashboard"&&e.jsx(ka,{entries:et,partialProfits:Ce,rebuys:Ze,onEditTrade:ot,onDeleteTrade:it,onCloseTrade:n=>{A(n),J(!0)},onManagePartialProfits:n=>{E(n),k(!0)},onShowTimeline:n=>{X(n),ae(!0)},onShowTradeDetails:ct,onGenerateScreenshot:ir,getStrategyName:De}),x==="analysis"&&e.jsx(ja,{entries:et,partialProfits:Ce,getStrategyName:De}),x==="calendar"&&e.jsx(ya,{entries:et,partialProfits:Ce,getStrategyName:De,onShowTradeDetails:ct}),x==="strategies"&&e.jsx("div",{className:"relative overflow-hidden rounded-3xl border p-8 backdrop-blur-lg border-[#2A2520] bg-white/70 dark:bg-[#0f0d0a]/90 shadow-[0_20px_60px_-24px_rgba(153,125,65,0.2)]",children:e.jsx(Qr,{})}),x==="trades"&&e.jsxs(e.Fragment,{children:[zt.length>0&&e.jsxs("div",{className:"relative overflow-hidden rounded-3xl border-2 shadow-lg backdrop-blur-sm border-[#2A2520] dark:border-[#2A2520] bg-gradient-to-br from-[#1A1714] via-[#1A1714] to-[#2A2520] dark:from-[#1A1714] dark:via-[#1A1714] dark:to-[#2A2520]",children:[e.jsxs("div",{className:"relative z-10 flex items-center justify-between p-6 cursor-pointer transition-all duration-300 hover:bg-surface-elevated dark:hover:bg-transparent",onClick:()=>j(!h),children:[e.jsxs("h3",{className:"text-2xl font-bold flex items-center gap-3 text-amber-800 dark:text-amber-200",children:[e.jsx("span",{children:"ð"}),u==="de"?"Geplante Trades":"Planned Trades"," (",zt.length,")"]}),h?e.jsx(bt,{className:"w-6 h-6 text-amber-500"}):e.jsx(ze,{className:"w-6 h-6 text-amber-500"})]}),h&&e.jsx("div",{className:"p-6 pt-0 grid grid-cols-1 lg:grid-cols-2 gap-6",children:zt.map(n=>
1e.jsx(_a,{entry:n,onEdit:ot,onDelete:it,onShowDetails:ct,getStrategyName:De},n.id))})]}),Ot.length>0&&e.jsxs("div",{className:"relative overflow-hidden rounded-3xl border-2 border-green-200/50 dark:border-green-700/30 bg-gradient-to-br from-green-50 via-emerald-50 to-teal-50 dark:from-green-900/20 dark:via-emerald-900/20 dark:to-teal-900/20 shadow-lg backdrop-blur-sm",children:[e.jsxs("div",{className:"relative z-10 flex items-center justify-between p-6 cursor-pointer hover:bg-green-50/50 dark:hover:bg-green-900/10 transition-all duration-300",onClick:()=>y(!f),children:[e.jsxs("h3",{className:"text-2xl font-bold text-green-800 dark:text-green-200 flex items-center gap-3",children:[e.jsx("span",{children:"ð"}),u==="de"?"Offene Trades":"Open Trades"," (",Ot.length,")"]}),f?e.jsx(bt,{className:"w-6 h-6 text-green-500"}):e.jsx(ze,{className:"w-6 h-6 text-green-500"})]}),f&&e.jsx("div",{className:"p-6 pt-0 grid grid-cols-1 lg:grid-cols-2 gap-6",children:Ot.map(n=>e.jsx(Na,{entry:n,partialProfits:Ce[n.id]||[],rebuys:Ze[n.id]||[],onEdit:ot,onDelete:it,onManageRebuys:Wr,onClose:v=>{A(v),J(!0)},onManagePartialProfits:Gr,onShowTimeline:v=>{X(v),ae(!0)},onShowDetails:ct,getStrategyName:De},n.id))})]}),Qe.length>0&&e.jsxs("div",{className:"relative overflow-hidden rounded-3xl border-2 shadow-lg backdrop-blur-sm border-gray-200/50 dark:border-[#2A2520] bg-white/70 dark:bg-[#0f0d0a]/90",children:[e.jsxs("div",{className:"relative z-10 flex items-center justify-between p-6 cursor-pointer transition-all duration-300 hover:bg-gray-50/50 dark:hover:bg-surface-elevated",onClick:()=>$(!w),children:[e.jsxs("h3",{className:"text-2xl font-bold flex items-center gap-3 text-gray-800 dark:text-amber-100",children:[e.jsx("span",{children:"ð"}),u==="de"?"Abgeschlossene Trades":"Closed Trades"," (",Qe.length,")"]}),w?e.jsx(bt,{className:"w-6 h-6 text-amber-400"}):e.jsx(ze,{className:"w-6 h-6 text-amber-400"})]}),w&&e.jsx("div",{className:"p-6 pt-0 grid grid-cols-1 lg:grid-cols-2 gap-6",children:Qe.map(n=>e.jsx(Aa,{entry:n,partialProfits:Ce[n.id]||[],rebuys:Ze[n.id]||[],onEdit:ot,onDelete:it,onShowTimeline:v=>{X(v),ae(!0)},onShowDetails:ct,onGenerateScreenshot:ir,getStrategyName:De},n.id))})]}),Be.length===0&&e.jsx("div",{className:"relative overflow-hidden rounded-3xl border border-[#2A2520] bg-white/70 dark:bg-[#0f0d0a]/90 p-16 shadow-lg backdrop-blur-lg",children:e.jsxs("div",{className:"text-center",children:[e.jsx("div",{className:"w-24 h-24 bg-gradient-to-br from-gray-100 to-gray-200 dark:from-[#1A1714] dark:to-[#1A1714] rounded-3xl flex items-center justify-center mx-auto mb-6 shadow-xl",children:e.jsx(Oe,{className:"w-12 h-12 text-gray-400 dark:text-amber-400/80"})}),e.jsx("h3",{className:"text-2xl font-bold text-gray-800 dark:text-amber-100 mb-2",children:u==="de"?"Keine Trades gefunden":"No trades found"}),e.jsx("p",{className:"text-gray-600 dark:text-amber-200/90 mb-6",children:u==="de"?"Füge deinen ersten Trade hinzu um zu starten!":"Add your first trade to get started!"}),e.jsxs("button",{onClick:()=>{V(null),F(!0)},className:"inline-flex items-center gap-2 px-6 py-3 bg-gradient-to-r from-[#C9A96E] via-[#C9A96E] to-[#C9A96E] text-white rounded-xl font-semibold hover:shadow-lg transition-all duration-300",children:[e.jsx(qe,{className:"w-5 h-5"}),u==="de"?"Trade hinzufügen":"Add Trade"]})]})})]})]})})]}),e.jsx(oa,{isOpen:T,onClose:()=>{F(!1),V(null)},onSubmit:n=>B?Vr(B.id,n):Br(n),editingEntry:B,onAfterSave:async()=>{await $e()},templateTrades:B?[]:[...Be].sort((n,v)=>new Date(v.date).getTime()-new Date(n.date).getTime()).slice(0,10),templateRebuysByEntryId:Ze}),e.jsx(ca,{isOpen:_,onClose:()=>{J(!1),A(null)},onSubmit:Ur,entry:C,partialProfits:C?Ce[C.id]||[]:[]}),e.jsx(xa,{isOpen:G,onClose:()=>{k(!1),E(null)},entry:R,partialProfits:R?Ce[R.id]||[]:[],onAdd:Lr,onDelete:Fr,onCollect:Mr,onRefresh:async()=>{if(R){await St(R.id);const{data:n}=await Z.from("trading_journal_entries").select("*").eq("id",R.id).eq("user_id",r==null?void 0:r.id).single();n&&E(n)}await $e()}}),e.jsx(jr,{isOpen:L,onClose:()=>{s(!1),c(null)},entry:d,rebuys:d?Ze[d.id]||[]:[],onRefresh:async()=>
1{if(d){await Ke(d.id);const{data:n}=await Z.from("trading_journal_entries").select("*").eq("id",d.id).eq("user_id",r==null?void 0:r.id).single();n&&c(n)}await $e()}}),e.jsx(ma,{isOpen:N,onClose:()=>P(!1),entries:et,getStrategyName:De,rebuys:Ze,partialProfits:Ce}),e.jsx(ha,{isOpen:p,onClose:()=>z(!1)}),e.jsx(pa,{isOpen:M,onClose:()=>Q(!1),onImportComplete:$e}),re&&q&&e.jsx(va,{isOpen:re,onClose:()=>{ae(!1),X(null)},entry:q,partialProfits:Ce[q.id]||[],rebuys:Ze[q.id]||[]}),ge&&e.jsx("div",{className:"fixed inset-0 bg-black/80 z-[100] flex items-center justify-center p-4",children:e.jsxs("div",{className:"relative bg-white dark:bg-[#0f0d0a] rounded-3xl max-w-5xl w-full max-h-[90vh] overflow-hidden shadow-2xl border border-gray-200 dark:border-[#2A2520]",children:[e.jsx("button",{onClick:()=>ce(!1),className:"absolute top-4 right-4 z-10 p-3 bg-black/50 hover:bg-black/70 text-white rounded-full transition-colors",children:e.jsx(Pe,{className:"h-6 w-6"})}),e.jsx("div",{className:"relative w-full",style:{paddingBottom:"56.25%"},children:D?e.jsx("iframe",{className:"absolute inset-0 w-full h-full",src:zr,title:"Trading Journal Tutorial",frameBorder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowFullScreen:!0}):a?e.jsx("video",{className:"absolute inset-0 w-full h-full object-contain bg-black",controls:!0,autoPlay:!0,muted:!0,playsInline:!0,preload:"auto",src:a,onError:()=>O(!0),children:u==="de"?"Video wird geladenâ¦":"Video loadingâ¦"}):e.jsx("div",{className:"absolute inset-0 flex items-center justify-center bg-black/50 text-white",children:u==="de"?"Video wird geladenâ¦":"Loading videoâ¦"})}),e.jsxs("div",{className:"p-6 bg-gradient-to-r from-[#1A1714] to-[#2A2520]",children:[e.jsx("h3",{className:"text-xl font-bold text-white mb-2",children:"Trading Journal Tutorial"}),e.jsx("p",{className:"text-white/80 text-sm",children:u==="de"?"Lerne wie du das Trading Journal effektiv nutzt und deine Trades analysierst.":"Learn how to effectively use the Trading Journal and analyze your trades."})]})]})}),e.jsx(wa,{isOpen:le,onClose:()=>{oe(!1),te(null)},entryId:I,onDelete:async n=>{await it(n.id),oe(!1),te(null)},onEdit:n=>{oe(!1),te(null),ot(n)}})]})},gs=Object.freeze(Object.defineProperty({__proto__:null,default:Sa},Symbol.toStringTag,{value:"Module"}));export{Sa as T,gs as a,da as u};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.