PageSourceSearch

https://audaxa-qms-cloudflare-deployment.pages.dev/assets/ModuleUploadPage-6_SRE62K.js

js audaxa-qms-cloudflare-deployment.pages.dev collected 2026-10-03 05:41:02 UTC 30,615 bytes, 1 lines download raw bytes

1import{r as g,O as e,dp as Ue,be as J,b2 as re,ai as oe,bB as se,b5 as ie,a6 as $,fq as De,cM as je,av as Ve,cn as ke,aj as we}from"./vendor-DAhHXCkI.js";import{u as le,C as me,e as ne,f as ue,g as B,a as de,B as h,p as pe,S as ce,af as he,ag as Ne,ah as Y,ai as M,aj as be,ak as U,s as S,K as _e,M as Be,N as ae,O as te}from"./index-ErfH8nLi.js";import{R as Se}from"./ResponsiveLayout-rHd7Glow.js";import{a as ye,b as Ce,p as Pe,v as fe,c as xe,e as ge,d as Ee,g as $e}from"./templateUtils-COOo8dSy.js";import{r as Te,u as Ie}from"./xlsx-DHBzWkhT.js";import"./supabase-B9mJjisU.js";import"./charts-DSobMvBX.js";import"./Header-C604tiug.js";import"./dropdown-menu-DPrX25UR.js";import"./LanguageSwitcher-dRNGj2pF.js";function Fe({entity:l}){const a=le(),[n,p]=g.useState([]),[K,Z]=g.useState(""),[y,O]=g.useState(!1),[ee,T]=g.useState(0),[D,H]=g.useState([]),W=g.useRef(null),C=o=>H(u=>[...u,`[${new Date().toLocaleTimeString()}] ${o}`]);async function t(o){try{const u=await Pe(o,l);Z(u.fileName);const E=u.rows.map((N,f)=>{const v=fe(N,l);return{index:f+1,data:N,status:v.length?"invalid":"valid",errors:v}});p(E),H([]),C(`Parsed ${E.length} rows from ${u.fileName}`);const w=E.filter(N=>N.status==="valid").length;C(`${w} valid, ${E.length-w} invalid`)}catch(u){$.error(`Failed to parse: ${u.message}`)}}async function j(){var r,q;const o=n.filter(d=>d.status==="valid");if(o.length===0){$.error("No valid rows to import");return}O(!0),T(0);const u=new Date().toISOString(),{data:E}=await S.auth.getUser(),w=(r=E.user)==null?void 0:r.id;let N=0,f=0;const v=[];let m=0;if(l.idColumn&&l.idPrefix){const{count:d}=await S.from(l.dbTable).select("*",{count:"exact",head:!0});m=d||0}for(let d=0;d<o.length;d++){const x=o[d],V=xe(x.data,l);l.idColumn&&l.idPrefix&&!V[l.idColumn]&&(m+=1,V[l.idColumn]=`${l.idPrefix}-${String(m).padStart(6,"0")}`),(q=l.generatedColumns)==null||q.forEach(b=>{V[b.key]||(V[b.key]=`${b.prefix}-${String(m||d+1).padStart(6,"0")}`)});const I=await ge(V,x.data,l,w);if(I.length){f+=1,v.push({row:x.index,error:I.join("; ")}),C(`Row ${x.index} failed: ${I.join("; ")}`),p(b=>b.map(c=>c.index===x.index?{...c,status:"failed",errors:I}:c)),T(Math.round((d+1)/o.length*100));continue}const{error:F}=await S.from(l.dbTable).insert(V);F?(f+=1,v.push({row:x.index,error:F.message}),C(`Row ${x.index} failed: ${F.message}`),p(b=>b.map(c=>c.index===x.index?{...c,status:"failed",errors:[F.message]}:c))):(N+=1,p(b=>b.map(c=>c.index===x.index?{...c,status:"imported"}:c))),T(Math.round((d+1)/o.length*100))}const s=f===0?"success":N===0?"failed":"partial";C(`Done — ${N} imported, ${f} failed`),await S.from("data_upload_runs").insert({module:l.module,entity:l.id,file_name:K,rows_total:o.length,rows_ok:N,rows_failed:f,status:s,error_summary:v.length?v.slice(0,25):null,started_at:u,finished_at:new Date().toISOString(),created_by:w}),O(!1),s==="success"?$.success(`Imported ${N} rows`):s==="partial"?$.warning(`Imported ${N}, ${f} failed`):$.error(`Import failed (${f} errors)`)}const X=n.filter(o=>o.status==="valid").length,P=n.filter(o=>o.status==="invalid").length,Q=n.filter(o=>o.status==="imported").length,A=n.filter(o=>o.status==="failed").length;return e.jsxDEV(me,{children:[e.jsxDEV(ne,{children:e.jsxDEV("div",{className:"flex items-start justify-between gap-4 flex-wrap",children:[e.jsxDEV("div",{children:[e.jsxDEV(ue,{className:"flex items-center gap-2",children:[e.jsxDEV(Ue,{className:"h-5 w-5 text-primary"},void 0,!1,{fileName:"/opt/buildhome/repo/src/components/master-upload/MasterUploadEngine.tsx",lineNumber:163,columnNumber:15},this),l.title]},void 0,!0,{fileName:"/opt/buildhome/repo/src/components/master-upload/MasterUploadEngine.tsx",lineNumber:162,columnNumber:13},this),l.description&&e.jsxDEV("p",{className:"text-sm text-muted-foreground mt-1",children:l.description},void 0,!1,{fileName:"/opt/buildhome/repo/src/components/master-upload/MasterUploadEngine.tsx",lineNumber:166,columnNumber:36},this)]},void 0,!0,{fileName:"/opt/buildhome/repo/src/components/master-upload/MasterUploadEngine.tsx",lineNumber:161,columnNumber:11},this),e.jsxDEV("div",{className:"flex gap-2 flex-wrap",children:[e.jsxDEV(B,{size:"sm",variant:"outline",onClick:()=>ye(l),children:[e.jsxDEV(J,{className:"h-4 w-4 mr-1"},void 0,!1,{fileName:"/opt/buildhome/repo/src/components/master-upload/MasterUploadEngine.tsx",lineNumber:170,columnNumber:15},this)," ",a("components.master-upload.MasterUploadEngine.sample_xlsx","Sample XLSX")]},void 0,!0,{fileName:"/opt/buildhome/repo/src/components/master-upload/MasterUploadEngine.tsx",lineNumber:169,columnNumber:13},this),e.jsxDEV(B,{size:"sm",variant:"outline",onClick:()=>Ce(l),children:[e.jsxDEV(J,{className:"h-4 w-4 mr-1"},void 0,!1,{fileName:"/opt/buildhome/repo/src/components/master-upload/MasterUploadEngine.tsx",lineNumber:173,columnNumber:15},this)," ",a("components.master-upload.MasterUploadEngine.sample_csv","Sample CSV")]},void 0,!0,{fileName:"/opt/buildhome/repo/src/components/master-upload/MasterUploadEngine.tsx",lineNumber:172,columnNumber:13},this),e.jsxDEV("input",{ref:W,type:"file",accept:".xlsx,.csv",className:"hidden",onChange:o=>o.target.files&&t(o.target.files[0])},void 0,!1,{fileName:"/opt/buildhome/repo/src/components/master-upload/MasterUploadEngine.tsx",lineNumber:175,columnNumber:13},this),e.jsxDEV(B,{size:"sm",onClick:()=>{var o;return(o=W.current)==null?void 0:o.click()},children:[e.jsxDEV(re,{className:"h-4 w-4 mr-1"},void 0,!1,{fileName:"/opt/buildhome/repo/src/components/master-upload/MasterUploadEngine.tsx",lineNumber:177,columnNumber:15},this)," ",a("components.master-upload.MasterUploadEngine.upload_file","Upload File")]},void 0,!0,{fileName:"/opt/buildhome/repo/src/components/master-upload/MasterUploadEngine.tsx",lineNumber:176,columnNumber:13},this)]},void 0,!0,{fileName:"/opt/buildhome/repo/src/components/master-upload/MasterUploadEngine.tsx",lineNumber:168,columnNumber:11},this)]},void 0,!0,{fileName:"/opt/buildhome/repo/src/components/master-upload/MasterUploadEngine.tsx",lineNumber:160,columnNumber:9},this)},void 0,!1,{fileName:"/opt/buildhome/repo/src/components/master-upload/MasterUploadEngine.tsx",lineNumber:159,columnNumber:7},this),e.jsxDEV(de,{className:"space-y-4",children:[n.length>0&&e.jsxDEV(e.Fragment,{children:[e.jsxDEV("div",{className:"flex flex-wrap gap-2 items-center",children:[e.jsxDEV(h,{variant:"outline",children:[a("components.master-upload.MasterUploadEngine.total","Total:")," ",n.length]},void 0,!0,{fileName:"/opt/buildhome/repo/src/components/master-upload/MasterUploadEngine.tsx",lineNumber:185,columnNumber:15},this),e.jsxDEV(h,{className:"bg-green-500/15 text-green-700 dark:text-green-400",children:[a("components.master-upload.MasterUploadEngine.valid","Valid:")," ",X]},void 0,!0,{fileName:"/opt/buildhome/repo/src/components/master-upload/MasterUploadEngine.tsx",lineNumber:186,columnNumber:15},this),e.jsxDEV(h,{className:"bg-destructive/15 text-destructive",children:[a("components.master-upload.MasterUploadEngine.invalid","Invalid:")," ",P]},void 0,!0,{fileName:"/opt/buildhome/repo/src/components/master-upload/MasterUploadEngine.tsx",lineNumber:187,columnNumber:15},this),Q>0&&e.jsxDEV(h,{className:"bg-primary/15 text-primary",children:[a("components.master-upload.MasterUploadEngine.imported","Imported:")," ",Q]},void 0,!0,{fileName:"/opt/buildhome/repo/src/components/master-upload/MasterUploadEngine.tsx",lineNumber:188,columnNumber:32},this),A>0&&e.jsxDEV(h,{className:"bg-amber-500/15 text-amber-700",children:[a("components.master-upload.MasterUploadEngine.failed","Failed:")," ",A]},void 0,!0,{fileName:"/opt/buildhome/repo/src/components/master-upload/MasterUploadEngine.tsx",lineNumber:189,columnNumber:30},this),e.jsxDEV("div",{className:"flex-1"},void 0,!1,{fileName:"/opt/buildhome/repo/src/components/master-upload/MasterUploadEngine.tsx",lineNumber:190,columnNumber:15},this),e.jsxDEV(B,{onClick:j,disabled:y||X===0,children:[y?e.jsxDEV(oe,{className:"h-4 w-4 mr-1 animate-spin"},void 0,!1,{fileName:"/opt/buildhome/repo/src/components/master-upload/MasterUploadEngine.tsx",lineNumber:192,columnNumber:30},this):e.jsxDEV(se,{className:"h-4 w-4 mr-1"},void 0,!1,{fileName:"/opt/buildhome/repo/src/components/master-upload/MasterUploadEngine.tsx",lineNumber:192,columnNumber:82},this),a("components.master-upload.MasterUploadEngine.import_valid_rows","Import Valid Rows")]},void 0,!0,{fileName:"/opt/buildhome/repo/src/components/master-upload/MasterUploadEngine.tsx",lineNumber:191,columnNumber:15},this)]},void 0,!0,{fileName:"/opt/buildhome/repo/src/components/master-upload/MasterUploadEngine.tsx",lineNumber:184,columnNumber:13},this),y&&e.jsxDEV(pe,{value:ee},void 0,!1,{fileName:"/opt/buildhome/repo/src/components/master-upload/MasterUploadEngine.tsx",lineNumber:197,columnNumber:27},this),e.jsxDEV(ce,{className:"h-[300px] border rounded-md",children:e.jsxDEV(he,{children:[e.jsxDEV(Ne,{children:e.jsxDEV(Y,{children:[e.jsxDEV(M,{className:"w-12",children:"#"},void 0,!1,{fileName:"/opt/buildhome/repo/src/components/master-upload/MasterUploadEngine.tsx",lineNumber:203,columnNumber:21},this),e.jsxDEV(M,{className:"w-28",children:a("components.master-upload.MasterUploadEngine.status","Status")},void 0,!1,{fileName:"/opt/buildhome/repo/src/components/master-upload/MasterUploadEngine.tsx",lineNumber:204,columnNumber:21},this),l.columns.slice(0,4).map(o=>e.jsxDEV(M,{children:o.header},o.key,!1,{fileName:"/opt/buildhome/repo/src/components/master-upload/MasterUploadEngine.tsx",lineNumber:205,columnNumber:58},this)),e.jsxDEV(M,{children:a("components.master-upload.MasterUploadEngine.errors","Errors")},void 0,!1,{fileName:"/opt/buildhome/repo/src/components/master-upload/MasterUploadEngine.tsx",lineNumber:206,columnNumber:21},this)]},void 0,!0,{fileName:"/opt/buildhome/repo/src/components/master-upload/MasterUploadEngine.tsx",lineNumber:202,columnNumber:19},this)},void 0,!1,{fileName:"/opt/buildhome/repo/src/components/master-upload/MasterUploadEngine.tsx",lineNumber:201,columnNumber:17},this),e.jsxDEV(be,{children:n.map(o=>e.jsxDEV(Y,{children:[e.jsxDEV(U,{children:o.index},void 0,!1,{fileName:"/opt/buildhome/repo/src/components/master-upload/MasterUploadEngine.tsx",lineNumber:211,columnNumber:23},this),e.jsxDEV(U,{children:[o.status==="valid"&&e.jsxDEV(h,{className:"bg-green-500/15 text-green-700",children:a("components.master-upload.MasterUploadEngine.valid_2","Valid")},void 0,!1,{fileName:"/opt/buildhome/repo/src/components/master-upload/MasterUploadEngine.tsx",lineNumber:213,columnNumber:50},this),o.status==="invalid"&&e.jsxDEV(h,{className:"bg-destructive/15 text-destructive",children:a("components.master-upload.MasterUploadEngine.invalid_2","Invalid")},void 0,!1,{fileName:"/opt/buildhome/repo/src/components/master-upload/MasterUploadEngine.tsx",lineNumber:214,columnNumber:52},this),o.status==="imported"&&e.jsxDEV(h,{className:"bg-primary/15 text-primary",children:[e.jsxDEV(se,{className:"h-3 w-3 mr-1"},void 0,!1,{fileName:"/opt/buildhome/repo/src/components/master-upload/MasterUploadEngine.tsx",lineNumber:215,columnNumber:99},this),"OK"]},void 0,!0,{fileName:"/opt/buildhome/repo/src/components/master-upload/MasterUploadEngine.tsx",lineNumber:215,columnNumber:53},this),o.status==="failed"&&e.jsxDEV(h,{className:"bg-destructive/15 text-destructive",children:[e.jsxDEV(ie,{className:"h-3 w-3 mr-1"},void 0,!1,{fileName:"/opt/buildhome/repo/src/components/master-upload/MasterUploadEngine.tsx",lineNumber:216,columnNumber:105},this),a("components.master-upload.MasterUploadEngine.fail","Fail")]},void 0,!0,{fileName:"/opt/buildhome/repo/src/components/master-upload/MasterUploadEngine.tsx",lineNumber:216,columnNumber:51},this)]},void 0,!0,{fileName:"/opt/buildhome/repo/src/components/master-upload/MasterUploadEngine.tsx",lineNumber:212,columnNumber:23},this),l.columns.slice(0,4).map(u=>e.jsxDEV(U,{className:"text-xs",children:String(o.data[u.key]??"")},u.key,!1,{fileName:"/opt/buildhome/repo/src/components/master-upload/MasterUploadEngine.tsx",lineNumber:218,columnNumber:60},this)),e.jsxDEV(U,{className:"text-xs text-destructive",children:o.errors.join("; ")},void 0,!1,{fileName:"/opt/buildhome/repo/src/components/master-upload/MasterUploadEngine.tsx",lineNumber:219,columnNumber:23},this)]},o.index,!0,{fileName:"/opt/buildhome/repo/src/components/master-upload/MasterUploadEngine.tsx",lineNumber:210,columnNumber:34},this))},void 0,!1,{fileName:"/opt/buildhome/repo/src/components/master-upload/MasterUploadEngine.tsx",lineNumber:209,columnNumber:17},this)]},void 0,!0,{fileName:"/opt/buildhome/repo/src/components/master-upload/MasterUploadEngine.tsx",lineNumber:200,columnNumber:15},this)},void 0,!1,{fileName:"/opt/buildhome/repo/src/components/master-upload/MasterUploadEngine.tsx",lineNumber:199,columnNumber:13},this),D.length>0&&e.jsxDEV("div",{className:"bg-muted/50 rounded-md p-3 text-xs font-mono max-h-32 overflow-y-auto",children:D.map((o,u)=>e.jsxDEV("div",{children:o},u,!1,{fileName:"/opt/buildhome/repo/src/components/master-upload/MasterUploadEngine.tsx",lineNumber:226,columnNumber:37},this))},void 0,!1,{fileName:"/opt/buildhome/repo/src/components/master-upload/MasterUploadEngine.tsx",lineNumber:225,columnNumber:33},this)]},void 0,!0,{fileName:"/opt/buildhome/repo/src/components/master-upload/MasterUploadEngine.tsx",lineNumber:183,columnNumber:29},this),n.length===0&&e.jsxDEV("p",{className:"text-sm text-muted-foreground",children:a("components.master-upload.MasterUploadEngine.download_a_sample_sheet_fill_in_your_dat","Download a sample sheet, fill in your data, then upload to validate and import.")},void 0,!1,{fileName:"/opt/buildhome/repo/src/components/master-upload/MasterUploadEngine.tsx",lineNumber:230,columnNumber:31},this)]},void 0,!0,{fileName:"/opt/buildhome/repo/src/components/master-upload/MasterUploadEngine.tsx",lineNumber:182,columnNumber:7},this)]},void 0,!0,{fileName:"/opt/buildhome/repo/src/components/master-upload/MasterUploadEngine.tsx",lineNumber:158,columnNumber:10},this)}function z(l){return l.trim().toLowerCase().replace(/\s+/g," ")}function Le({module:l}){const a=le(),n=g.useRef(null),[p,K]=g.useState(!1),[Z,y]=g.useState(0),[O,ee]=g.useState(""),[T,D]=g.useState([]);function H(){D(l.entities.map(t=>({entity:t,total:0,valid:0,invalid:0,ok:0,failed:0,status:"idle",errors:[]})))}async function W(t){var f,v;ee(t.name);const j=await t.arrayBuffer(),X=Te(j,{type:"array"}),P=new Map;
1X.SheetNames.forEach(m=>P.set(z(m),X.Sheets[m]));const{data:Q}=await S.auth.getUser(),A=(f=Q.user)==null?void 0:f.id,o=l.entities.map(m=>{const s=P.get(z(m.title.slice(0,28)))||P.get(z(m.title));return{entity:m,total:0,valid:0,invalid:0,ok:0,failed:0,status:s?"queued":"skipped",errors:[]}});D(o),K(!0),y(0);let u=0;const E=o.filter(m=>m.status==="queued").length||1;for(let m=0;m<o.length;m++){const s=o[m];if(s.status==="skipped")continue;const r=s.entity,q=P.get(z(r.title.slice(0,28)))||P.get(z(r.title));if(!q)continue;s.status="running",D([...o]);const d=Ie.sheet_to_json(q,{header:1,blankrows:!1});if(d.length<2){s.status="done",u++,y(Math.round(u/E*100));continue}const x=d[0].map(i=>String(i||"").replace(/\s*\*$/,"").trim()),V={};r.columns.forEach(i=>{V[i.header.toLowerCase()]=i.key});const I=new Set(r.columns.map(i=>i.description).filter(i=>!!i&&i.length>0)),F=d[1]&&Array.isArray(d[1])&&d[1].some(i=>typeof i=="string"&&I.has(i))?2:1,b=[];for(let i=F;i<d.length;i++){const L=d[i];if(!L||L.every(_=>_==null||_===""))continue;const k={};x.forEach((_,G)=>{const R=V[_.toLowerCase()];R&&(k[R]=L[G])}),b.push(k)}s.total=b.length;let c=0;if(r.idColumn&&r.idPrefix){const{count:i}=await S.from(r.dbTable).select("*",{count:"exact",head:!0});c=i||0}const ve=new Date().toISOString();for(const i of b){const L=fe(i,r);if(L.length){s.invalid++,s.errors.push({row:s.invalid+s.valid,msg:L.join("; ")});continue}s.valid++;const k=xe(i,r);r.idColumn&&r.idPrefix&&!k[r.idColumn]&&(c++,k[r.idColumn]=`${r.idPrefix}-${String(c).padStart(6,"0")}`),(v=r.generatedColumns)==null||v.forEach(R=>{k[R.key]||(k[R.key]=`${R.prefix}-${String(c||s.valid).padStart(6,"0")}`)});const _=await ge(k,i,r,A);if(_.length){s.failed++,s.errors.push({row:s.valid,msg:_.join("; ")}),D([...o]);continue}const{error:G}=await S.from(r.dbTable).insert(k);G?(s.failed++,s.errors.push({row:s.valid,msg:G.message})):s.ok++,D([...o])}const Me=s.failed===0&&s.invalid===0?"success":s.ok===0?"failed":"partial";await S.from("data_upload_runs").insert({module:r.module,entity:r.id,file_name:t.name,rows_total:s.total,rows_ok:s.ok,rows_failed:s.failed+s.invalid,status:Me,error_summary:s.errors.length?s.errors.slice(0,25):null,started_at:ve,finished_at:new Date().toISOString(),created_by:A}),s.status="done",u++,y(Math.round(u/E*100)),D([...o])}K(!1);const w=o.reduce((m,s)=>m+s.ok,0),N=o.reduce((m,s)=>m+s.failed+s.invalid,0);N===0?$.success(`Imported ${w} rows across ${E} tabs`):$.warning(`Imported ${w} rows, ${N} issues`)}const C=T.length?T:l.entities.map(t=>({entity:t,total:0,valid:0,invalid:0,ok:0,failed:0,status:"idle",errors:[]}));return e.jsxDEV(me,{children:[e.jsxDEV(ne,{children:e.jsxDEV("div",{className:"flex items-start justify-between gap-4 flex-wrap",children:[e.jsxDEV("div",{children:[e.jsxDEV(ue,{className:"flex items-center gap-2",children:[e.jsxDEV(De,{className:"h-5 w-5 text-primary"},void 0,!1,{fileName:"/opt/buildhome/repo/src/components/master-upload/BulkModuleUpload.tsx",lineNumber:219,columnNumber:15},this),a("components.master-upload.BulkModuleUpload.upload_all_tabs_at_once","Upload All Tabs at Once")]},void 0,!0,{fileName:"/opt/buildhome/repo/src/components/master-upload/BulkModuleUpload.tsx",lineNumber:218,columnNumber:13},this),e.jsxDEV("p",{className:"text-sm text-muted-foreground mt-1",children:a("components.master-upload.BulkModuleUpload.upload_a_single_xlsx_where_each_sheet_ma","Upload a single XLSX where each sheet matches an entity name below. Use the sample workbook as the template.")},void 0,!1,{fileName:"/opt/buildhome/repo/src/components/master-upload/BulkModuleUpload.tsx",lineNumber:222,columnNumber:13},this)]},void 0,!0,{fileName:"/opt/buildhome/repo/src/components/master-upload/BulkModuleUpload.tsx",lineNumber:217,columnNumber:11},this),e.jsxDEV("div",{className:"flex gap-2 flex-wrap",children:[e.jsxDEV(B,{size:"sm",variant:"outline",onClick:()=>Ee(l),children:[e.jsxDEV(J,{className:"h-4 w-4 mr-1"},void 0,!1,{fileName:"/opt/buildhome/repo/src/components/master-upload/BulkModuleUpload.tsx",lineNumber:228,columnNumber:15},this)," ",a("components.master-upload.BulkModuleUpload.sample_multi_tab_xlsx","Sample Multi-Tab XLSX")]},void 0,!0,{fileName:"/opt/buildhome/repo/src/components/master-upload/BulkModuleUpload.tsx",lineNumber:227,columnNumber:13},this),e.jsxDEV("input",{ref:n,type:"file",accept:".xlsx",className:"hidden",onChange:t=>{var j;(j=t.target.files)!=null&&j[0]&&(H(),W(t.target.files[0]),t.target.value="")}},void 0,!1,{fileName:"/opt/buildhome/repo/src/components/master-upload/BulkModuleUpload.tsx",lineNumber:230,columnNumber:13},this),e.jsxDEV(B,{size:"sm",onClick:()=>{var t;return(t=n.current)==null?void 0:t.click()},disabled:p,children:[p?e.jsxDEV(oe,{className:"h-4 w-4 mr-1 animate-spin"},void 0,!1,{fileName:"/opt/buildhome/repo/src/components/master-upload/BulkModuleUpload.tsx",lineNumber:238,columnNumber:26},this):e.jsxDEV(re,{className:"h-4 w-4 mr-1"},void 0,!1,{fileName:"/opt/buildhome/repo/src/components/master-upload/BulkModuleUpload.tsx",lineNumber:238,columnNumber:78},this),a("components.master-upload.BulkModuleUpload.upload_whole_module","Upload Whole Module")]},void 0,!0,{fileName:"/opt/buildhome/repo/src/components/master-upload/BulkModuleUpload.tsx",lineNumber:237,columnNumber:13},this)]},void 0,!0,{fileName:"/opt/buildhome/repo/src/components/master-upload/BulkModuleUpload.tsx",lineNumber:226,columnNumber:11},this)]},void 0,!0,{fileName:"/opt/buildhome/repo/src/components/master-upload/BulkModuleUpload.tsx",lineNumber:216,columnNumber:9},this)},void 0,!1,{fileName:"/opt/buildhome/repo/src/components/master-upload/BulkModuleUpload.tsx",lineNumber:215,columnNumber:7},this),e.jsxDEV(de,{className:"space-y-4",children:[O&&e.jsxDEV("p",{className:"text-xs text-muted-foreground",children:[a("components.master-upload.BulkModuleUpload.file","File:")," ",e.jsxDEV("strong",{children:O},void 0,!1,{fileName:"/opt/buildhome/repo/src/components/master-upload/BulkModuleUpload.tsx",lineNumber:245,columnNumber:136},this)]},void 0,!0,{fileName:"/opt/buildhome/repo/src/components/master-upload/BulkModuleUpload.tsx",lineNumber:245,columnNumber:22},this),p&&e.jsxDEV(pe,{value:Z},void 0,!1,{fileName:"/opt/buildhome/repo/src/components/master-upload/BulkModuleUpload.tsx",lineNumber:246,columnNumber:21},this),e.jsxDEV(ce,{className:"max-h-[400px] border rounded-md",children:e.jsxDEV(he,{children:[e.jsxDEV(Ne,{children:e.jsxDEV(Y,{children:[e.jsxDEV(M,{children:a("components.master-upload.BulkModuleUpload.entity_sheet_name","Entity (Sheet Name)")},void 0,!1,{fileName:"/opt/buildhome/repo/src/components/master-upload/BulkModuleUpload.tsx",lineNumber:251,columnNumber:17},this),e.jsxDEV(M,{children:a("components.master-upload.BulkModuleUpload.status","Status")},void 0,!1,{fileName:"/opt/buildhome/repo/src/components/master-upload/BulkModuleUpload.tsx",lineNumber:252,columnNumber:17},this),e.jsxDEV(M,{className:"text-right",children:a("components.master-upload.BulkModuleUpload.total","Total")},void 0,!1,{fileName:"/opt/buildhome/repo/src/components/master-upload/BulkModuleUpload.tsx",lineNumber:253,columnNumber:17},this),e.jsxDEV(M,{className:"text-right",children:"OK"},void 0,!1,{fileName:"/opt/buildhome/repo/src/components/master-upload/BulkModuleUpload.tsx",lineNumber:254,columnNumber:17},this),e.jsxDEV(M,{className:"text-right",children:a("components.master-upload.BulkModuleUpload.failed","Failed")},void 0,!1,{fileName:"/opt/buildhome/repo/src/components/master-upload/BulkModuleUpload.tsx",lineNumber:255,columnNumber:17},this),e.jsxDEV(M,{children:a("components.master-upload.BulkModuleUpload.first_error","First Error")},void 0,!1,{fileName:"/opt/buildhome/repo/src/components/master-upload/BulkModuleUpload.tsx",lineNumber:256,columnNumber:17},this)]},void 0,!0,{fileName:"/opt/buildhome/repo/src/components/master-upload/BulkModuleUpload.tsx",lineNumber:250,columnNumber:15},this)},void 0,!1,{fileName:"/opt/buildhome/repo/src/components/master-upload/BulkModuleUpload.tsx",lineNumber:249,columnNumber:13},this),e.jsxDEV(be,{children:C.map(t=>{var j;return e.jsxDEV(Y,{children:[e.jsxDEV(U,{className:"font-medium text-xs",children:t.entity.title},void 0,!1,{fileName:"/opt/buildhome/repo/src/components/master-upload/BulkModuleUpload.tsx",lineNumber:261,columnNumber:19},this),e.jsxDEV(U,{children:[t.status==="idle"&&e.jsxDEV(h,{variant:"outline",children:a("components.master-upload.BulkModuleUpload.idle","Idle")},void 0,!1,{fileName:"/opt/buildhome/repo/src/components/master-upload/BulkModuleUpload.tsx",lineNumber:263,columnNumber:45},this),t.status==="queued"&&e.jsxDEV(h,{variant:"secondary",children:a("components.master-upload.BulkModuleUpload.queued","Queued")},void 0,!1,{fileName:"/opt/buildhome/repo/src/components/master-upload/BulkModuleUpload.tsx",lineNumber:264,columnNumber:47},this),t.status==="running"&&e.jsxDEV(h,{className:"bg-primary/15 text-primary",children:[e.jsxDEV(oe,{className:"h-3 w-3 mr-1 animate-spin"},void 0,!1,{fileName:"/opt/buildhome/repo/src/components/master-upload/BulkModuleUpload.tsx",lineNumber:265,columnNumber:94},this),a("components.master-upload.BulkModuleUpload.running","Running")]},void 0,!0,{fileName:"/opt/buildhome/repo/src/components/master-upload/BulkModuleUpload.tsx",lineNumber:265,columnNumber:48},this),t.status==="skipped"&&e.jsxDEV(h,{className:"bg-muted text-muted-foreground",children:a("components.master-upload.BulkModuleUpload.no_sheet","No sheet")},void 0,!1,{fileName:"/opt/buildhome/repo/src/components/master-upload/BulkModuleUpload.tsx",lineNumber:266,columnNumber:48}
1,this),t.status==="done"&&(t.failed+t.invalid===0?e.jsxDEV(h,{className:"bg-green-500/15 text-green-700",children:[e.jsxDEV(se,{className:"h-3 w-3 mr-1"},void 0,!1,{fileName:"/opt/buildhome/repo/src/components/master-upload/BulkModuleUpload.tsx",lineNumber:267,columnNumber:125},this),a("components.master-upload.BulkModuleUpload.done","Done")]},void 0,!0,{fileName:"/opt/buildhome/repo/src/components/master-upload/BulkModuleUpload.tsx",lineNumber:267,columnNumber:75},this):e.jsxDEV(h,{className:"bg-amber-500/15 text-amber-700",children:[e.jsxDEV(ie,{className:"h-3 w-3 mr-1"},void 0,!1,{fileName:"/opt/buildhome/repo/src/components/master-upload/BulkModuleUpload.tsx",lineNumber:267,columnNumber:294},this),a("components.master-upload.BulkModuleUpload.partial","Partial")]},void 0,!0,{fileName:"/opt/buildhome/repo/src/components/master-upload/BulkModuleUpload.tsx",lineNumber:267,columnNumber:244},this))]},void 0,!0,{fileName:"/opt/buildhome/repo/src/components/master-upload/BulkModuleUpload.tsx",lineNumber:262,columnNumber:19},this),e.jsxDEV(U,{className:"text-right text-xs",children:t.total},void 0,!1,{fileName:"/opt/buildhome/repo/src/components/master-upload/BulkModuleUpload.tsx",lineNumber:269,columnNumber:19},this),e.jsxDEV(U,{className:"text-right text-xs text-green-700",children:t.ok},void 0,!1,{fileName:"/opt/buildhome/repo/src/components/master-upload/BulkModuleUpload.tsx",lineNumber:270,columnNumber:19},this),e.jsxDEV(U,{className:"text-right text-xs text-destructive",children:t.failed+t.invalid},void 0,!1,{fileName:"/opt/buildhome/repo/src/components/master-upload/BulkModuleUpload.tsx",lineNumber:271,columnNumber:19},this),e.jsxDEV(U,{className:"text-xs text-destructive truncate max-w-[280px]",children:((j=t.errors[0])==null?void 0:j.msg)||""},void 0,!1,{fileName:"/opt/buildhome/repo/src/components/master-upload/BulkModuleUpload.tsx",lineNumber:272,columnNumber:19},this)]},t.entity.id,!0,{fileName:"/opt/buildhome/repo/src/components/master-upload/BulkModuleUpload.tsx",lineNumber:260,columnNumber:33},this)})},void 0,!1,{fileName:"/opt/buildhome/repo/src/components/master-upload/BulkModuleUpload.tsx",lineNumber:259,columnNumber:13},this)]},void 0,!0,{fileName:"/opt/buildhome/repo/src/components/master-upload/BulkModuleUpload.tsx",lineNumber:248,columnNumber:11},this)},void 0,!1,{fileName:"/opt/buildhome/repo/src/components/master-upload/BulkModuleUpload.tsx",lineNumber:247,columnNumber:9},this)]},void 0,!0,{fileName:"/opt/buildhome/repo/src/components/master-upload/BulkModuleUpload.tsx",lineNumber:244,columnNumber:7},this)]},void 0,!0,{fileName:"/opt/buildhome/repo/src/components/master-upload/BulkModuleUpload.tsx",lineNumber:214,columnNumber:10},this)}function Ge(){const l=le(),{module:a}=je(),n=a?$e(a):void 0;return n?e.jsxDEV(Se,{className:"space-y-6",children:[e.jsxDEV("div",{className:"flex items-center justify-between flex-wrap gap-4",children:[e.jsxDEV("div",{className:"flex items-center gap-3",children:[e.jsxDEV(B,{asChild:!0,variant:"ghost",size:"sm",children:e.jsxDEV(ke,{to:"/app/master-data/upload",children:[e.jsxDEV(we,{className:"h-4 w-4 mr-1"},void 0,!1,{fileName:"/opt/buildhome/repo/src/pages/master-upload/ModuleUploadPage.tsx",lineNumber:25,columnNumber:48},this)," ",l("pages.master-upload.ModuleUploadPage.back","Back")]},void 0,!0,{fileName:"/opt/buildhome/repo/src/pages/master-upload/ModuleUploadPage.tsx",lineNumber:25,columnNumber:13},this)},void 0,!1,{fileName:"/opt/buildhome/repo/src/pages/master-upload/ModuleUploadPage.tsx",lineNumber:24,columnNumber:11},this),e.jsxDEV("div",{children:[e.jsxDEV("h1",{className:"text-2xl font-bold",children:[n.title," ",l("pages.master-upload.ModuleUploadPage.master_data_upload","— Master Data Upload")]},void 0,!0,{fileName:"/opt/buildhome/repo/src/pages/master-upload/ModuleUploadPage.tsx",lineNumber:28,columnNumber:13},this),e.jsxDEV("p",{className:"text-sm text-muted-foreground",children:n.description},void 0,!1,{fileName:"/opt/buildhome/repo/src/pages/master-upload/ModuleUploadPage.tsx",lineNumber:29,columnNumber:13},this)]},void 0,!0,{fileName:"/opt/buildhome/repo/src/pages/master-upload/ModuleUploadPage.tsx",lineNumber:27,columnNumber:11},this)]},void 0,!0,{fileName:"/opt/buildhome/repo/src/pages/master-upload/ModuleUploadPage.tsx",lineNumber:23,columnNumber:9},this),e.jsxDEV(B,{variant:"outline",onClick:()=>Ee(n),children:[e.jsxDEV(J,{className:"h-4 w-4 mr-2"},void 0,!1,{fileName:"/opt/buildhome/repo/src/pages/master-upload/ModuleUploadPage.tsx",lineNumber:33,columnNumber:11},this)," ",l("pages.master-upload.ModuleUploadPage.full_workbook_xlsx","Full Workbook (XLSX)")]},void 0,!0,{fileName:"/opt/buildhome/repo/src/pages/master-upload/ModuleUploadPage.tsx",lineNumber:32,columnNumber:9},this)]},void 0,!0,{fileName:"/opt/buildhome/repo/src/pages/master-upload/ModuleUploadPage.tsx",lineNumber:22,columnNumber:7},this),e.jsxDEV(_e,{defaultValue:"__bulk__",className:"w-full",children:[e.jsxDEV(Be,{className:"flex flex-wrap h-auto",children:[e.jsxDEV(ae,{value:"__bulk__",children:l("pages.master-upload.ModuleUploadPage.upload_all_tabs","⚡ Upload All Tabs")},void 0,!1,{fileName:"/opt/buildhome/repo/src/pages/master-upload/ModuleUploadPage.tsx",lineNumber:39,columnNumber:11},this),n.entities.map(p=>e.jsxDEV(ae,{value:p.id,children:p.title},p.id,!1,{fileName:"/opt/buildhome/repo/src/pages/master-upload/ModuleUploadPage.tsx",lineNumber:40,c
1olumnNumber:34},this))]},void 0,!0,{fileName:"/opt/buildhome/repo/src/pages/master-upload/ModuleUploadPage.tsx",lineNumber:38,columnNumber:9},this),e.jsxDEV(te,{value:"__bulk__",className:"mt-4",children:e.jsxDEV(Le,{module:n},void 0,!1,{fileName:"/opt/buildhome/repo/src/pages/master-upload/ModuleUploadPage.tsx",lineNumber:43,columnNumber:11},this)},void 0,!1,{fileName:"/opt/buildhome/repo/src/pages/master-upload/ModuleUploadPage.tsx",lineNumber:42,columnNumber:9},this),n.entities.map(p=>e.jsxDEV(te,{value:p.id,className:"mt-4",children:e.jsxDEV(Fe,{entity:p},void 0,!1,{fileName:"/opt/buildhome/repo/src/pages/master-upload/ModuleUploadPage.tsx",lineNumber:46,columnNumber:13},this)},p.id,!1,{fileName:"/opt/buildhome/repo/src/pages/master-upload/ModuleUploadPage.tsx",lineNumber:45,columnNumber:32},this))]},void 0,!0,{fileName:"/opt/buildhome/repo/src/pages/master-upload/ModuleUploadPage.tsx",lineNumber:37,columnNumber:7},this)]},void 0,!0,{fileName:"/opt/buildhome/repo/src/pages/master-upload/ModuleUploadPage.tsx",lineNumber:21,columnNumber:10},this):e.jsxDEV(Ve,{to:"/app/master-data/upload",replace:!0},void 0,!1,{fileName:"/opt/buildhome/repo/src/pages/master-upload/ModuleUploadPage.tsx",lineNumber:20,columnNumber:20},this)}export{Ge 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.