1import{d4 as q,ax as H,aJ as B,r as i,eN as U,eP as Y,eQ as G,e2 as $,j as e,L as z,K as S,cS as Q,cT as W,cU as C,h as J,V as I,cV as T,as as x,b7 as F,cf as K,cg as _,ch as X,ci as Z,cj as h,e3 as ee,N as te,b5 as se,b as ae,aI as b}from"./index-CpeGhXo5.js";import{a as le}from"./Panel-Cf_wAUzv.js";import{s as re}from"./financeMappers-CUv1G2pV.js";import{u as de}from"./useCurrencyHelpers-D5hUvgaW.js";import"./currency-CACMzR5Q.js";const ne=["Equity","Mutual Fund","Fixed Deposit","Real Estate","Bonds","Crypto","Precious Metals / Gold"];function ue(){const f=q(),A=H(),[V]=B(),d=V.get("editId")||void 0,[g,v]=i.useState(!1),[j,m]=i.useState("details"),{activeCurrency:P,sym:N,fmtConv:ie}=de(),{data:k}=U({limit:500}),[O]=Y(),[D]=G(),p=i.useMemo(()=>(k?.items??[]).map(re),[k]),[s,l]=i.useState({name:"",type:"Mutual Fund",investedOn:$(!0),invested:"",currentValue:"",status:"Active",folioNo:"",notes:""}),[n,y]=i.useState({});i.useEffect(()=>{if(d&&p.length>0){const t=p.find(a=>a.id===d);t&&l({name:t.name,type:t.type,investedOn:t.date||new Date().toISOString().split("T")[0],invested:t.invested.toString(),currentValue:t.currentValue.toString(),status:t.status,folioNo:"",notes:""})}},[d,p]);const r=parseFloat(s.invested)||0,u=parseFloat(s.currentValue)||r,o=u-r,c=r>0?(u-r)/r*100:0,L=()=>{const t={};return s.name.trim()||(t.name="Investment asset name is required"),s.type||(t.type="Select an asset type"),s.investedOn||(t.investedOn="Acquisition date & time is required"),y(t),Object.keys(t).length>0?(b.error("Please fill all required asset details before proceeding"),!1):!0},R=()=>{L()&&m("valuation")},E=()=>{const t={};return s.name.trim()||(t.name="Investment asset name is required"),s.type||(t.type="Select an asset type"),(!s.invested||parseFloat(s.invested)<=0)&&(t.invested="Enter invested capital greater than 0"),y(t),(t.name||t.type)&&m("details"),Object.keys(t).length===0},M=async t=>{if(t&&t.preventDefault(),!E()){b.error("Please complete all required fields.");return}v(!0);const a={name:s.name,type:s.type,date:s.investedOn||new Date().toISOString().split("T")[0],invested:r,currentValue:u,roi:c,status:s.status};try{d?(await D({id:d,body:a}).unwrap(),b.success(`Investment asset ${s.name} updated successfully!`)):(await O(a).unwrap(),b.success(`Investment asset ${s.name} logged to portfolio!`)),A(`${f}/investments`)}catch(w){b.error(w?.data?.message||w?.message||"Failed to save investment asset")}finally{v(!1)}};return e.jsxs("div",{className:"w-full flex-1 flex flex-col bg-slate-50/50 dark:bg-slate-950/50",children:[e.jsx("div",{className:"px-6 py-4 border-b border-slate-200 dark:border-slate-800 bg-white dark:bg-slate-900",children:e.jsx(le,{title:d?"Edit Investment Asset":"New Investment Asset",subtitle:"Record corporate wealth investments, equities, mutual funds, and track portfolio yield performance",accent:"mod-invest",actions:e.jsxs(z,{to:`${f}/investments`,className:"h-8 px-3 rounded-md border border-slate-200 dark:border-slate-800 bg-white dark:bg-slate-900 hover:bg-slate-50 dark:hover:bg-slate-800 text-xs font-semibold text-slate-700 dark:text-slate-200 inline-flex items-center gap-1.5 transition-colors shadow-2xs",children:[e.jsx(S,{className:"w-3.5 h-3.5"})," Back to Investments"]})})}),e.jsxs(Q,{value:j,onValueChange:t=>m(t),className:"w-full flex-1 flex flex-col",children:[e.jsxs("div",{className:"px-6 border-b border-slate-200 dark:border-slate-800 bg-slate-50/70 dark:bg-slate-900/70 flex items-center justify-between",children:[e.jsxs(W,{className:"h-auto p-0 bg-transparent gap-8",children:[e.jsxs(C,{value:"details",className:"rounded-none border-b-2 border-transparent data-[state=active]:border-blue-600 dark:data-[state=active]:border-blue-400 data-[state=active]:bg-transparent data-[state=active]:text-blue-600 dark:data-[state=active]:text-blue-400 text-slate-600 dark:text-slate-400 hover:text-slate-900 dark:hover:text-slate-200 text-xs font-bold px-0 py-3 shadow-none transition-all cursor-pointer flex items-center gap-2",children:[e.jsx(J,{className:"w-3.5 h-3.5 text-blue-600"}),e.jsx("span",{children:"1. Particulars & Folio Details"})]}),e.jsxs(C,{value:"valuation",className:"rounded-none border-b-2 border-transparent data-[state=active]:border-blue-600 dar
1k:data-[state=active]:border-blue-400 data-[state=active]:bg-transparent data-[state=active]:text-blue-600 dark:data-[state=active]:text-blue-400 text-slate-600 dark:text-slate-400 hover:text-slate-900 dark:hover:text-slate-200 text-xs font-bold px-0 py-3 shadow-none transition-all cursor-pointer flex items-center gap-2",children:[e.jsx(I,{className:"w-3.5 h-3.5 text-emerald-600"}),e.jsx("span",{children:"2. Valuation, Yield & Review"})]})]}),e.jsx("div",{className:"flex items-center gap-3",children:e.jsx("span",{className:"text-[11px] font-semibold text-slate-500",children:j==="details"?"Step 1 of 2: Asset Identification & Folio":"Step 2 of 2: Capital Valuation & Clearance"})})]}),e.jsxs("div",{className:"w-full flex-1 grid grid-cols-1 lg:grid-cols-12 gap-0 bg-white dark:bg-slate-900",children:[e.jsx("div",{className:"lg:col-span-9 p-6 border-b lg:border-b-0 lg:border-r border-slate-200 dark:border-slate-800 space-y-6 flex flex-col justify-between",children:e.jsxs("form",{onSubmit:M,className:"space-y-6",children:[e.jsxs(T,{value:"details",className:"space-y-6 mt-0",children:[e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"flex items-center gap-2 pb-1.5 border-b border-slate-100 dark:border-slate-800/80",children:[e.jsx("span",{className:"w-2 h-2 rounded-full bg-blue-600 dark:bg-blue-400 shrink-0"}),e.jsx("h3",{className:"text-xs font-bold text-slate-800 dark:text-slate-200 uppercase tracking-wider",children:"Investment Classification"})]}),e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[e.jsxs("div",{className:"md:col-span-2",children:[e.jsxs("label",{className:"text-xs font-semibold text-slate-700 dark:text-slate-300 block mb-1",children:["Investment Asset / Fund Name ",e.jsx("span",{className:"text-rose-500",children:"*"})]}),e.jsx("input",{type:"text",value:s.name,onChange:t=>l({...s,name:t.target.value}),placeholder:"e.g. HDFC Top 100 Bluechip Fund or Treasury Fixed Deposit",className:x("w-full h-9 px-3 rounded-lg border bg-white dark:bg-slate-900 text-xs font-medium focus:ring-2 focus:ring-blue-600 outline-none",n.name?"border-rose-500 ring-1 ring-rose-500":"border-slate-200 dark:border-slate-800")}),n.name&&e.jsx("span",{className:"text-[10px] text-rose-500 mt-1 block",children:n.name})]}),e.jsxs("div",{children:[e.jsxs("label",{className:"text-xs font-semibold text-slate-700 dark:text-slate-300 block mb-1",children:["Asset Class / Portfolio Category ",e.jsx("span",{className:"text-rose-500",children:"*"})]}),e.jsx(F,{options:ne.map(t=>({value:t,label:t})),value:s.type,onChange:t=>l(a=>({...a,type:t})),placeholder:"Select asset class",className:"h-9 text-xs"})]}),e.jsxs("div",{children:[e.jsx("label",{className:"text-xs font-semibold text-slate-700 dark:text-slate-300 block mb-1",children:"Investment Status"}),e.jsxs(K,{value:s.status,onValueChange:t=>l(a=>({...a,status:t})),children:[e.jsx(_,{className:"h-9 text-xs font-medium",children:e.jsx(X,{})}),e.jsxs(Z,{children:[e.jsx(h,{value:"Active",className:"text-xs font-medium",children:"Active Holding"}),e.jsx(h,{value:"Matured",className:"text-xs font-medium",children:"Matured"}),e.jsx(h,{value:"Exited",className:"text-xs font-medium",children:"Exited / Liquidated"})]})]})]})]})]}),e.jsxs("div",{className:"space-y-3 pt-2",children:[e.jsxs("div",{className:"flex items-center gap-2 pb-1.5 border-b border-slate-100 dark:border-slate-800/80",children:[e.jsx("span",{className:"w-2 h-2 rounded-full bg-purple-600 dark:bg-purple-400 shrink-0"}),e.jsx("h3",{className:"text-xs font-bold text-slate-800 dark:text-slate-200 uppercase tracking-wider",children:"Acquisition Timeline & Folio Credentials"})]}),e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[e.jsxs("div",{children:[e.jsxs("label",{className:"text-xs font-semibold text-slate-700 dark:text-slate-300 block mb-1",children:["Acquisition Date & Time ",e.jsx("span",{className:"text-rose-500",children:"*"})]}),e.jsx(ee,{value:s.investedOn,onChange:t=>l(a=>({...a,investedOn:t})),showTime:!0,placeholder:"Select Date & Time",className:"h-9 text-xs font-semibold"})]}),e.jsxs("div",{children:[e.jsx("label",{className:"text-xs font-semibold text-slate-700 dark:text-slate-300 block mb-1",children:"Folio No. / Certificate Reference"}),e.jsx("input",{type:"text",value:s.folioNo,onChange:t=>l({...s,folioNo:t.target.value}),placeholder:"e.g. FOLIO-992019 / CERT-401",className:"w-full h-9 px-3 rounded-lg border border-slate-200 dark:border-slate-800 bg-white dark:bg-slate-900 text-xs font-mono outline-none"})]}),e.jsxs("div",{className:"md:col-span-2",children:[e.jsx("label",{className:"text-xs font-semibold text-slate-700 dark:text-slate-300 block mb-1",children:"Holding Notes & Investment Thesis"}),e.jsx("input",{type:"text",value:s.notes,onChange:t=>l({...s,notes:t.target.value}),placeholder:"e.g. Strategic corporate reserve fund with dividend reinvestment",className:"w-full h-9 px-3 rounded-lg border border-slate-200 dark:border-slate-800 bg-white dark:bg-slate-900 text-xs font-medium outline-none"})]})]})]}),e.jsx("div",{className:"flex justify-end pt-4 border-t border-slate-200 dark:border-slate-800",children:e.jsxs("button",{type:"button",onClick:R,className:"h-9 px-5 rounded-lg bg-blue-600 hover:bg-blue-700 text-white text-xs font-semibold inline-flex items-center gap-1.5 shadow-2xs transition-colors cursor-pointer",children:["Next: Valuation & Yield ",e.jsx(te,{className:"w-3.5 h-3.5"})]})})]}),e.jsxs(T,{value:"valuation",className:"space-y-6 mt-0",children:[e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"flex items-center gap-2 pb-1.5 border-b border-slate-100 dar
1k:border-slate-800/80",children:[e.jsx("span",{className:"w-2 h-2 rounded-full bg-emerald-600 dark:bg-emerald-400 shrink-0"}),e.jsx("h3",{className:"text-xs font-bold text-slate-800 dark:text-slate-200 uppercase tracking-wider",children:"Capital Valuation & ROI Metrics"})]}),e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[e.jsxs("div",{children:[e.jsxs("label",{className:"text-xs font-semibold text-slate-700 dark:text-slate-300 block mb-1",children:["Invested Capital (â¹) ",e.jsx("span",{className:"text-rose-500",children:"*"})]}),e.jsx("input",{type:"number",value:s.invested,onChange:t=>l({...s,invested:t.target.value}),placeholder:"0.00",className:x("w-full h-9 px-3 rounded-lg border bg-white dark:bg-slate-900 text-xs font-data font-bold focus:ring-2 focus:ring-blue-600 outline-none",n.invested?"border-rose-500 ring-1 ring-rose-500":"border-slate-200 dark:border-slate-800")}),n.invested&&e.jsx("span",{className:"text-[10px] text-rose-500 mt-1 block",children:n.invested})]}),e.jsxs("div",{children:[e.jsx("label",{className:"text-xs font-semibold text-slate-700 dark:text-slate-300 block mb-1",children:"Current Market Valuation (â¹)"}),e.jsx("input",{type:"number",value:s.currentValue,onChange:t=>l({...s,currentValue:t.target.value}),placeholder:s.invested?s.invested:"0.00",className:"w-full h-9 px-3 rounded-lg border border-slate-200 dark:border-slate-800 bg-white dark:bg-slate-900 text-xs font-data font-bold text-emerald-600 focus:ring-2 focus:ring-blue-600 outline-none"})]})]}),r>0&&e.jsxs("div",{className:"p-4 bg-slate-50 dark:bg-slate-800/60 rounded-xl space-y-2.5 border border-slate-100 dark:border-slate-800 text-xs",children:[e.jsxs("div",{className:"flex justify-between items-center",children:[e.jsx("span",{className:"text-slate-500",children:"Unrealized Capital Gain / Loss:"}),e.jsxs("span",{className:x("font-data font-bold",o>=0?"text-emerald-600":"text-rose-600"),children:[o>=0?"+ ":"- ","â¹ ",Math.abs(o).toLocaleString("en-IN")]})]}),e.jsxs("div",{className:"flex justify-between items-center pt-2 border-t border-slate-200 dark:border-slate-700",children:[e.jsx("span",{className:"font-bold text-slate-700 dark:text-slate-300",children:"Absolute Portfolio Return (ROI %):"}),e.jsxs("span",{className:x("font-data font-black text-sm",c>=0?"text-emerald-600":"text-rose-600"),children:[c>=0?"â² +":"â¼ ",c.toFixed(2),"%"]})]})]})]}),e.jsxs("div",{className:"space-y-3 pt-2",children:[e.jsxs("div",{className:"flex items-center gap-2 pb-1.5 border-b border-slate-100 dark:border-slate-800/80",children:[e.jsx("span",{className:"w-2 h-2 rounded-full bg-blue-600 dark:bg-blue-400 shrink-0"}),e.jsx("h3",{className:"text-xs font-bold text-slate-800 dark:text-slate-200 uppercase tracking-wider",children:"Audit Trail & Portfolio Clearance"})]}),e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[e.jsxs("div",{className:"p-4 bg-slate-50/70 dark:bg-slate-800/40 rounded-xl border border-slate-200 dark:border-slate-800 space-y-3",children:[e.jsx("span",{className:"text-[11px] font-bold text-slate-500 uppercase tracking-wider block",children:"1. Asset Lifecycle Timeline"}),e.jsxs("div",{className:"relative pl-6 space-y-3 before:absolute before:left-2 before:top-2 before:bottom-2 before:w-0.5 before:bg-slate-200 dark:before:bg-slate-700",children:[e.jsxs("div",{className:"relative",children:[e.jsx("span",{className:"absolute -left-6 top-0 w-4 h-4 rounded-full bg-emerald-500 text-white flex items-center justify-center text-[10px] font-bold",children:"â"}),e.jsx("div",{className:"text-xs font-semibold text-slate-800 dark:text-slate-200",children:"Asset Registered in Wealth Portfolio"}),e.jsx("p",{className:"text-[11px] text-slate-400",children:"Recorded by Investment Lead (Sarbjit Singh) ⢠Today"})]}),e.jsxs("div",{className:"relative",children:[e.jsx("span",{className:"absolute -left-6 top-0 w-4 h-4 rounded-full bg-blue-500 text-white flex items-center justify-center text-[10px] font-bold",children:"i"}),e.jsx("div",{className:"text-xs font-semibold text-slate-800 dark:text-slate-200",children:"Valuation & NAV Sync Verified"}),e.jsxs("p",{className:"text-[11px] text-slate-400",children:["Folio: ",s.folioNo||"Direct Treasury Holdings"]})]})]})]}),e.jsxs("div",{className:"p-4 bg-slate-50/70 dark:bg-slate-800/40 rounded-xl border border-slate-200 dark:border-slate-800 space-y-3",children:[e.jsx("span",{className:"text-[11px] font-bold text-slate-700 dark:text-slate-300 uppercase tracking-wider block",children:"2. Final Approver Clearance"}),e.jsxs("div",{className:"space-y-2.5",children:[e.jsxs("div",{children:[e.jsx("label",{className:"text-xs font-semibold text-slate-600 dar
1k:text-slate-400 block mb-1",children:"Portfolio Approver"}),e.jsx(F,{options:[{value:"Sarbjit Singh (CFO)",label:"Sarbjit Singh (CFO)"},{value:"Managing Director",label:"Managing Director"},{value:"Investment Lead",label:"Investment Lead"}],value:"Sarbjit Singh (CFO)",onChange:()=>{},className:"h-9 text-xs font-medium"})]}),e.jsx("div",{className:"p-2.5 bg-emerald-50 dark:bg-emerald-950/40 rounded-lg text-xs text-emerald-800 dark:text-emerald-300 border border-emerald-200 dark:border-emerald-800",children:"â Net worth tracking sync enabled · Real-time corporate valuation engine."})]})]})]})]}),e.jsxs("div",{className:"flex justify-between pt-4 border-t border-slate-200 dark:border-slate-800",children:[e.jsxs("button",{type:"button",onClick:()=>m("details"),className:"h-9 px-4 rounded-lg border border-slate-200 dark:border-slate-800 bg-white dark:bg-slate-900 hover:bg-slate-50 text-xs font-semibold text-slate-600 dark:text-slate-300 inline-flex items-center gap-1.5 transition-colors cursor-pointer",children:[e.jsx(S,{className:"w-3.5 h-3.5"})," Back: Particulars"]}),e.jsxs("button",{type:"submit",disabled:g,className:"h-9 px-5 rounded-lg bg-blue-600 hover:bg-blue-700 text-white text-xs font-semibold inline-flex items-center gap-1.5 shadow-2xs transition-colors disabled:opacity-50 cursor-pointer",children:[e.jsx(se,{className:"w-3.5 h-3.5"}),e.jsx("span",{children:g?"Saving...":d?"Update Investment":"Save Investment Asset"})]})]})]})]})}),e.jsxs("div",{className:"lg:col-span-3 bg-slate-50/60 dark:bg-slate-900/60 p-6 space-y-5 flex flex-col justify-between h-full border-t lg:border-t-0",children:[e.jsxs("div",{className:"space-y-5",children:[e.jsxs("div",{className:"flex items-center justify-between border-b border-slate-200 dark:border-slate-800 pb-3.5",children:[e.jsxs("div",{className:"flex items-center gap-2.5",children:[e.jsx("div",{className:"p-2 rounded-xl bg-blue-50 dark:bg-blue-950/60 text-blue-600 dark:text-blue-400 border border-blue-100 dark:border-blue-900/40",children:e.jsx(I,{className:"w-4 h-4"})}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-xs font-bold text-slate-800 dark:text-slate-100 uppercase tracking-wider",children:"Live Summary"}),e.jsx("span",{className:"text-[11px] text-slate-400 font-medium",children:"Portfolio Yield & ROI"})]})]}),e.jsx("span",{className:"text-[11px] font-bold px-2 py-0.5 rounded bg-blue-50 text-blue-700 dark:bg-blue-950/70 dark:text-blue-300 border border-blue-200/60 dark:border-blue-900/60",children:P})]}),e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"p-3.5 rounded-xl bg-white dark:bg-slate-900/80 border border-slate-200/80 dark:border-slate-800/80 space-y-2 text-xs shadow-2xs",children:[e.jsxs("div",{className:"flex justify-between items-center text-slate-600 dark:text-slate-400",children:[e.jsx("span",{className:"font-medium",children:"Invested Capital"}),e.jsxs("span",{className:"font-semibold text-slate-900 dark:text-slate-100 font-data",children:[N," ",r.toLocaleString("en-IN")]})]}),e.jsxs("div",{className:"flex justify-between items-center text-slate-600 dark:text-slate-400",children:[e.jsx("span",{className:"font-medium",children:"Current Valuation"}),e.jsxs("span",{className:"font-semibold text-slate-900 dark:text-slate-100 font-data",children:[N," ",u.toLocaleString("en-IN")]})]}),e.jsxs("div",{className:"flex justify-between items-center text-slate-600 dark:text-slate-400",children:[e.jsx("span",{className:"font-medium",children:"Asset Class"}),e.jsx("span",{className:"font-semibold text-blue-600",children:s.type})]})]}),e.jsxs("div",{className:x("p-3.5 rounded-xl border flex justify-between items-center text-xs",o>=0?"bg-emerald-50 dark:bg-emerald-950/40 border-emerald-200/70 dark:border-emerald-900/60 text-emerald-700 dark:text-emerald-300":"bg-rose-50 dark:bg-rose-950/40 border-rose-200/70 dark:border-rose-900/60 text-rose-700 dark:text-rose-300"),children:[e.jsx("span",{className:"font-bold",children:"Unrealized Yield"}),e.jsxs("span",{className:"font-extrabold text-sm font-data",children:[o>=0?"+":"",c.toFixed(2),"%"]})]})]}),e.jsxs("div",{className:"p-3.5 rounded-xl border border-slate-200 dark:border-slate-800 bg-white dark:bg-slate-900 space-y-2 text-xs",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("span",{className:"text-slate-400",children:"Holding Status:"}),e.jsx("span",{className:"px-2 py-0.5 rounded-full text-[10px] font-bold bg-emerald-50 text-emerald-700 dark:bg-emerald-950/40 dark:text-emerald-300 border border-emerald-200",children:s.status})]}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("span",{className:"text-slate-400",children:"Folio Ref:"}),e.jsx("span",{className:"font-mono text-slate-700 dark:text-slate-300",children:s.folioNo||"Direct Treasury"})]})]})]}),e.jsxs("div",{className:"pt-4 border-t border-slate-200 dark:border-slate-800 text-[11px] text-slate-400 space-y-1",children:[e.jsxs("div",{className:"flex items-center gap-1.5 text-slate-600 dar
1k:text-slate-300 font-medium",children:[e.jsx(ae,{className:"w-3.5 h-3.5 text-emerald-500"}),e.jsx("span",{children:"Corporate Net Worth Sync"})]}),e.jsx("p",{className:"text-[10px] text-slate-400",children:"Asset valuation is auto-reflected in corporate net worth calculations and balance sheet reserve ratios."})]})]})]})]})]})}export{ue as ManageInvestmentPage,ue as default};
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.