flowcore-fn 10.2.8 → 10.2.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -18950,16 +18950,68 @@ function PoolConfirmationModal({ isOpen, onClose, onConfirm, file, isSubmitting
18950
18950
  import React95, { useState as useState70, useEffect as useEffect49, useCallback } from "react";
18951
18951
  import { RiTaskLine, RiCloseLine as RiCloseLine2, RiSendPlaneLine } from "@remixicon/react";
18952
18952
  import { jsx as jsx95, jsxs as jsxs94 } from "react/jsx-runtime";
18953
+ var getAvailableActions = (response) => {
18954
+ var _a, _b, _c, _d, _e, _f, _g;
18955
+ console.log("Raw response for available actions:", response);
18956
+ const value = (_e = (_d = (_c = (_a = response == null ? void 0 : response.data) == null ? void 0 : _a.data) != null ? _c : (_b = response == null ? void 0 : response.data) == null ? void 0 : _b.result) != null ? _d : response == null ? void 0 : response.data) != null ? _e : response;
18957
+ const rows = Array.isArray(value) ? value : (_g = (_f = value == null ? void 0 : value.items) != null ? _f : value == null ? void 0 : value.records) != null ? _g : [];
18958
+ return rows.map((action) => {
18959
+ var _a2, _b2, _c2, _d2, _e2, _f2;
18960
+ return {
18961
+ label: (_d2 = (_c2 = (_b2 = (_a2 = action.label) != null ? _a2 : action.Label) != null ? _b2 : action.actionName) != null ? _c2 : action.ActionName) != null ? _d2 : "",
18962
+ actionCode: (_f2 = (_e2 = action.actionCode) != null ? _e2 : action.ActionCode) != null ? _f2 : ""
18963
+ };
18964
+ }).filter((action) => action.label && action.actionCode);
18965
+ };
18953
18966
  function TakeActionModal({ isOpen, onClose, onSubmit, file }) {
18954
- const [actionType, setActionType] = useState70("forward");
18967
+ const [actions, setActions] = useState70([]);
18968
+ const [actionCode, setActionCode] = useState70("");
18969
+ const [isLoadingActions, setIsLoadingActions] = useState70(false);
18970
+ const [actionLoadError, setActionLoadError] = useState70("");
18955
18971
  const [remarks, setRemarks] = useState70("");
18956
18972
  const [isSubmitting, setIsSubmitting] = useState70(false);
18957
18973
  const handleClose = useCallback(() => {
18958
- setActionType("forward");
18974
+ if (isSubmitting) return;
18975
+ setActionCode("");
18959
18976
  setRemarks("");
18960
- setIsSubmitting(false);
18961
18977
  onClose();
18962
- }, [onClose]);
18978
+ }, [isSubmitting, onClose]);
18979
+ useEffect49(() => {
18980
+ if (!isOpen || !file) return void 0;
18981
+ let isCurrent = true;
18982
+ const loadActions = async () => {
18983
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l;
18984
+ setActions([]);
18985
+ setActionCode("");
18986
+ setActionLoadError("");
18987
+ setIsLoadingActions(true);
18988
+ try {
18989
+ const flowCore = (_b = (_a = getApiEndpoints()) == null ? void 0 : _a.flowCore) != null ? _b : {};
18990
+ const endpoint2 = (_g = (_e = (_c = flowCore.inbox) == null ? void 0 : _c.GetPermisiionLabelWithCode) != null ? _e : (_d = flowCore.inbox) == null ? void 0 : _d.getPermisiionLabelWithCode) != null ? _g : (_f = flowCore.inbox) == null ? void 0 : _f.getByWorkflowStepId;
18991
+ const workflowStepId = (_h = file.workflowStepId) != null ? _h : file.WorkflowStepId;
18992
+ if (!endpoint2) throw new Error("Workflow step actions endpoint is not configured.");
18993
+ if (workflowStepId == null) throw new Error("Workflow step ID is missing for this file.");
18994
+ const url = typeof endpoint2 === "function" ? endpoint2() : String(endpoint2);
18995
+ const nextActions = getAvailableActions(await getApiService().post(url, {
18996
+ workflowStepId: Number(workflowStepId)
18997
+ }));
18998
+ if (!isCurrent) return;
18999
+ console.log("Available actions for workflow step:", nextActions);
19000
+ setActions(nextActions);
19001
+ setActionCode((_j = (_i = nextActions[0]) == null ? void 0 : _i.actionCode) != null ? _j : "");
19002
+ if (nextActions.length === 0) setActionLoadError("No actions are available for this workflow step.");
19003
+ } catch (error) {
19004
+ if (!isCurrent) return;
19005
+ setActionLoadError(((_l = (_k = error == null ? void 0 : error.response) == null ? void 0 : _k.data) == null ? void 0 : _l.message) || (error == null ? void 0 : error.message) || "Unable to load workflow actions.");
19006
+ } finally {
19007
+ if (isCurrent) setIsLoadingActions(false);
19008
+ }
19009
+ };
19010
+ loadActions();
19011
+ return () => {
19012
+ isCurrent = false;
19013
+ };
19014
+ }, [file, isOpen]);
18963
19015
  useEffect49(() => {
18964
19016
  if (!isOpen) return;
18965
19017
  const handleKeyDown = (e) => {
@@ -18969,10 +19021,15 @@ function TakeActionModal({ isOpen, onClose, onSubmit, file }) {
18969
19021
  return () => window.removeEventListener("keydown", handleKeyDown);
18970
19022
  }, [isOpen, handleClose]);
18971
19023
  if (!isOpen || !file) return null;
18972
- const handleSubmit = (e) => {
19024
+ const handleSubmit = async (e) => {
18973
19025
  e.preventDefault();
19026
+ if (!actionCode || isLoadingActions || isSubmitting) return;
18974
19027
  setIsSubmitting(true);
18975
- onSubmit({ file, actionType, remarks });
19028
+ try {
19029
+ await onSubmit({ file, actionCode, remarks });
19030
+ } finally {
19031
+ setIsSubmitting(false);
19032
+ }
18976
19033
  };
18977
19034
  return /* @__PURE__ */ jsxs94("div", { className: "fc:fixed fc:inset-0 fc:z-50 fc:flex fc:items-center fc:justify-center fc:p-4", children: [
18978
19035
  /* @__PURE__ */ jsx95(
@@ -18999,6 +19056,7 @@ function TakeActionModal({ isOpen, onClose, onSubmit, file }) {
18999
19056
  {
19000
19057
  type: "button",
19001
19058
  onClick: handleClose,
19059
+ disabled: isSubmitting,
19002
19060
  className: "fc:text-slate-400 hover:fc:text-slate-600 hover:fc:bg-slate-100 fc:p-1.5 fc:rounded-full fc:transition-all",
19003
19061
  children: /* @__PURE__ */ jsx95(RiCloseLine2, { size: 20 })
19004
19062
  }
@@ -19025,39 +19083,37 @@ function TakeActionModal({ isOpen, onClose, onSubmit, file }) {
19025
19083
  "Select Action ",
19026
19084
  /* @__PURE__ */ jsx95("span", { className: "fc:text-red-500", children: "*" })
19027
19085
  ] }),
19028
- /* @__PURE__ */ jsx95("div", { className: "fc:grid fc:grid-cols-2 fc:gap-2.5", children: [
19029
- { id: "forward", label: "Forward to Next Step", color: "emerald" },
19030
- { id: "approve", label: "Approve & Complete", color: "blue" },
19031
- { id: "return", label: "Return / Send Back", color: "amber" },
19032
- { id: "hold", label: "Put on Hold", color: "slate" }
19033
- ].map((act) => /* @__PURE__ */ jsxs94(
19086
+ /* @__PURE__ */ jsx95("div", { className: "fc:grid fc:grid-cols-2 fc:gap-2.5", children: actions.map((act) => /* @__PURE__ */ jsxs94(
19034
19087
  "label",
19035
19088
  {
19036
- className: `fc:flex fc:items-center fc:gap-2.5 fc:p-2.5 fc:rounded-xl fc:border fc:cursor-pointer fc:transition-all ${actionType === act.id ? "fc:border-emerald-500 fc:bg-emerald-50/50 fc:text-emerald-700 fc:ring-1 fc:ring-emerald-500/20" : "fc:border-slate-200 fc:bg-white hover:fc:bg-slate-50 fc:text-slate-700"}`,
19089
+ className: `fc:flex fc:items-center fc:gap-2.5 fc:p-2.5 fc:rounded-xl fc:border fc:cursor-pointer fc:transition-all ${actionCode === act.actionCode ? "fc:border-emerald-500 fc:bg-emerald-50/50 fc:text-emerald-700 fc:ring-1 fc:ring-emerald-500/20" : "fc:border-slate-200 fc:bg-white hover:fc:bg-slate-50 fc:text-slate-700"}`,
19037
19090
  children: [
19038
19091
  /* @__PURE__ */ jsx95(
19039
19092
  "input",
19040
19093
  {
19041
19094
  type: "radio",
19042
19095
  name: "actionType",
19043
- value: act.id,
19044
- checked: actionType === act.id,
19045
- onChange: (e) => setActionType(e.target.value),
19096
+ value: act.actionCode,
19097
+ checked: actionCode === act.actionCode,
19098
+ onChange: (e) => setActionCode(e.target.value),
19099
+ disabled: isSubmitting,
19046
19100
  className: "fc:sr-only"
19047
19101
  }
19048
19102
  ),
19049
19103
  /* @__PURE__ */ jsx95(
19050
19104
  "div",
19051
19105
  {
19052
- className: `fc:w-4 fc:h-4 fc:rounded-full fc:border fc:flex fc:items-center fc:justify-center ${actionType === act.id ? "fc:border-emerald-600 fc:bg-emerald-600" : "fc:border-slate-300"}`,
19053
- children: actionType === act.id && /* @__PURE__ */ jsx95("div", { className: "fc:w-1.5 fc:h-1.5 fc:bg-white fc:rounded-full" })
19106
+ className: `fc:w-4 fc:h-4 fc:rounded-full fc:border fc:flex fc:items-center fc:justify-center ${actionCode === act.actionCode ? "fc:border-emerald-600 fc:bg-emerald-600" : "fc:border-slate-300"}`,
19107
+ children: actionCode === act.actionCode && /* @__PURE__ */ jsx95("div", { className: "fc:w-1.5 fc:h-1.5 fc:bg-white fc:rounded-full" })
19054
19108
  }
19055
19109
  ),
19056
19110
  /* @__PURE__ */ jsx95("span", { className: "fc:text-xs fc:font-bold", children: act.label })
19057
19111
  ]
19058
19112
  },
19059
- act.id
19060
- )) })
19113
+ act.actionCode
19114
+ )) }),
19115
+ isLoadingActions && /* @__PURE__ */ jsx95("p", { className: "fc:mt-2 fc:text-xs fc:text-slate-500", children: "Loading available actions..." }),
19116
+ actionLoadError && /* @__PURE__ */ jsx95("p", { className: "fc:mt-2 fc:text-xs fc:text-red-600", children: actionLoadError })
19061
19117
  ] }),
19062
19118
  /* @__PURE__ */ jsxs94("div", { children: [
19063
19119
  /* @__PURE__ */ jsx95("label", { className: "fc:block fc:text-xs fc:font-bold fc:text-slate-700 fc:mb-1", children: "Remarks / Comments" }),
@@ -19089,7 +19145,7 @@ function TakeActionModal({ isOpen, onClose, onSubmit, file }) {
19089
19145
  "button",
19090
19146
  {
19091
19147
  type: "submit",
19092
- disabled: isSubmitting,
19148
+ disabled: isSubmitting || isLoadingActions || !actionCode,
19093
19149
  className: "fc:px-5 fc:py-2 fc:bg-emerald-600 hover:fc:bg-emerald-700 fc:text-white fc:text-xs fc:font-bold fc:rounded-xl fc:shadow-md fc:shadow-emerald-500/20 fc:transition-all fc:flex fc:items-center fc:gap-1.5 disabled:fc:opacity-50",
19094
19150
  children: [
19095
19151
  /* @__PURE__ */ jsx95(RiSendPlaneLine, { size: 16 }),
@@ -19281,7 +19337,7 @@ var normalizePoolFile = (file) => {
19281
19337
  });
19282
19338
  };
19283
19339
  var normalizeMyFile = (file) => {
19284
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y;
19340
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _A, _B, _C, _D, _E;
19285
19341
  const taskInstanceId = (_a = file.taskInstanceId) != null ? _a : file.TaskInstanceId;
19286
19342
  const businessEntityId = (_b = file.businessEntityId) != null ? _b : file.BusinessEntityId;
19287
19343
  const businessEntity = (_c = file.businessEntityType) != null ? _c : file.BusinessEntityType;
@@ -19302,256 +19358,10 @@ var normalizeMyFile = (file) => {
19302
19358
  dueDate: formatInboxDate(file.dueDate),
19303
19359
  slaStatus: (_v = file.slaStatus) != null ? _v : "-",
19304
19360
  status: (_x = (_w = file.fileStatus) != null ? _w : file.statusName) != null ? _x : "In Progress",
19305
- assignedTo: "Pankaj Jain",
19306
- currentStep: (_y = file.stepName) != null ? _y : "-"
19361
+ assignedTo: (_D = (_C = (_B = (_A = (_z = (_y = file.assignedTo) != null ? _y : file.AssignedTo) != null ? _z : file.assignedUserName) != null ? _A : file.AssignedUserName) != null ? _B : file.assignedUserId) != null ? _C : file.AssignedUserId) != null ? _D : "-",
19362
+ currentStep: (_E = file.stepName) != null ? _E : "-"
19307
19363
  });
19308
19364
  };
19309
- var INITIAL_FILE_POOL = [
19310
- {
19311
- fileId: 101,
19312
- fileNumber: "FC-2026-0142",
19313
- subject: "Industrial Waste Discharge License Renewal ApplicationIndustrial Waste Discharge License Renewal Application",
19314
- workflowName: "Environmental Clearance",
19315
- department: "Environment & Forests",
19316
- applicant: "GreenTech Industries Ltd.",
19317
- category: "Statutory Renewal",
19318
- financialYear: "2026-27",
19319
- sender: "GreenTech Industries Ltd.",
19320
- priority: "Urgent",
19321
- receivedDate: "05-Oct-2026 09:15 AM",
19322
- dueDate: "09-Oct-2026",
19323
- slaStatus: "Critical (18h left)",
19324
- status: "Available",
19325
- assignedTo: "-"
19326
- },
19327
- {
19328
- fileId: 102,
19329
- fileNumber: "FC-2026-0145",
19330
- subject: "Sector 14 Commercial Complex Building Plan Sanction",
19331
- workflowName: "Urban Development Clearance",
19332
- department: "Urban Development",
19333
- applicant: "Apex Constructions Pvt Ltd",
19334
- category: "Commercial Sanction",
19335
- financialYear: "2026-27",
19336
- sender: "Apex Constructions Pvt Ltd",
19337
- priority: "High",
19338
- receivedDate: "05-Oct-2026 11:30 AM",
19339
- dueDate: "12-Oct-2026",
19340
- slaStatus: "Running (4d left)",
19341
- status: "Available",
19342
- assignedTo: "-"
19343
- },
19344
- {
19345
- fileId: 103,
19346
- fileNumber: "FC-2026-0149",
19347
- subject: "Annual Cyber Security Audit & Compliance Report",
19348
- workflowName: "IT Security Compliance",
19349
- department: "Information Technology",
19350
- applicant: "Internal IT Audit Cell",
19351
- category: "Internal Audit",
19352
- financialYear: "2026-27",
19353
- sender: "Internal IT Audit Cell",
19354
- priority: "Medium",
19355
- receivedDate: "06-Oct-2026 02:45 PM",
19356
- dueDate: "15-Oct-2026",
19357
- slaStatus: "Running (7d left)",
19358
- status: "Available",
19359
- assignedTo: "-"
19360
- },
19361
- {
19362
- fileId: 104,
19363
- fileNumber: "FC-2026-0153",
19364
- subject: "Vendor Onboarding & Due Diligence - Cloud Services",
19365
- workflowName: "Procurement & Contracts",
19366
- department: "Procurement Cell",
19367
- applicant: "Global Infotech Solutions",
19368
- category: "Vendor Registration",
19369
- financialYear: "2026-27",
19370
- sender: "Global Infotech Solutions",
19371
- priority: "High",
19372
- receivedDate: "06-Oct-2026 04:10 PM",
19373
- dueDate: "11-Oct-2026",
19374
- slaStatus: "Running (3d left)",
19375
- status: "Available",
19376
- assignedTo: "-"
19377
- },
19378
- {
19379
- fileId: 105,
19380
- fileNumber: "FC-2026-0158",
19381
- subject: "Township Potable Water Pipeline Overhaul Budget Sanction",
19382
- workflowName: "Public Works Approval",
19383
- department: "Public Works & Water",
19384
- applicant: "Municipal Engineering Dept",
19385
- category: "Capital Outlay",
19386
- financialYear: "2026-27",
19387
- sender: "Municipal Engineering Dept",
19388
- priority: "Urgent",
19389
- receivedDate: "07-Oct-2026 08:30 AM",
19390
- dueDate: "10-Oct-2026",
19391
- slaStatus: "Critical (22h left)",
19392
- status: "Available",
19393
- assignedTo: "-"
19394
- },
19395
- {
19396
- fileId: 106,
19397
- fileNumber: "FC-2026-0162",
19398
- subject: "Employee Health Insurance Policy Provider Revision",
19399
- workflowName: "HR & Employee Welfare",
19400
- department: "Human Resources",
19401
- applicant: "Corporate HR Services",
19402
- category: "Policy Reform",
19403
- financialYear: "2026-27",
19404
- sender: "Corporate HR Services",
19405
- priority: "Low",
19406
- receivedDate: "07-Oct-2026 10:00 AM",
19407
- dueDate: "20-Oct-2026",
19408
- slaStatus: "Running (12d left)",
19409
- status: "Available",
19410
- assignedTo: "-"
19411
- },
19412
- {
19413
- fileId: 107,
19414
- fileNumber: "FC-2026-0167",
19415
- subject: "Renewable Solar Rooftop Grid Connectivity NOC",
19416
- workflowName: "Energy Regulatory Clearance",
19417
- department: "Power & Energy",
19418
- applicant: "SunPower Dynamics Ltd",
19419
- category: "Infrastructure NOC",
19420
- financialYear: "2026-27",
19421
- sender: "SunPower Dynamics Ltd",
19422
- priority: "Medium",
19423
- receivedDate: "07-Oct-2026 11:15 AM",
19424
- dueDate: "14-Oct-2026",
19425
- slaStatus: "Running (6d left)",
19426
- status: "Available",
19427
- assignedTo: "-"
19428
- }
19429
- ];
19430
- var INITIAL_MY_FILES = [
19431
- {
19432
- fileId: 201,
19433
- fileNumber: "FC-2026-0112",
19434
- subject: "Hospital Expansion Fire Safety NOC & Site Clearance",
19435
- workflowName: "Fire & Safety Clearance",
19436
- department: "Public Safety",
19437
- applicant: "City Hospital Trust",
19438
- category: "Statutory NOC",
19439
- financialYear: "2026-27",
19440
- sender: "City Hospital Trust",
19441
- priority: "Urgent",
19442
- receivedDate: "03-Oct-2026 10:15 AM",
19443
- dueDate: "08-Oct-2026",
19444
- slaStatus: "Critical (14h left)",
19445
- status: "Assigned to Me",
19446
- assignedTo: "Pankaj Jain"
19447
- },
19448
- {
19449
- fileId: 202,
19450
- fileNumber: "FC-2026-0120",
19451
- subject: "Q3 Departmental Infrastructure Procurement Sanction",
19452
- workflowName: "Financial Sanction",
19453
- department: "Finance & Accounts",
19454
- applicant: "Administration Division",
19455
- category: "Budget Sanction",
19456
- financialYear: "2026-27",
19457
- sender: "Administration Division",
19458
- priority: "High",
19459
- receivedDate: "04-Oct-2026 01:20 PM",
19460
- dueDate: "10-Oct-2026",
19461
- slaStatus: "Running (2d left)",
19462
- status: "In Progress",
19463
- assignedTo: "Pankaj Jain"
19464
- },
19465
- {
19466
- fileId: 203,
19467
- fileNumber: "FC-2026-0128",
19468
- subject: "Public Interest Petition Regarding Street Light Restoration",
19469
- workflowName: "Citizen Grievance Redressal",
19470
- department: "Municipal Affairs",
19471
- applicant: "Ward 12 Residents Forum",
19472
- category: "Citizen Grievance",
19473
- financialYear: "2026-27",
19474
- sender: "Ward 12 Residents Forum",
19475
- priority: "Medium",
19476
- receivedDate: "04-Oct-2026 03:40 PM",
19477
- dueDate: "12-Oct-2026",
19478
- slaStatus: "Running (4d left)",
19479
- status: "In Progress",
19480
- assignedTo: "Pankaj Jain"
19481
- },
19482
- {
19483
- fileId: 204,
19484
- fileNumber: "FC-2026-0135",
19485
- subject: "Sub-Station Electrical Equipment Maintenance Agreement",
19486
- workflowName: "Procurement & Contracts",
19487
- department: "Power & Energy",
19488
- applicant: "State Power Grid Corp",
19489
- category: "AMC Contract",
19490
- financialYear: "2026-27",
19491
- sender: "State Power Grid Corp",
19492
- priority: "Low",
19493
- receivedDate: "05-Oct-2026 09:50 AM",
19494
- dueDate: "16-Oct-2026",
19495
- slaStatus: "Running (8d left)",
19496
- status: "In Progress",
19497
- assignedTo: "Pankaj Jain"
19498
- }
19499
- ];
19500
- var INITIAL_TOTAL_FILES = [
19501
- ...INITIAL_FILE_POOL,
19502
- ...INITIAL_MY_FILES,
19503
- {
19504
- fileId: 301,
19505
- fileNumber: "FC-2026-0095",
19506
- subject: "National Highway Bypass Land Acquisition Settlement",
19507
- workflowName: "Land Revenue & Settlement",
19508
- department: "Land & Revenue",
19509
- applicant: "District Collectorate",
19510
- category: "Land Settlement",
19511
- financialYear: "2026-27",
19512
- sender: "District Magistrate Secretariat",
19513
- priority: "High",
19514
- receivedDate: "28-Sep-2026 11:00 AM",
19515
- dueDate: "05-Oct-2026",
19516
- slaStatus: "Met / Completed",
19517
- status: "Approved",
19518
- assignedTo: "Executive Director"
19519
- },
19520
- {
19521
- fileId: 302,
19522
- fileNumber: "FC-2026-0103",
19523
- subject: "Metro Rail Corridor Phase 2 Tree Relocation Clearance",
19524
- workflowName: "Environmental Clearance",
19525
- department: "Forestry & Environment",
19526
- applicant: "Metro Rail Corporation",
19527
- category: "Forest Clearance",
19528
- financialYear: "2026-27",
19529
- sender: "Metro Rail Corporation",
19530
- priority: "Medium",
19531
- receivedDate: "30-Sep-2026 02:15 PM",
19532
- dueDate: "07-Oct-2026",
19533
- slaStatus: "Met / Completed",
19534
- status: "Completed",
19535
- assignedTo: "Forest Officer"
19536
- },
19537
- {
19538
- fileId: 303,
19539
- fileNumber: "FC-2026-0108",
19540
- subject: "Smart City Traffic Management System Software SLA",
19541
- workflowName: "Urban Development Clearance",
19542
- department: "Information Technology",
19543
- applicant: "Smart Mobility Dept",
19544
- category: "Software License",
19545
- financialYear: "2026-27",
19546
- sender: "Smart Mobility Dept",
19547
- priority: "Low",
19548
- receivedDate: "01-Oct-2026 04:30 PM",
19549
- dueDate: "15-Oct-2026",
19550
- slaStatus: "Running",
19551
- status: "Under Review",
19552
- assignedTo: "Technical Officer"
19553
- }
19554
- ];
19555
19365
  function InboxMain() {
19556
19366
  const [activeTab, setActiveTab] = useState71("filePool");
19557
19367
  const [assignedSteps, setAssignedSteps] = useState71([]);
@@ -19564,7 +19374,7 @@ function InboxMain() {
19564
19374
  const activeRole = (activeRoleDetails == null ? void 0 : activeRoleDetails.stepName) || "No Assigned Step";
19565
19375
  const [filePoolFiles, setFilePoolFiles] = useState71([]);
19566
19376
  const [myFiles, setMyFiles] = useState71([]);
19567
- const [totalFiles, setTotalFiles] = useState71(INITIAL_TOTAL_FILES);
19377
+ const [totalFiles, setTotalFiles] = useState71([]);
19568
19378
  const [refreshKey, setRefreshKey] = useState71(0);
19569
19379
  useEffect51(() => {
19570
19380
  let isCurrent = true;
@@ -19632,6 +19442,7 @@ function InboxMain() {
19632
19442
  if (!activeWorkflowStepId) {
19633
19443
  setFilePoolFiles([]);
19634
19444
  setMyFiles([]);
19445
+ setTotalFiles([]);
19635
19446
  return;
19636
19447
  }
19637
19448
  try {
@@ -19649,18 +19460,28 @@ function InboxMain() {
19649
19460
  if (!myFilesEndpoint) {
19650
19461
  throw new Error("My Files list endpoint is not configured (flowCore.inbox.getMyFilesList).");
19651
19462
  }
19463
+ const completedFilesEndpoint = getInboxEndpoint(
19464
+ ["inbox", "Inbox", "completedFiles", "CompletedFiles"],
19465
+ "getFilesCompleteList"
19466
+ );
19467
+ if (!completedFilesEndpoint) {
19468
+ throw new Error("Completed Files endpoint is not configured (flowCore.inbox.getFilesCompleteList).");
19469
+ }
19652
19470
  const payload = { workflowStepId: Number(activeWorkflowStepId) };
19653
- const [poolResponse, myFilesResponse] = await Promise.all([
19471
+ const [poolResponse, myFilesResponse, completedFilesResponse] = await Promise.all([
19654
19472
  getApiService().post(unclaimedFilesEndpoint, payload),
19655
- getApiService().post(myFilesEndpoint, payload)
19473
+ getApiService().post(myFilesEndpoint, payload),
19474
+ getApiService().post(completedFilesEndpoint, payload)
19656
19475
  ]);
19657
19476
  if (!isCurrent) return;
19658
19477
  setFilePoolFiles(unwrapInboxRows(poolResponse).map(normalizePoolFile));
19659
19478
  setMyFiles(unwrapInboxRows(myFilesResponse).map(normalizeMyFile));
19479
+ setTotalFiles(unwrapInboxRows(completedFilesResponse).map(normalizeMyFile));
19660
19480
  } catch (error) {
19661
19481
  if (!isCurrent) return;
19662
19482
  setFilePoolFiles([]);
19663
19483
  setMyFiles([]);
19484
+ setTotalFiles([]);
19664
19485
  await Swal29.fire(
19665
19486
  "Error",
19666
19487
  ((_b = (_a = error == null ? void 0 : error.response) == null ? void 0 : _a.data) == null ? void 0 : _b.message) || (error == null ? void 0 : error.message) || "Unable to load inbox files.",
@@ -19907,16 +19728,40 @@ function InboxMain() {
19907
19728
  setSelectedActionFile(file);
19908
19729
  setActionModalOpen(true);
19909
19730
  };
19910
- const handleActionSubmit = async ({ file, actionType, remarks }) => {
19911
- setActionModalOpen(false);
19912
- await Swal29.fire({
19913
- icon: "success",
19914
- title: "Action Processed!",
19915
- html: `Action <strong>${actionType.toUpperCase()}</strong> on file <strong>${file.fileNumber}</strong> recorded successfully.${remarks ? `<br/><small class="text-slate-500">Remarks: ${remarks}</small>` : ""}`,
19916
- confirmButtonColor: "#059669",
19917
- timer: 3e3,
19918
- timerProgressBar: true
19919
- });
19731
+ const handleActionSubmit = async ({ file, actionCode, actionLabel, remarks }) => {
19732
+ var _a, _b, _c;
19733
+ try {
19734
+ const endpoint2 = getInboxEndpoint(["inbox"], ["ExecutionFlow", "executeAction", "executionFlow"]);
19735
+ if (!endpoint2) throw new Error("Workflow execution endpoint is not configured.");
19736
+ const taskInstanceId = Number((_a = file.taskInstanceId) != null ? _a : file.TaskInstanceId);
19737
+ if (!Number.isInteger(taskInstanceId) || taskInstanceId <= 0) {
19738
+ throw new Error("Task instance ID is missing for this file.");
19739
+ }
19740
+ await getApiService().post(endpoint2, {
19741
+ taskInstanceId,
19742
+ actionCode,
19743
+ comments: remarks.trim()
19744
+ });
19745
+ setActionModalOpen(false);
19746
+ setSelectedActionFile(null);
19747
+ setRefreshKey((previous) => previous + 1);
19748
+ await Swal29.fire({
19749
+ icon: "success",
19750
+ title: "Action Processed!",
19751
+ text: `${actionLabel || actionCode} on file ${file.fileNumber} recorded successfully.${remarks.trim() ? ` Remarks: ${remarks.trim()}` : ""}`,
19752
+ confirmButtonColor: "#059669",
19753
+ timer: 3e3,
19754
+ timerProgressBar: true
19755
+ });
19756
+ return true;
19757
+ } catch (error) {
19758
+ await Swal29.fire(
19759
+ "Error",
19760
+ ((_c = (_b = error == null ? void 0 : error.response) == null ? void 0 : _b.data) == null ? void 0 : _c.message) || (error == null ? void 0 : error.message) || "Unable to execute workflow action.",
19761
+ "error"
19762
+ );
19763
+ return false;
19764
+ }
19920
19765
  };
19921
19766
  const handleOpenView = (file) => {
19922
19767
  setSelectedViewFile(file);
@@ -20088,7 +19933,7 @@ function InboxMain() {
20088
19933
  className: `fc:flex fc:items-center fc:gap-2.5 fc:px-4 fc:py-2 fc:rounded-xl fc:text-xs fc:font-bold fc:transition-all ${activeTab === "filePool" ? "fc:bg-blue-600 fc:text-white fc:shadow-md fc:shadow-blue-500/25" : "fc:text-slate-600 hover:fc:text-slate-900 hover:fc:bg-white/60"}`,
20089
19934
  children: [
20090
19935
  /* @__PURE__ */ jsx97(RiInboxArchiveLine2, { size: 16 }),
20091
- /* @__PURE__ */ jsx97("span", { children: "File Pool" }),
19936
+ /* @__PURE__ */ jsx97("span", { children: "Unclaimed Files" }),
20092
19937
  /* @__PURE__ */ jsx97(
20093
19938
  "span",
20094
19939
  {
@@ -20126,7 +19971,7 @@ function InboxMain() {
20126
19971
  className: `fc:flex fc:items-center fc:gap-2.5 fc:px-4 fc:py-2 fc:rounded-xl fc:text-xs fc:font-bold fc:transition-all ${activeTab === "totalFiles" ? "fc:bg-slate-800 fc:text-white fc:shadow-md fc:shadow-slate-800/25" : "fc:text-slate-600 hover:fc:text-slate-900 hover:fc:bg-white/60"}`,
20127
19972
  children: [
20128
19973
  /* @__PURE__ */ jsx97(RiFileUploadLine, { size: 16 }),
20129
- /* @__PURE__ */ jsx97("span", { children: "Total Files" }),
19974
+ /* @__PURE__ */ jsx97("span", { children: "Completed Files" }),
20130
19975
  /* @__PURE__ */ jsx97(
20131
19976
  "span",
20132
19977
  {
@@ -21023,521 +20868,11 @@ function TrackingSlipModal({ isOpen, onClose, application }) {
21023
20868
 
21024
20869
  // src/components/track-application/TrackApplicationMain.jsx
21025
20870
  import { Fragment as Fragment5, jsx as jsx99, jsxs as jsxs98 } from "react/jsx-runtime";
21026
- var APPLICATION_DATABASE = [
21027
- {
21028
- fileId: 202,
21029
- fileNumber: "FC-2026-0120",
21030
- subject: "Q3 Departmental Infrastructure Procurement Sanction",
21031
- workflowName: "Financial Sanction",
21032
- department: "Finance & Accounts",
21033
- applicant: "Administration Division",
21034
- category: "Budget Sanction",
21035
- financialYear: "2026-27",
21036
- sender: "Administration Division",
21037
- priority: "High",
21038
- receivedDate: "04-Oct-2026 01:20 PM",
21039
- dueDate: "10-Oct-2026",
21040
- slaStatus: "Running (2d left)",
21041
- status: "In Progress",
21042
- assignedTo: "Pankaj Jain",
21043
- currentStep: "Budget Head Appropriation",
21044
- progressPercent: 60,
21045
- stages: [
21046
- {
21047
- stageId: 1,
21048
- title: "Indents Consolidated",
21049
- description: "Department hardware requisitions.",
21050
- status: "completed",
21051
- date: "04-Oct-2026 01:20 PM",
21052
- officer: "Admin Division"
21053
- },
21054
- {
21055
- stageId: 2,
21056
- title: "Budget Availability Check",
21057
- description: "Major Head 2052 Capital Outlay.",
21058
- status: "completed",
21059
- date: "05-Oct-2026 11:00 AM",
21060
- officer: "Accounts Officer"
21061
- },
21062
- {
21063
- stageId: 3,
21064
- title: "Competent Authority Sanction",
21065
- description: "Review by Principal Secretary.",
21066
- status: "in-progress",
21067
- date: "Running (Active)",
21068
- officer: "Pankaj Jain"
21069
- },
21070
- {
21071
- stageId: 4,
21072
- title: "Sanction Letter Release",
21073
- description: "Formal expenditure sanction order.",
21074
- status: "pending",
21075
- date: "Target: 10-Oct-2026",
21076
- officer: "Finance Secretariat"
21077
- }
21078
- ],
21079
- movementHistory: [
21080
- {
21081
- id: 1,
21082
- fromStep: "Admin Division",
21083
- toStep: "Finance Scrutiny Cell",
21084
- action: "Sanction Proposal Sent",
21085
- officer: "Joint Secretary Admin",
21086
- timestamp: "04-Oct-2026 01:20 PM",
21087
- remarks: "Proposal for IT hardware and server capacity upgrade."
21088
- },
21089
- {
21090
- id: 2,
21091
- fromStep: "Finance Scrutiny Cell",
21092
- toStep: "Reviewer Desk",
21093
- action: "Budget Validated",
21094
- officer: "Accounts Officer",
21095
- timestamp: "05-Oct-2026 11:00 AM",
21096
- remarks: "Funds verified in current FY allocation."
21097
- }
21098
- ],
21099
- documents: [
21100
- { name: "Detailed Itemized Expense Estimate", type: "PDF", size: "1.9 MB", status: "Verified" },
21101
- { name: "Comparative Quotation Statement", type: "PDF", size: "1.5 MB", status: "Verified" }
21102
- ]
21103
- },
21104
- {
21105
- fileId: 101,
21106
- fileNumber: "FC-2026-0142",
21107
- subject: "Industrial Waste Discharge License Renewal Application",
21108
- workflowName: "Environmental Clearance",
21109
- department: "Environment & Forests",
21110
- applicant: "GreenTech Industries Ltd.",
21111
- category: "Statutory Renewal",
21112
- financialYear: "2026-27",
21113
- sender: "GreenTech Industries Ltd.",
21114
- priority: "Urgent",
21115
- receivedDate: "05-Oct-2026 09:15 AM",
21116
- dueDate: "09-Oct-2026",
21117
- slaStatus: "Critical (18h left)",
21118
- status: "Under Scrutiny",
21119
- assignedTo: "Pankaj Jain (Reviewer)",
21120
- currentStep: "Scrutiny & Review",
21121
- progressPercent: 50,
21122
- stages: [
21123
- {
21124
- stageId: 1,
21125
- title: "Application Registration",
21126
- description: "Application filed online via Single Window Portal.",
21127
- status: "completed",
21128
- date: "05-Oct-2026 09:15 AM",
21129
- officer: "Portal Gateway"
21130
- },
21131
- {
21132
- stageId: 2,
21133
- title: "Document Verification",
21134
- description: "Scrutiny of ETP specifications.",
21135
- status: "completed",
21136
- date: "05-Oct-2026 02:30 PM",
21137
- officer: "Pankaj Jain (Reviewer)"
21138
- },
21139
- {
21140
- stageId: 3,
21141
- title: "Field Inspection & Sampling",
21142
- description: "Pollution Control Board site inspection.",
21143
- status: "in-progress",
21144
- date: "Running (Due: 08-Oct)",
21145
- officer: "Er. Ramesh Verma"
21146
- },
21147
- {
21148
- stageId: 4,
21149
- title: "Appraisal Committee Review",
21150
- description: "State Expert Appraisal Committee review.",
21151
- status: "pending",
21152
- date: "Pending Stage 3",
21153
- officer: "Member Secretary"
21154
- },
21155
- {
21156
- stageId: 5,
21157
- title: "Final NOC & Certificate",
21158
- description: "Issuance of renewal license.",
21159
- status: "pending",
21160
- date: "Target: 09-Oct-2026",
21161
- officer: "Directorate of Env."
21162
- }
21163
- ],
21164
- movementHistory: [
21165
- {
21166
- id: 1,
21167
- fromStep: "Citizen Portal",
21168
- toStep: "Central Inward Registry",
21169
- action: "Application Submitted",
21170
- officer: "GreenTech Representative",
21171
- timestamp: "05-Oct-2026 09:15 AM",
21172
- remarks: "Online application submitted with license renewal fee."
21173
- },
21174
- {
21175
- id: 2,
21176
- fromStep: "Central Inward Registry",
21177
- toStep: "Scrutiny Desk",
21178
- action: "Forwarded for Scrutiny",
21179
- officer: "System Auto-Router",
21180
- timestamp: "05-Oct-2026 09:30 AM",
21181
- remarks: "Automated routing based on Environmental Clearance rule."
21182
- },
21183
- {
21184
- id: 3,
21185
- fromStep: "Scrutiny Desk",
21186
- toStep: "Pollution Control Inspection Cell",
21187
- action: "Under Active Scrutiny",
21188
- officer: "Pankaj Jain (Reviewer)",
21189
- timestamp: "05-Oct-2026 02:30 PM",
21190
- remarks: "Documents cleared. Site sample report requested."
21191
- }
21192
- ],
21193
- documents: [
21194
- { name: "Effluent Treatment Plant (ETP) Specification", type: "PDF", size: "3.4 MB", status: "Verified" },
21195
- { name: "Previous Financial Year Audit Log", type: "PDF", size: "1.8 MB", status: "Verified" },
21196
- { name: "Factory Site Coordinate Map", type: "PDF", size: "850 KB", status: "Under Scrutiny" }
21197
- ]
21198
- },
21199
- {
21200
- fileId: 102,
21201
- fileNumber: "FC-2026-0145",
21202
- subject: "Sector 14 Commercial Complex Building Plan Sanction",
21203
- workflowName: "Urban Development Clearance",
21204
- department: "Urban Development",
21205
- applicant: "Apex Constructions Pvt Ltd",
21206
- category: "Commercial Sanction",
21207
- financialYear: "2026-27",
21208
- sender: "Apex Constructions Pvt Ltd",
21209
- priority: "High",
21210
- receivedDate: "05-Oct-2026 11:30 AM",
21211
- dueDate: "12-Oct-2026",
21212
- slaStatus: "Running (4d left)",
21213
- status: "In Progress",
21214
- assignedTo: "Town Planner Cell",
21215
- currentStep: "Architectural Layout Verification",
21216
- progressPercent: 40,
21217
- stages: [
21218
- {
21219
- stageId: 1,
21220
- title: "Application Registration",
21221
- description: "Commercial sanction proposal filed.",
21222
- status: "completed",
21223
- date: "05-Oct-2026 11:30 AM",
21224
- officer: "Town Planning Portal"
21225
- },
21226
- {
21227
- stageId: 2,
21228
- title: "Town Planning Scrutiny",
21229
- description: "Floor area ratio and parking check.",
21230
- status: "in-progress",
21231
- date: "In Progress",
21232
- officer: "Chief Town Planner"
21233
- },
21234
- {
21235
- stageId: 3,
21236
- title: "Fire & Safety NOC",
21237
- description: "Driveway and structural load clearance.",
21238
- status: "pending",
21239
- date: "Pending Stage 2",
21240
- officer: "Fire Safety Dept"
21241
- },
21242
- {
21243
- stageId: 4,
21244
- title: "Municipal Commissioner Sanction",
21245
- description: "Final statutory sanction order.",
21246
- status: "pending",
21247
- date: "Target: 12-Oct-2026",
21248
- officer: "Municipal Comm."
21249
- }
21250
- ],
21251
- movementHistory: [
21252
- {
21253
- id: 1,
21254
- fromStep: "Citizen Portal",
21255
- toStep: "Urban Planning Registry",
21256
- action: "Filing Received",
21257
- officer: "Apex Constructions",
21258
- timestamp: "05-Oct-2026 11:30 AM",
21259
- remarks: "Proposal registered under Commercial Category A."
21260
- }
21261
- ],
21262
- documents: [
21263
- { name: "Structural Design Blueprint (CAD)", type: "PDF", size: "9.2 MB", status: "Verified" },
21264
- { name: "Land Ownership Deed", type: "PDF", size: "2.1 MB", status: "Verified" }
21265
- ]
21266
- },
21267
- {
21268
- fileId: 201,
21269
- fileNumber: "FC-2026-0112",
21270
- subject: "Hospital Expansion Fire Safety NOC & Site Clearance",
21271
- workflowName: "Fire & Safety Clearance",
21272
- department: "Public Safety",
21273
- applicant: "City Hospital Trust",
21274
- category: "Statutory NOC",
21275
- financialYear: "2026-27",
21276
- sender: "City Hospital Trust",
21277
- priority: "Urgent",
21278
- receivedDate: "03-Oct-2026 10:15 AM",
21279
- dueDate: "08-Oct-2026",
21280
- slaStatus: "Critical (14h left)",
21281
- status: "Under Review",
21282
- assignedTo: "Pankaj Jain (Reviewer)",
21283
- currentStep: "Hydrant & Evacuation Inspection",
21284
- progressPercent: 75,
21285
- stages: [
21286
- {
21287
- stageId: 1,
21288
- title: "Application Received",
21289
- description: "200-bed extension fire clearance.",
21290
- status: "completed",
21291
- date: "03-Oct-2026 10:15 AM",
21292
- officer: "Disaster Desk"
21293
- },
21294
- {
21295
- stageId: 2,
21296
- title: "Architectural Audit",
21297
- description: "Emergency exits and fire lifts check.",
21298
- status: "completed",
21299
- date: "04-Oct-2026 02:00 PM",
21300
- officer: "Pankaj Jain"
21301
- },
21302
- {
21303
- stageId: 3,
21304
- title: "Hydrant Pressure Test",
21305
- description: "Physical inspection of water tanks.",
21306
- status: "in-progress",
21307
- date: "Running (Critical)",
21308
- officer: "Inspection Team"
21309
- },
21310
- {
21311
- stageId: 4,
21312
- title: "Issuance of Certificate",
21313
- description: "Final statutory NOC issuance.",
21314
- status: "pending",
21315
- date: "Target: 08-Oct-2026",
21316
- officer: "DG Fire Services"
21317
- }
21318
- ],
21319
- movementHistory: [
21320
- {
21321
- id: 1,
21322
- fromStep: "City Hospital Trust",
21323
- toStep: "Public Safety Central Registry",
21324
- action: "Application Filed",
21325
- officer: "Trust Secretary",
21326
- timestamp: "03-Oct-2026 10:15 AM",
21327
- remarks: "Priority expedited due to public healthcare expansion."
21328
- }
21329
- ],
21330
- documents: [
21331
- { name: "Emergency Evacuation Route Map", type: "PDF", size: "3.9 MB", status: "Verified" }
21332
- ]
21333
- },
21334
- {
21335
- fileId: 104,
21336
- fileNumber: "FC-2026-0153",
21337
- subject: "Vendor Onboarding & Due Diligence - Cloud Services",
21338
- workflowName: "Procurement & Contracts",
21339
- department: "Procurement Cell",
21340
- applicant: "Global Infotech Solutions",
21341
- category: "Vendor Registration",
21342
- financialYear: "2026-27",
21343
- sender: "Global Infotech Solutions",
21344
- priority: "High",
21345
- receivedDate: "06-Oct-2026 04:10 PM",
21346
- dueDate: "11-Oct-2026",
21347
- slaStatus: "Running (3d left)",
21348
- status: "In Progress",
21349
- assignedTo: "Tender Committee",
21350
- currentStep: "Financial Bid Eligibility",
21351
- progressPercent: 45,
21352
- stages: [
21353
- {
21354
- stageId: 1,
21355
- title: "Vendor Registration",
21356
- description: "Tender credentials submitted.",
21357
- status: "completed",
21358
- date: "06-Oct-2026 04:10 PM",
21359
- officer: "e-Procurement Portal"
21360
- },
21361
- {
21362
- stageId: 2,
21363
- title: "Technical Eligibility",
21364
- description: "Past experience evaluation.",
21365
- status: "completed",
21366
- date: "07-Oct-2026 10:00 AM",
21367
- officer: "Evaluation Board"
21368
- },
21369
- {
21370
- stageId: 3,
21371
- title: "Financial Eligibility",
21372
- description: "Balance sheets and solvency audit.",
21373
- status: "in-progress",
21374
- date: "Running",
21375
- officer: "Finance Officer"
21376
- },
21377
- {
21378
- stageId: 4,
21379
- title: "Contract Award",
21380
- description: "SLA and agreement execution.",
21381
- status: "pending",
21382
- date: "Target: 11-Oct-2026",
21383
- officer: "Director Procurement"
21384
- }
21385
- ],
21386
- movementHistory: [
21387
- {
21388
- id: 1,
21389
- fromStep: "Vendor Portal",
21390
- toStep: "Procurement Intake",
21391
- action: "Bid Registered",
21392
- officer: "Global Infotech",
21393
- timestamp: "06-Oct-2026 04:10 PM",
21394
- remarks: "Online submission with Earnest Money Deposit receipt."
21395
- }
21396
- ],
21397
- documents: [
21398
- { name: "Audited Balance Sheets (3 Years)", type: "PDF", size: "5.1 MB", status: "Verified" }
21399
- ]
21400
- },
21401
- {
21402
- fileId: 203,
21403
- fileNumber: "FC-2026-0128",
21404
- subject: "Public Interest Petition Regarding Street Light Restoration",
21405
- workflowName: "Citizen Grievance Redressal",
21406
- department: "Municipal Affairs",
21407
- applicant: "Ward 12 Residents Forum",
21408
- category: "Citizen Grievance",
21409
- financialYear: "2026-27",
21410
- sender: "Ward 12 Residents Forum",
21411
- priority: "Medium",
21412
- receivedDate: "04-Oct-2026 03:40 PM",
21413
- dueDate: "12-Oct-2026",
21414
- slaStatus: "Running (4d left)",
21415
- status: "In Progress",
21416
- assignedTo: "Pankaj Jain",
21417
- currentStep: "Field Action Team Dispatch",
21418
- progressPercent: 55,
21419
- stages: [
21420
- {
21421
- stageId: 1,
21422
- title: "Petition Lodged",
21423
- description: "Grievance received through CM Helpline.",
21424
- status: "completed",
21425
- date: "04-Oct-2026 03:40 PM",
21426
- officer: "Citizen Helpdesk"
21427
- },
21428
- {
21429
- stageId: 2,
21430
- title: "Ward Engineer Assigned",
21431
- description: "Underground cabling check.",
21432
- status: "completed",
21433
- date: "05-Oct-2026 10:00 AM",
21434
- officer: "Assistant Engineer"
21435
- },
21436
- {
21437
- stageId: 3,
21438
- title: "Repair & Cable Laying",
21439
- description: "Cable and fixture replacements.",
21440
- status: "in-progress",
21441
- date: "Running",
21442
- officer: "Field Squad"
21443
- },
21444
- {
21445
- stageId: 4,
21446
- title: "Resolution & Closure",
21447
- description: "Confirmation with petitioner.",
21448
- status: "pending",
21449
- date: "Target: 12-Oct-2026",
21450
- officer: "Pankaj Jain"
21451
- }
21452
- ],
21453
- movementHistory: [
21454
- {
21455
- id: 1,
21456
- fromStep: "Citizen Helpdesk",
21457
- toStep: "Municipal Electrical Division",
21458
- action: "Grievance Categorized",
21459
- officer: "Helpdesk Officer",
21460
- timestamp: "04-Oct-2026 03:40 PM",
21461
- remarks: "Ward 12 Main Sector street illumination failure complaint."
21462
- }
21463
- ],
21464
- documents: [
21465
- { name: "Citizen Complaint Letter", type: "PDF", size: "1.1 MB", status: "Verified" }
21466
- ]
21467
- },
21468
- {
21469
- fileId: 301,
21470
- fileNumber: "FC-2026-0095",
21471
- subject: "National Highway Bypass Land Acquisition Settlement",
21472
- workflowName: "Land Revenue & Settlement",
21473
- department: "Land & Revenue",
21474
- applicant: "District Collectorate",
21475
- category: "Land Settlement",
21476
- financialYear: "2026-27",
21477
- sender: "District Magistrate Secretariat",
21478
- priority: "High",
21479
- receivedDate: "28-Sep-2026 11:00 AM",
21480
- dueDate: "05-Oct-2026",
21481
- slaStatus: "Met / Completed",
21482
- status: "Completed",
21483
- assignedTo: "Executive Director",
21484
- currentStep: "Award Pronouncement & Compensation",
21485
- progressPercent: 100,
21486
- stages: [
21487
- {
21488
- stageId: 1,
21489
- title: "Section 4 Notification",
21490
- description: "Survey of affected parcels.",
21491
- status: "completed",
21492
- date: "28-Sep-2026 11:00 AM",
21493
- officer: "Land Acquisition Officer"
21494
- },
21495
- {
21496
- stageId: 2,
21497
- title: "Public Hearing",
21498
- description: "Hearing of titleholders.",
21499
- status: "completed",
21500
- date: "30-Sep-2026 04:00 PM",
21501
- officer: "ADM Revenue"
21502
- },
21503
- {
21504
- stageId: 3,
21505
- title: "Award Declaration",
21506
- description: "Compensation disbursed to bank accounts.",
21507
- status: "completed",
21508
- date: "04-Oct-2026 01:30 PM",
21509
- officer: "Executive Director"
21510
- },
21511
- {
21512
- stageId: 4,
21513
- title: "Possession Handover",
21514
- description: "Corridor transferred to NHAI.",
21515
- status: "completed",
21516
- date: "05-Oct-2026 11:00 AM",
21517
- officer: "DM Secretariat"
21518
- }
21519
- ],
21520
- movementHistory: [
21521
- {
21522
- id: 1,
21523
- fromStep: "NHAI Project Office",
21524
- toStep: "Revenue Department",
21525
- action: "Acquisition Proposed",
21526
- officer: "Project Director",
21527
- timestamp: "28-Sep-2026 11:00 AM",
21528
- remarks: "Proposal for bypass corridor land transfer."
21529
- }
21530
- ],
21531
- documents: [
21532
- { name: "Final Land Award Gazette Notification", type: "PDF", size: "4.1 MB", status: "Verified" }
21533
- ]
21534
- }
21535
- ];
20871
+ var APPLICATION_DATABASE = [];
21536
20872
  function TrackApplicationMain() {
21537
20873
  var _a, _b, _c;
21538
20874
  const [trackQuery, setTrackQuery] = useState72("");
21539
- const [selectedApplication, setSelectedApplication] = useState72(APPLICATION_DATABASE[0]);
21540
- const [isSearching, setIsSearching] = useState72(false);
20875
+ const [selectedApplication, setSelectedApplication] = useState72(null);
21541
20876
  const [activeTab, setActiveTab] = useState72("timeline");
21542
20877
  const [viewMode, setViewMode] = useState72("tracker");
21543
20878
  const [tableSearch, setTableSearch] = useState72("");
@@ -21547,119 +20882,25 @@ function TrackApplicationMain() {
21547
20882
  const [sortColumn, setSortColumn] = useState72("");
21548
20883
  const [sortDirection, setSortDirection] = useState72("asc");
21549
20884
  const [slipModalOpen, setSlipModalOpen] = useState72(false);
21550
- const popularFileNumbers = [
21551
- "FC-2026-0120",
21552
- "FC-2026-0142",
21553
- "FC-2026-0145",
21554
- "FC-2026-0112",
21555
- "FC-2026-0153",
21556
- "FC-2026-0128",
21557
- "FC-2026-0095"
21558
- ];
21559
- const handleTrack = (fileNoToTrack) => {
20885
+ const handleTrack = async (fileNoToTrack) => {
21560
20886
  const targetNo = (fileNoToTrack || trackQuery).trim().toUpperCase();
21561
20887
  if (!targetNo) {
21562
20888
  Swal30.fire({
21563
20889
  icon: "warning",
21564
20890
  title: "Please enter an Application No.",
21565
- text: "Example: FC-2026-0120 or select one from quick chips.",
20891
+ text: "Enter an application or file number to search.",
21566
20892
  confirmButtonColor: "#2563eb"
21567
20893
  });
21568
20894
  return;
21569
20895
  }
21570
- setIsSearching(true);
21571
- setTimeout(() => {
21572
- setIsSearching(false);
21573
- const matched = APPLICATION_DATABASE.find(
21574
- (app) => app.fileNumber.toUpperCase() === targetNo || app.fileNumber.toUpperCase().includes(targetNo)
21575
- );
21576
- if (matched) {
21577
- setSelectedApplication(matched);
21578
- setTrackQuery(matched.fileNumber);
21579
- setViewMode("tracker");
21580
- Swal30.fire({
21581
- icon: "success",
21582
- title: "Application Found",
21583
- text: `${matched.fileNumber} (${matched.workflowName})`,
21584
- toast: true,
21585
- position: "top-end",
21586
- timer: 1800,
21587
- showConfirmButton: false
21588
- });
21589
- } else {
21590
- const synthesizedApp = {
21591
- fileId: Date.now(),
21592
- fileNumber: targetNo,
21593
- subject: `General Regulatory & Administrative Filing for ${targetNo}`,
21594
- workflowName: "Citizen & Enterprise Service Clearance",
21595
- department: "General Administration",
21596
- applicant: "Registered Enterprise Applicant",
21597
- category: "General Application",
21598
- financialYear: "2026-27",
21599
- sender: "Registered Enterprise Applicant",
21600
- priority: "Medium",
21601
- receivedDate: "07-Oct-2026 10:00 AM",
21602
- dueDate: "15-Oct-2026",
21603
- slaStatus: "Running (8d left)",
21604
- status: "Under Scrutiny",
21605
- assignedTo: "Pankaj Jain (Reviewer)",
21606
- currentStep: "Document Verification & Initial Scrutiny",
21607
- progressPercent: 40,
21608
- stages: [
21609
- {
21610
- stageId: 1,
21611
- title: "Application Registration",
21612
- description: `Application ${targetNo} registered successfully.`,
21613
- status: "completed",
21614
- date: "07-Oct-2026 10:00 AM",
21615
- officer: "System Gateway"
21616
- },
21617
- {
21618
- stageId: 2,
21619
- title: "Scrutiny & Verification",
21620
- description: "Reviewer checking attached documents.",
21621
- status: "in-progress",
21622
- date: "Running (Active)",
21623
- officer: "Pankaj Jain (Reviewer)"
21624
- },
21625
- {
21626
- stageId: 3,
21627
- title: "Competent Authority Decision",
21628
- description: "Final approval by department directorate.",
21629
- status: "pending",
21630
- date: "Pending Stage 2",
21631
- officer: "Designated Authority"
21632
- }
21633
- ],
21634
- movementHistory: [
21635
- {
21636
- id: 1,
21637
- fromStep: "Portal Inward Desk",
21638
- toStep: "Central Review Cell",
21639
- action: "Submitted & Allocated",
21640
- officer: "System Router",
21641
- timestamp: "07-Oct-2026 10:00 AM",
21642
- remarks: `Application ${targetNo} received and queued for review.`
21643
- }
21644
- ],
21645
- documents: [
21646
- { name: "Registration Acknowledgement", type: "PDF", size: "850 KB", status: "Verified" }
21647
- ]
21648
- };
21649
- setSelectedApplication(synthesizedApp);
21650
- setTrackQuery(targetNo);
21651
- setViewMode("tracker");
21652
- Swal30.fire({
21653
- icon: "info",
21654
- title: "Application Loaded",
21655
- text: `Application ${targetNo} loaded in tracking dashboard.`,
21656
- toast: true,
21657
- position: "top-end",
21658
- timer: 2e3,
21659
- showConfirmButton: false
21660
- });
21661
- }
21662
- }, 200);
20896
+ setTrackQuery(targetNo);
20897
+ setSelectedApplication(null);
20898
+ await Swal30.fire({
20899
+ icon: "warning",
20900
+ title: "Tracking API is not configured",
20901
+ text: "No tracking endpoint is configured, so application data cannot be loaded.",
20902
+ confirmButtonColor: "#2563eb"
20903
+ });
21663
20904
  };
21664
20905
  const handleCopyFileNumber = (no) => {
21665
20906
  navigator.clipboard.writeText(no);
@@ -21751,22 +20992,7 @@ function TrackApplicationMain() {
21751
20992
  ] })
21752
20993
  ] }),
21753
20994
  /* @__PURE__ */ jsxs98("div", { className: "fc:flex fc:items-center fc:gap-3 fc:shrink-0", children: [
21754
- /* @__PURE__ */ jsxs98("div", { className: "fc:flex fc:items-center fc:gap-3 fc:bg-slate-50/90 fc:border fc:border-slate-200/80 fc:rounded-2xl fc:p-1.5 fc:pr-3.5 fc:shadow-sm", children: [
21755
- /* @__PURE__ */ jsxs98("div", { className: "fc:relative fc:shrink-0", children: [
21756
- /* @__PURE__ */ jsx99("div", { className: "fc:w-9 fc:h-9 fc:rounded-xl fc:bg-gradient-to-br fc:from-blue-600 fc:to-indigo-600 fc:text-white fc:font-extrabold fc:text-xs fc:flex fc:items-center fc:justify-center fc:shadow-sm", children: "PJ" }),
21757
- /* @__PURE__ */ jsx99("span", { className: "fc:absolute fc:-bottom-0.5 fc:-right-0.5 fc:w-2.5 fc:h-2.5 fc:bg-emerald-500 fc:border-2 fc:border-white fc:rounded-full" })
21758
- ] }),
21759
- /* @__PURE__ */ jsxs98("div", { className: "fc:flex fc:flex-col fc:justify-center", children: [
21760
- /* @__PURE__ */ jsxs98("div", { className: "fc:flex fc:items-center fc:gap-2", children: [
21761
- /* @__PURE__ */ jsx99("span", { className: "fc:text-xs fc:font-extrabold fc:text-slate-800", children: "Pankaj Jain" }),
21762
- /* @__PURE__ */ jsx99("span", { className: "fc:text-[10px] fc:font-bold fc:bg-blue-50 fc:text-blue-700 fc:px-1.5 fc:py-0.2 fc:rounded fc:border fc:border-blue-100", children: "Reviewer" })
21763
- ] }),
21764
- /* @__PURE__ */ jsxs98("div", { className: "fc:flex fc:items-center fc:gap-1.5 fc:mt-0.5", children: [
21765
- /* @__PURE__ */ jsx99("span", { className: "fc:text-[10px] fc:text-slate-400 fc:font-medium", children: "Active Step:" }),
21766
- /* @__PURE__ */ jsx99("span", { className: "fc:text-[10px] fc:font-bold fc:text-indigo-600 fc:bg-indigo-50/80 fc:px-1.5 fc:py-0.2 fc:rounded", children: "Scrutiny & Review" })
21767
- ] })
21768
- ] })
21769
- ] }),
20995
+ /* @__PURE__ */ jsx99("div", { className: "fc:rounded-xl fc:border fc:border-slate-200 fc:bg-slate-50 fc:px-3 fc:py-2 fc:text-xs fc:font-semibold fc:text-slate-600", children: (selectedApplication == null ? void 0 : selectedApplication.fileNumber) || "No application selected" }),
21770
20996
  /* @__PURE__ */ jsx99(
21771
20997
  "button",
21772
20998
  {
@@ -21780,412 +21006,400 @@ function TrackApplicationMain() {
21780
21006
  ] })
21781
21007
  ] })
21782
21008
  ] }),
21783
- /* @__PURE__ */ jsxs98("div", { className: "fc:bg-white fc:border fc:border-slate-200 fc:rounded-2xl fc:p-3.5 fc:shadow-sm", children: [
21784
- /* @__PURE__ */ jsxs98("div", { className: "fc:flex fc:flex-col lg:fc:flex-row lg:fc:items-center lg:fc:justify-between fc:gap-3", children: [
21785
- /* @__PURE__ */ jsxs98("div", { className: "fc:inline-flex fc:items-center fc:p-1 fc:bg-slate-100/90 fc:rounded-xl fc:border fc:border-slate-200/80 fc:gap-1 fc:shrink-0", children: [
21786
- /* @__PURE__ */ jsxs98(
21787
- "button",
21009
+ /* @__PURE__ */ jsx99("div", { className: "fc:bg-white fc:border fc:border-slate-200 fc:rounded-2xl fc:p-3.5 fc:shadow-sm", children: /* @__PURE__ */ jsxs98("div", { className: "fc:flex fc:flex-col lg:fc:flex-row lg:fc:items-center lg:fc:justify-between fc:gap-3", children: [
21010
+ /* @__PURE__ */ jsxs98("div", { className: "fc:inline-flex fc:items-center fc:p-1 fc:bg-slate-100/90 fc:rounded-xl fc:border fc:border-slate-200/80 fc:gap-1 fc:shrink-0", children: [
21011
+ /* @__PURE__ */ jsxs98(
21012
+ "button",
21013
+ {
21014
+ type: "button",
21015
+ onClick: () => setViewMode("tracker"),
21016
+ className: `fc:flex fc:items-center fc:gap-2 fc:px-3.5 fc:py-2 fc:rounded-lg fc:text-xs fc:font-bold fc:transition-all ${viewMode === "tracker" ? "fc:bg-blue-600 fc:text-white fc:shadow-sm" : "fc:text-slate-600 hover:fc:text-slate-900"}`,
21017
+ children: [
21018
+ /* @__PURE__ */ jsx99(RiRouteLine2, { size: 15 }),
21019
+ /* @__PURE__ */ jsx99("span", { children: "Tracking Dashboard" })
21020
+ ]
21021
+ }
21022
+ ),
21023
+ /* @__PURE__ */ jsxs98(
21024
+ "button",
21025
+ {
21026
+ type: "button",
21027
+ onClick: () => setViewMode("registry"),
21028
+ className: `fc:flex fc:items-center fc:gap-2 fc:px-3.5 fc:py-2 fc:rounded-lg fc:text-xs fc:font-bold fc:transition-all ${viewMode === "registry" ? "fc:bg-blue-600 fc:text-white fc:shadow-sm" : "fc:text-slate-600 hover:fc:text-slate-900"}`,
21029
+ children: [
21030
+ /* @__PURE__ */ jsx99(RiFileListLine, { size: 15 }),
21031
+ /* @__PURE__ */ jsx99("span", { children: "Applications Registry" }),
21032
+ /* @__PURE__ */ jsx99(
21033
+ "span",
21034
+ {
21035
+ className: `fc:px-1.5 fc:py-0.2 fc:rounded-full fc:text-[10px] fc:font-extrabold ${viewMode === "registry" ? "fc:bg-white/20 fc:text-white" : "fc:bg-slate-200 fc:text-slate-700"}`,
21036
+ children: APPLICATION_DATABASE.length
21037
+ }
21038
+ )
21039
+ ]
21040
+ }
21041
+ )
21042
+ ] }),
21043
+ /* @__PURE__ */ jsxs98("div", { className: "fc:flex fc:items-center fc:gap-2 fc:flex-1 lg:fc:max-w-md", children: [
21044
+ /* @__PURE__ */ jsxs98("div", { className: "fc:relative fc:flex-1", children: [
21045
+ /* @__PURE__ */ jsx99("span", { className: "fc:absolute fc:left-3 fc:top-1/2 fc:-translate-y-1/2 fc:text-slate-400", children: /* @__PURE__ */ jsx99(RiSearchLine2, { size: 16 }) }),
21046
+ /* @__PURE__ */ jsx99(
21047
+ "input",
21788
21048
  {
21789
- type: "button",
21790
- onClick: () => setViewMode("tracker"),
21791
- className: `fc:flex fc:items-center fc:gap-2 fc:px-3.5 fc:py-2 fc:rounded-lg fc:text-xs fc:font-bold fc:transition-all ${viewMode === "tracker" ? "fc:bg-blue-600 fc:text-white fc:shadow-sm" : "fc:text-slate-600 hover:fc:text-slate-900"}`,
21792
- children: [
21793
- /* @__PURE__ */ jsx99(RiRouteLine2, { size: 15 }),
21794
- /* @__PURE__ */ jsx99("span", { children: "Tracking Dashboard" })
21795
- ]
21049
+ type: "text",
21050
+ value: trackQuery,
21051
+ onChange: (e) => setTrackQuery(e.target.value),
21052
+ onKeyDown: (e) => e.key === "Enter" && handleTrack(),
21053
+ placeholder: "Enter App No. / File No.",
21054
+ className: "fc:w-full fc:pl-9 fc:pr-8 fc:py-2 fc:bg-slate-50 focus:fc:bg-white fc:border fc:border-slate-200 focus:fc:border-blue-500 fc:rounded-xl fc:text-xs fc:font-semibold fc:text-slate-800 fc:outline-none fc:transition-all"
21796
21055
  }
21797
21056
  ),
21798
- /* @__PURE__ */ jsxs98(
21057
+ trackQuery && /* @__PURE__ */ jsx99(
21799
21058
  "button",
21800
21059
  {
21801
21060
  type: "button",
21802
- onClick: () => setViewMode("registry"),
21803
- className: `fc:flex fc:items-center fc:gap-2 fc:px-3.5 fc:py-2 fc:rounded-lg fc:text-xs fc:font-bold fc:transition-all ${viewMode === "registry" ? "fc:bg-blue-600 fc:text-white fc:shadow-sm" : "fc:text-slate-600 hover:fc:text-slate-900"}`,
21804
- children: [
21805
- /* @__PURE__ */ jsx99(RiFileListLine, { size: 15 }),
21806
- /* @__PURE__ */ jsx99("span", { children: "Applications Registry" }),
21807
- /* @__PURE__ */ jsx99(
21808
- "span",
21809
- {
21810
- className: `fc:px-1.5 fc:py-0.2 fc:rounded-full fc:text-[10px] fc:font-extrabold ${viewMode === "registry" ? "fc:bg-white/20 fc:text-white" : "fc:bg-slate-200 fc:text-slate-700"}`,
21811
- children: APPLICATION_DATABASE.length
21812
- }
21813
- )
21814
- ]
21061
+ onClick: () => setTrackQuery(""),
21062
+ className: "fc:absolute fc:right-2.5 fc:top-1/2 fc:-translate-y-1/2 fc:text-slate-400 hover:fc:text-slate-600",
21063
+ children: /* @__PURE__ */ jsx99(RiCloseLine5, { size: 14 })
21815
21064
  }
21816
21065
  )
21817
21066
  ] }),
21818
- /* @__PURE__ */ jsxs98("div", { className: "fc:flex fc:items-center fc:gap-2 fc:flex-1 lg:fc:max-w-md", children: [
21819
- /* @__PURE__ */ jsxs98("div", { className: "fc:relative fc:flex-1", children: [
21820
- /* @__PURE__ */ jsx99("span", { className: "fc:absolute fc:left-3 fc:top-1/2 fc:-translate-y-1/2 fc:text-slate-400", children: /* @__PURE__ */ jsx99(RiSearchLine2, { size: 16 }) }),
21821
- /* @__PURE__ */ jsx99(
21822
- "input",
21823
- {
21824
- type: "text",
21825
- value: trackQuery,
21826
- onChange: (e) => setTrackQuery(e.target.value),
21827
- onKeyDown: (e) => e.key === "Enter" && handleTrack(),
21828
- placeholder: "Enter App No. / File No. (e.g. FC-2026-0120)...",
21829
- className: "fc:w-full fc:pl-9 fc:pr-8 fc:py-2 fc:bg-slate-50 focus:fc:bg-white fc:border fc:border-slate-200 focus:fc:border-blue-500 fc:rounded-xl fc:text-xs fc:font-semibold fc:text-slate-800 fc:outline-none fc:transition-all"
21830
- }
21831
- ),
21832
- trackQuery && /* @__PURE__ */ jsx99(
21833
- "button",
21834
- {
21835
- type: "button",
21836
- onClick: () => setTrackQuery(""),
21837
- className: "fc:absolute fc:right-2.5 fc:top-1/2 fc:-translate-y-1/2 fc:text-slate-400 hover:fc:text-slate-600",
21838
- children: /* @__PURE__ */ jsx99(RiCloseLine5, { size: 14 })
21839
- }
21840
- )
21841
- ] }),
21842
- /* @__PURE__ */ jsx99(
21843
- "button",
21844
- {
21845
- type: "button",
21846
- onClick: () => handleTrack(),
21847
- disabled: isSearching,
21848
- className: "fc:flex fc:items-center fc:gap-1.5 fc:px-4 fc:py-2 fc:bg-blue-600 hover:fc:bg-blue-700 fc:text-white fc:text-xs fc:font-bold fc:rounded-xl fc:shadow-sm fc:transition-all fc:shrink-0 fc:cursor-pointer disabled:fc:opacity-50",
21849
- children: isSearching ? /* @__PURE__ */ jsxs98(Fragment5, { children: [
21850
- /* @__PURE__ */ jsx99("span", { className: "fc:inline-block fc:w-3.5 fc:h-3.5 fc:border-2 fc:border-white fc:border-t-transparent fc:rounded-full fc:animate-spin" }),
21851
- /* @__PURE__ */ jsx99("span", { children: "Tracking..." })
21852
- ] }) : /* @__PURE__ */ jsxs98(Fragment5, { children: [
21853
- /* @__PURE__ */ jsx99(RiRouteLine2, { size: 14 }),
21854
- /* @__PURE__ */ jsx99("span", { children: "Track Now" })
21855
- ] })
21856
- }
21857
- )
21858
- ] })
21859
- ] }),
21860
- /* @__PURE__ */ jsxs98("div", { className: "fc:flex fc:items-center fc:gap-1.5 fc:mt-2.5 fc:pt-2.5 fc:border-t fc:border-slate-100 fc:flex-wrap", children: [
21861
- /* @__PURE__ */ jsx99("span", { className: "fc:text-[10px] fc:font-bold fc:text-slate-400 fc:uppercase fc:tracking-wider fc:mr-1", children: "Quick Track:" }),
21862
- popularFileNumbers.map((no) => /* @__PURE__ */ jsx99(
21067
+ /* @__PURE__ */ jsxs98(
21863
21068
  "button",
21864
21069
  {
21865
21070
  type: "button",
21866
- onClick: () => handleTrack(no),
21867
- className: `fc:px-2.5 fc:py-0.5 fc:text-[11px] fc:font-bold fc:rounded-md fc:border fc:transition-all ${(selectedApplication == null ? void 0 : selectedApplication.fileNumber) === no ? "fc:bg-blue-50 fc:border-blue-300 fc:text-blue-700" : "fc:bg-slate-50 fc:border-slate-200 fc:text-slate-600 hover:fc:bg-slate-100 hover:fc:border-slate-300"}`,
21868
- children: no
21869
- },
21870
- no
21871
- ))
21071
+ onClick: () => handleTrack(),
21072
+ className: "fc:flex fc:items-center fc:gap-1.5 fc:px-4 fc:py-2 fc:bg-blue-600 hover:fc:bg-blue-700 fc:text-white fc:text-xs fc:font-bold fc:rounded-xl fc:shadow-sm fc:transition-all fc:shrink-0 fc:cursor-pointer disabled:fc:opacity-50",
21073
+ children: [
21074
+ /* @__PURE__ */ jsx99(RiRouteLine2, { size: 14 }),
21075
+ /* @__PURE__ */ jsx99("span", { children: "Track Now" })
21076
+ ]
21077
+ }
21078
+ )
21872
21079
  ] })
21873
- ] }),
21080
+ ] }) }),
21874
21081
  /* @__PURE__ */ jsx99("div", { className: "fc:bg-white fc:border fc:border-slate-200 fc:rounded-3xl fc:shadow-sm fc:p-5 fc:flex fc:flex-col", children: viewMode === "tracker" ? (
21875
21082
  /* ========================================================
21876
21083
  VIEW 1: LIVE TRACKING DASHBOARD
21877
21084
  ======================================================== */
21878
- /* @__PURE__ */ jsx99("div", { className: "fc:space-y-4", children: selectedApplication && /* @__PURE__ */ jsxs98(Fragment5, { children: [
21879
- /* @__PURE__ */ jsxs98("div", { className: "fc:rounded-2xl fc:border fc:border-blue-100 fc:bg-gradient-to-r fc:from-blue-50/80 fc:via-indigo-50/40 fc:to-white fc:p-4.5 fc:shadow-sm", children: [
21880
- /* @__PURE__ */ jsxs98("div", { className: "fc:flex fc:items-center fc:justify-between fc:gap-3 fc:flex-wrap", children: [
21881
- /* @__PURE__ */ jsxs98("div", { className: "fc:flex fc:items-center fc:gap-2 fc:flex-wrap", children: [
21882
- /* @__PURE__ */ jsxs98("div", { className: "fc:inline-flex fc:items-center fc:gap-1.5 fc:bg-blue-600 fc:text-white fc:text-xs fc:font-bold fc:px-3 fc:py-1 fc:rounded-lg fc:shadow-sm", children: [
21883
- /* @__PURE__ */ jsx99(RiRouteLine2, { size: 13 }),
21884
- /* @__PURE__ */ jsxs98("span", { children: [
21885
- "App No: ",
21886
- selectedApplication.fileNumber
21085
+ /* @__PURE__ */ jsxs98("div", { className: "fc:space-y-4", children: [
21086
+ selectedApplication && /* @__PURE__ */ jsxs98(Fragment5, { children: [
21087
+ /* @__PURE__ */ jsxs98("div", { className: "fc:rounded-2xl fc:border fc:border-blue-100 fc:bg-gradient-to-r fc:from-blue-50/80 fc:via-indigo-50/40 fc:to-white fc:p-4.5 fc:shadow-sm", children: [
21088
+ /* @__PURE__ */ jsxs98("div", { className: "fc:flex fc:items-center fc:justify-between fc:gap-3 fc:flex-wrap", children: [
21089
+ /* @__PURE__ */ jsxs98("div", { className: "fc:flex fc:items-center fc:gap-2 fc:flex-wrap", children: [
21090
+ /* @__PURE__ */ jsxs98("div", { className: "fc:inline-flex fc:items-center fc:gap-1.5 fc:bg-blue-600 fc:text-white fc:text-xs fc:font-bold fc:px-3 fc:py-1 fc:rounded-lg fc:shadow-sm", children: [
21091
+ /* @__PURE__ */ jsx99(RiRouteLine2, { size: 13 }),
21092
+ /* @__PURE__ */ jsxs98("span", { children: [
21093
+ "App No: ",
21094
+ selectedApplication.fileNumber
21095
+ ] })
21096
+ ] }),
21097
+ /* @__PURE__ */ jsx99(
21098
+ "button",
21099
+ {
21100
+ type: "button",
21101
+ onClick: () => handleCopyFileNumber(selectedApplication.fileNumber),
21102
+ title: "Copy Application Number",
21103
+ className: "fc:text-blue-600 hover:fc:text-blue-800 fc:p-1 fc:rounded-md hover:fc:bg-blue-100/70 fc:transition-all",
21104
+ children: /* @__PURE__ */ jsx99(RiFileCopyLine, { size: 14 })
21105
+ }
21106
+ ),
21107
+ /* @__PURE__ */ jsx99("span", { className: "fc:text-xs fc:font-bold fc:px-2.5 fc:py-0.5 fc:rounded-full fc:bg-white fc:border fc:border-slate-200 fc:text-slate-800", children: selectedApplication.workflowName }),
21108
+ /* @__PURE__ */ jsxs98(
21109
+ "span",
21110
+ {
21111
+ className: `fc:text-xs fc:font-bold fc:px-2.5 fc:py-0.5 fc:rounded-full fc:border ${selectedApplication.priority === "Urgent" ? "fc:bg-red-50 fc:text-red-700 fc:border-red-200" : selectedApplication.priority === "High" ? "fc:bg-amber-50 fc:text-amber-700 fc:border-amber-200" : "fc:bg-blue-50 fc:text-blue-700 fc:border-blue-200"}`,
21112
+ children: [
21113
+ selectedApplication.priority,
21114
+ " Priority"
21115
+ ]
21116
+ }
21117
+ ),
21118
+ /* @__PURE__ */ jsxs98("span", { className: "fc:text-xs fc:font-bold fc:px-2.5 fc:py-0.5 fc:rounded-full fc:bg-emerald-50 fc:text-emerald-700 fc:border fc:border-emerald-200", children: [
21119
+ "Status: ",
21120
+ selectedApplication.status
21887
21121
  ] })
21888
21122
  ] }),
21889
- /* @__PURE__ */ jsx99(
21123
+ /* @__PURE__ */ jsxs98(
21890
21124
  "button",
21891
21125
  {
21892
21126
  type: "button",
21893
- onClick: () => handleCopyFileNumber(selectedApplication.fileNumber),
21894
- title: "Copy Application Number",
21895
- className: "fc:text-blue-600 hover:fc:text-blue-800 fc:p-1 fc:rounded-md hover:fc:bg-blue-100/70 fc:transition-all",
21896
- children: /* @__PURE__ */ jsx99(RiFileCopyLine, { size: 14 })
21897
- }
21898
- ),
21899
- /* @__PURE__ */ jsx99("span", { className: "fc:text-xs fc:font-bold fc:px-2.5 fc:py-0.5 fc:rounded-full fc:bg-white fc:border fc:border-slate-200 fc:text-slate-800", children: selectedApplication.workflowName }),
21900
- /* @__PURE__ */ jsxs98(
21901
- "span",
21902
- {
21903
- className: `fc:text-xs fc:font-bold fc:px-2.5 fc:py-0.5 fc:rounded-full fc:border ${selectedApplication.priority === "Urgent" ? "fc:bg-red-50 fc:text-red-700 fc:border-red-200" : selectedApplication.priority === "High" ? "fc:bg-amber-50 fc:text-amber-700 fc:border-amber-200" : "fc:bg-blue-50 fc:text-blue-700 fc:border-blue-200"}`,
21127
+ onClick: () => setSlipModalOpen(true),
21128
+ className: "fc:flex fc:items-center fc:gap-1.5 fc:px-3 fc:py-1.5 fc:bg-blue-600 hover:fc:bg-blue-700 fc:text-white fc:text-xs fc:font-bold fc:rounded-xl fc:shadow-sm fc:transition-all fc:shrink-0",
21904
21129
  children: [
21905
- selectedApplication.priority,
21906
- " Priority"
21130
+ /* @__PURE__ */ jsx99(RiPrinterLine2, { size: 13 }),
21131
+ /* @__PURE__ */ jsx99("span", { children: "Print Tracking Slip" })
21907
21132
  ]
21908
21133
  }
21909
- ),
21910
- /* @__PURE__ */ jsxs98("span", { className: "fc:text-xs fc:font-bold fc:px-2.5 fc:py-0.5 fc:rounded-full fc:bg-emerald-50 fc:text-emerald-700 fc:border fc:border-emerald-200", children: [
21911
- "Status: ",
21912
- selectedApplication.status
21913
- ] })
21134
+ )
21914
21135
  ] }),
21915
- /* @__PURE__ */ jsxs98(
21916
- "button",
21917
- {
21918
- type: "button",
21919
- onClick: () => setSlipModalOpen(true),
21920
- className: "fc:flex fc:items-center fc:gap-1.5 fc:px-3 fc:py-1.5 fc:bg-blue-600 hover:fc:bg-blue-700 fc:text-white fc:text-xs fc:font-bold fc:rounded-xl fc:shadow-sm fc:transition-all fc:shrink-0",
21921
- children: [
21922
- /* @__PURE__ */ jsx99(RiPrinterLine2, { size: 13 }),
21923
- /* @__PURE__ */ jsx99("span", { children: "Print Tracking Slip" })
21924
- ]
21925
- }
21926
- )
21927
- ] }),
21928
- /* @__PURE__ */ jsx99("div", { className: "fc:mt-2.5", children: /* @__PURE__ */ jsx99("h2", { className: "fc:text-base fc:font-bold fc:text-slate-800 fc:leading-snug", children: selectedApplication.subject }) }),
21929
- /* @__PURE__ */ jsxs98("div", { className: "fc:flex fc:items-center fc:justify-between fc:gap-3 fc:mt-2.5 fc:pt-2.5 fc:border-t fc:border-blue-100/70 fc:text-xs fc:text-slate-600 fc:flex-wrap", children: [
21930
- /* @__PURE__ */ jsxs98("div", { className: "fc:flex fc:items-center fc:gap-4 fc:flex-wrap", children: [
21931
- /* @__PURE__ */ jsxs98("span", { className: "fc:flex fc:items-center fc:gap-1", children: [
21932
- /* @__PURE__ */ jsx99(RiBuildingLine2, { size: 13, className: "fc:text-slate-400" }),
21933
- /* @__PURE__ */ jsx99("span", { className: "fc:text-slate-400", children: "Dept:" }),
21934
- /* @__PURE__ */ jsx99("strong", { className: "fc:text-slate-700", children: selectedApplication.department })
21935
- ] }),
21936
- /* @__PURE__ */ jsxs98("span", { className: "fc:flex fc:items-center fc:gap-1", children: [
21937
- /* @__PURE__ */ jsx99(RiUserLine2, { size: 13, className: "fc:text-slate-400" }),
21938
- /* @__PURE__ */ jsx99("span", { className: "fc:text-slate-400", children: "Applicant:" }),
21939
- /* @__PURE__ */ jsx99("strong", { className: "fc:text-slate-700", children: selectedApplication.applicant })
21136
+ /* @__PURE__ */ jsx99("div", { className: "fc:mt-2.5", children: /* @__PURE__ */ jsx99("h2", { className: "fc:text-base fc:font-bold fc:text-slate-800 fc:leading-snug", children: selectedApplication.subject }) }),
21137
+ /* @__PURE__ */ jsxs98("div", { className: "fc:flex fc:items-center fc:justify-between fc:gap-3 fc:mt-2.5 fc:pt-2.5 fc:border-t fc:border-blue-100/70 fc:text-xs fc:text-slate-600 fc:flex-wrap", children: [
21138
+ /* @__PURE__ */ jsxs98("div", { className: "fc:flex fc:items-center fc:gap-4 fc:flex-wrap", children: [
21139
+ /* @__PURE__ */ jsxs98("span", { className: "fc:flex fc:items-center fc:gap-1", children: [
21140
+ /* @__PURE__ */ jsx99(RiBuildingLine2, { size: 13, className: "fc:text-slate-400" }),
21141
+ /* @__PURE__ */ jsx99("span", { className: "fc:text-slate-400", children: "Dept:" }),
21142
+ /* @__PURE__ */ jsx99("strong", { className: "fc:text-slate-700", children: selectedApplication.department })
21143
+ ] }),
21144
+ /* @__PURE__ */ jsxs98("span", { className: "fc:flex fc:items-center fc:gap-1", children: [
21145
+ /* @__PURE__ */ jsx99(RiUserLine2, { size: 13, className: "fc:text-slate-400" }),
21146
+ /* @__PURE__ */ jsx99("span", { className: "fc:text-slate-400", children: "Applicant:" }),
21147
+ /* @__PURE__ */ jsx99("strong", { className: "fc:text-slate-700", children: selectedApplication.applicant })
21148
+ ] }),
21149
+ /* @__PURE__ */ jsxs98("span", { className: "fc:flex fc:items-center fc:gap-1", children: [
21150
+ /* @__PURE__ */ jsx99(RiTimeLine2, { size: 13, className: "fc:text-slate-400" }),
21151
+ /* @__PURE__ */ jsx99("span", { className: "fc:text-slate-400", children: "Submitted:" }),
21152
+ /* @__PURE__ */ jsx99("strong", { className: "fc:text-slate-700", children: selectedApplication.receivedDate })
21153
+ ] })
21940
21154
  ] }),
21941
- /* @__PURE__ */ jsxs98("span", { className: "fc:flex fc:items-center fc:gap-1", children: [
21942
- /* @__PURE__ */ jsx99(RiTimeLine2, { size: 13, className: "fc:text-slate-400" }),
21943
- /* @__PURE__ */ jsx99("span", { className: "fc:text-slate-400", children: "Submitted:" }),
21944
- /* @__PURE__ */ jsx99("strong", { className: "fc:text-slate-700", children: selectedApplication.receivedDate })
21155
+ /* @__PURE__ */ jsxs98("div", { className: "fc:flex fc:items-center fc:gap-1.5", children: [
21156
+ /* @__PURE__ */ jsx99("span", { className: "fc:text-slate-400", children: "SLA:" }),
21157
+ /* @__PURE__ */ jsx99("strong", { className: "fc:text-red-600 fc:font-extrabold", children: selectedApplication.slaStatus }),
21158
+ /* @__PURE__ */ jsxs98("span", { className: "fc:text-slate-400", children: [
21159
+ "\u2022 Due: ",
21160
+ selectedApplication.dueDate
21161
+ ] })
21945
21162
  ] })
21946
21163
  ] }),
21947
- /* @__PURE__ */ jsxs98("div", { className: "fc:flex fc:items-center fc:gap-1.5", children: [
21948
- /* @__PURE__ */ jsx99("span", { className: "fc:text-slate-400", children: "SLA:" }),
21949
- /* @__PURE__ */ jsx99("strong", { className: "fc:text-red-600 fc:font-extrabold", children: selectedApplication.slaStatus }),
21950
- /* @__PURE__ */ jsxs98("span", { className: "fc:text-slate-400", children: [
21951
- "\u2022 Due: ",
21952
- selectedApplication.dueDate
21953
- ] })
21164
+ /* @__PURE__ */ jsxs98("div", { className: "fc:mt-2.5 fc:pt-2 fc:border-t fc:border-blue-100/50", children: [
21165
+ /* @__PURE__ */ jsxs98("div", { className: "fc:flex fc:justify-between fc:items-center fc:text-[11px] fc:mb-1", children: [
21166
+ /* @__PURE__ */ jsxs98("span", { className: "fc:font-bold fc:text-slate-600", children: [
21167
+ "Lifecycle Progress: ",
21168
+ /* @__PURE__ */ jsxs98("strong", { children: [
21169
+ selectedApplication.progressPercent || 50,
21170
+ "% Completed"
21171
+ ] })
21172
+ ] }),
21173
+ /* @__PURE__ */ jsxs98("span", { className: "fc:font-bold fc:text-indigo-600", children: [
21174
+ "Active Desk: ",
21175
+ /* @__PURE__ */ jsx99("strong", { children: selectedApplication.assignedTo || "Central Scrutiny Cell" })
21176
+ ] })
21177
+ ] }),
21178
+ /* @__PURE__ */ jsx99("div", { className: "fc:w-full fc:bg-slate-200/80 fc:h-1.5 fc:rounded-full fc:overflow-hidden", children: /* @__PURE__ */ jsx99(
21179
+ "div",
21180
+ {
21181
+ className: "fc:bg-gradient-to-r fc:from-blue-600 fc:to-indigo-600 fc:h-full fc:rounded-full fc:transition-all fc:duration-500",
21182
+ style: { width: `${selectedApplication.progressPercent || 50}%` }
21183
+ }
21184
+ ) })
21954
21185
  ] })
21955
21186
  ] }),
21956
- /* @__PURE__ */ jsxs98("div", { className: "fc:mt-2.5 fc:pt-2 fc:border-t fc:border-blue-100/50", children: [
21957
- /* @__PURE__ */ jsxs98("div", { className: "fc:flex fc:justify-between fc:items-center fc:text-[11px] fc:mb-1", children: [
21958
- /* @__PURE__ */ jsxs98("span", { className: "fc:font-bold fc:text-slate-600", children: [
21959
- "Lifecycle Progress: ",
21960
- /* @__PURE__ */ jsxs98("strong", { children: [
21961
- selectedApplication.progressPercent || 50,
21962
- "% Completed"
21963
- ] })
21187
+ /* @__PURE__ */ jsxs98("div", { className: "fc:bg-slate-50/70 fc:border fc:border-slate-200 fc:rounded-2xl fc:p-3.5", children: [
21188
+ /* @__PURE__ */ jsxs98("div", { className: "fc:flex fc:items-center fc:justify-between fc:mb-2.5", children: [
21189
+ /* @__PURE__ */ jsxs98("div", { className: "fc:flex fc:items-center fc:gap-2", children: [
21190
+ /* @__PURE__ */ jsx99("div", { className: "fc:w-2 fc:h-2 fc:rounded-full fc:bg-blue-600" }),
21191
+ /* @__PURE__ */ jsx99("h3", { className: "fc:text-xs fc:font-bold fc:text-slate-800 fc:uppercase fc:tracking-wider", children: "Workflow Progression Stages" })
21964
21192
  ] }),
21965
- /* @__PURE__ */ jsxs98("span", { className: "fc:font-bold fc:text-indigo-600", children: [
21966
- "Active Desk: ",
21967
- /* @__PURE__ */ jsx99("strong", { children: selectedApplication.assignedTo || "Central Scrutiny Cell" })
21193
+ /* @__PURE__ */ jsxs98("span", { className: "fc:text-xs fc:text-slate-500", children: [
21194
+ "Current Step: ",
21195
+ /* @__PURE__ */ jsx99("strong", { className: "fc:text-indigo-600", children: selectedApplication.currentStep })
21968
21196
  ] })
21969
21197
  ] }),
21970
- /* @__PURE__ */ jsx99("div", { className: "fc:w-full fc:bg-slate-200/80 fc:h-1.5 fc:rounded-full fc:overflow-hidden", children: /* @__PURE__ */ jsx99(
21198
+ /* @__PURE__ */ jsx99(
21971
21199
  "div",
21972
21200
  {
21973
- className: "fc:bg-gradient-to-r fc:from-blue-600 fc:to-indigo-600 fc:h-full fc:rounded-full fc:transition-all fc:duration-500",
21974
- style: { width: `${selectedApplication.progressPercent || 50}%` }
21975
- }
21976
- ) })
21977
- ] })
21978
- ] }),
21979
- /* @__PURE__ */ jsxs98("div", { className: "fc:bg-slate-50/70 fc:border fc:border-slate-200 fc:rounded-2xl fc:p-3.5", children: [
21980
- /* @__PURE__ */ jsxs98("div", { className: "fc:flex fc:items-center fc:justify-between fc:mb-2.5", children: [
21981
- /* @__PURE__ */ jsxs98("div", { className: "fc:flex fc:items-center fc:gap-2", children: [
21982
- /* @__PURE__ */ jsx99("div", { className: "fc:w-2 fc:h-2 fc:rounded-full fc:bg-blue-600" }),
21983
- /* @__PURE__ */ jsx99("h3", { className: "fc:text-xs fc:font-bold fc:text-slate-800 fc:uppercase fc:tracking-wider", children: "Workflow Progression Stages" })
21984
- ] }),
21985
- /* @__PURE__ */ jsxs98("span", { className: "fc:text-xs fc:text-slate-500", children: [
21986
- "Current Step: ",
21987
- /* @__PURE__ */ jsx99("strong", { className: "fc:text-indigo-600", children: selectedApplication.currentStep })
21988
- ] })
21989
- ] }),
21990
- /* @__PURE__ */ jsx99(
21991
- "div",
21992
- {
21993
- className: "fc:grid fc:gap-2 fc:items-stretch",
21994
- style: {
21995
- gridTemplateColumns: `repeat(${((_a = selectedApplication.stages) == null ? void 0 : _a.length) || 4}, minmax(0, 1fr))`
21996
- },
21997
- children: (selectedApplication.stages || []).map((stage, idx) => {
21998
- const isCompleted = stage.status === "completed";
21999
- const isInProgress = stage.status === "in-progress";
22000
- return /* @__PURE__ */ jsxs98(
22001
- "div",
22002
- {
22003
- className: `fc:relative fc:flex fc:flex-col fc:justify-between fc:p-2.5 fc:rounded-xl fc:border fc:transition-all ${isCompleted ? "fc:bg-emerald-50/60 fc:border-emerald-200/80" : isInProgress ? "fc:bg-blue-50 fc:border-blue-300 fc:shadow-sm fc:ring-1 fc:ring-blue-200" : "fc:bg-white fc:border-slate-200"}`,
22004
- children: [
22005
- /* @__PURE__ */ jsxs98("div", { className: "fc:flex fc:items-center fc:justify-between fc:gap-1 fc:mb-1.5", children: [
22006
- /* @__PURE__ */ jsx99(
22007
- "span",
22008
- {
22009
- className: `fc:w-5 fc:h-5 fc:rounded-full fc:flex fc:items-center fc:justify-center fc:text-[10px] fc:font-extrabold fc:shrink-0 ${isCompleted ? "fc:bg-emerald-600 fc:text-white" : isInProgress ? "fc:bg-blue-600 fc:text-white" : "fc:bg-slate-200 fc:text-slate-600"}`,
22010
- children: isCompleted ? /* @__PURE__ */ jsx99(RiCheckLine2, { size: 12 }) : idx + 1
22011
- }
22012
- ),
22013
- /* @__PURE__ */ jsx99(
22014
- "span",
22015
- {
22016
- className: `fc:text-[9px] fc:font-bold fc:px-1.5 fc:py-0.2 fc:rounded-full ${isCompleted ? "fc:bg-emerald-100 fc:text-emerald-700" : isInProgress ? "fc:bg-blue-100 fc:text-blue-700 fc:animate-pulse" : "fc:bg-slate-100 fc:text-slate-500"}`,
22017
- children: isCompleted ? "Completed" : isInProgress ? "Active Step" : "Pending"
22018
- }
22019
- )
22020
- ] }),
22021
- /* @__PURE__ */ jsxs98("div", { children: [
22022
- /* @__PURE__ */ jsx99(
22023
- "h4",
22024
- {
22025
- className: "fc:text-[11px] fc:font-bold fc:text-slate-800 fc:truncate",
22026
- title: stage.title,
22027
- children: stage.title
22028
- }
22029
- ),
22030
- /* @__PURE__ */ jsx99(
22031
- "p",
22032
- {
22033
- className: "fc:text-[10px] fc:text-slate-500 fc:truncate fc:mt-0.5",
22034
- title: stage.description,
22035
- children: stage.description
22036
- }
22037
- )
22038
- ] }),
22039
- /* @__PURE__ */ jsxs98("div", { className: "fc:mt-1.5 fc:pt-1.5 fc:border-t fc:border-slate-200/50 fc:flex fc:items-center fc:justify-between fc:text-[9px] fc:text-slate-400", children: [
22040
- /* @__PURE__ */ jsx99("span", { className: "fc:truncate", title: stage.officer, children: stage.officer }),
22041
- /* @__PURE__ */ jsx99("span", { className: "fc:font-medium fc:text-slate-500 fc:shrink-0", children: stage.date.split(" ")[0] })
22042
- ] })
22043
- ]
22044
- },
22045
- stage.stageId || idx
22046
- );
22047
- })
22048
- }
22049
- )
22050
- ] }),
22051
- /* @__PURE__ */ jsxs98("div", { className: "fc:bg-white fc:border fc:border-slate-200 fc:rounded-2xl fc:overflow-hidden", children: [
22052
- /* @__PURE__ */ jsxs98("div", { className: "fc:flex fc:items-center fc:border-b fc:border-slate-200 fc:bg-slate-50/60 fc:px-3 fc:pt-1.5", children: [
22053
- /* @__PURE__ */ jsxs98(
22054
- "button",
22055
- {
22056
- type: "button",
22057
- onClick: () => setActiveTab("timeline"),
22058
- className: `fc:flex fc:items-center fc:gap-1.5 fc:px-3.5 fc:py-2 fc:text-xs fc:font-bold fc:border-b-2 fc:transition-all ${activeTab === "timeline" ? "fc:border-blue-600 fc:text-blue-600 fc:bg-white fc:rounded-t-lg" : "fc:border-transparent fc:text-slate-600 hover:fc:text-slate-900"}`,
22059
- children: [
22060
- /* @__PURE__ */ jsx99(RiRouteLine2, { size: 14 }),
22061
- /* @__PURE__ */ jsx99("span", { children: "Movement History & Audit Trail" }),
22062
- /* @__PURE__ */ jsx99("span", { className: "fc:bg-slate-200 fc:text-slate-700 fc:px-1.5 fc:py-0.2 fc:rounded-full fc:text-[9px]", children: ((_b = selectedApplication.movementHistory) == null ? void 0 : _b.length) || 0 })
22063
- ]
22064
- }
22065
- ),
22066
- /* @__PURE__ */ jsxs98(
22067
- "button",
22068
- {
22069
- type: "button",
22070
- onClick: () => setActiveTab("details"),
22071
- className: `fc:flex fc:items-center fc:gap-1.5 fc:px-3.5 fc:py-2 fc:text-xs fc:font-bold fc:border-b-2 fc:transition-all ${activeTab === "details" ? "fc:border-blue-600 fc:text-blue-600 fc:bg-white fc:rounded-t-lg" : "fc:border-transparent fc:text-slate-600 hover:fc:text-slate-900"}`,
22072
- children: [
22073
- /* @__PURE__ */ jsx99(RiFileListLine, { size: 14 }),
22074
- /* @__PURE__ */ jsx99("span", { children: "Application Full Attributes" })
22075
- ]
22076
- }
22077
- ),
22078
- /* @__PURE__ */ jsxs98(
22079
- "button",
22080
- {
22081
- type: "button",
22082
- onClick: () => setActiveTab("documents"),
22083
- className: `fc:flex fc:items-center fc:gap-1.5 fc:px-3.5 fc:py-2 fc:text-xs fc:font-bold fc:border-b-2 fc:transition-all ${activeTab === "documents" ? "fc:border-blue-600 fc:text-blue-600 fc:bg-white fc:rounded-t-lg" : "fc:border-transparent fc:text-slate-600 hover:fc:text-slate-900"}`,
22084
- children: [
22085
- /* @__PURE__ */ jsx99(RiFileTextLine3, { size: 14 }),
22086
- /* @__PURE__ */ jsx99("span", { children: "Uploaded Documents" }),
22087
- /* @__PURE__ */ jsx99("span", { className: "fc:bg-slate-200 fc:text-slate-700 fc:px-1.5 fc:py-0.2 fc:rounded-full fc:text-[9px]", children: ((_c = selectedApplication.documents) == null ? void 0 : _c.length) || 0 })
22088
- ]
21201
+ className: "fc:grid fc:gap-2 fc:items-stretch",
21202
+ style: {
21203
+ gridTemplateColumns: `repeat(${((_a = selectedApplication.stages) == null ? void 0 : _a.length) || 4}, minmax(0, 1fr))`
21204
+ },
21205
+ children: (selectedApplication.stages || []).map((stage, idx) => {
21206
+ const isCompleted = stage.status === "completed";
21207
+ const isInProgress = stage.status === "in-progress";
21208
+ return /* @__PURE__ */ jsxs98(
21209
+ "div",
21210
+ {
21211
+ className: `fc:relative fc:flex fc:flex-col fc:justify-between fc:p-2.5 fc:rounded-xl fc:border fc:transition-all ${isCompleted ? "fc:bg-emerald-50/60 fc:border-emerald-200/80" : isInProgress ? "fc:bg-blue-50 fc:border-blue-300 fc:shadow-sm fc:ring-1 fc:ring-blue-200" : "fc:bg-white fc:border-slate-200"}`,
21212
+ children: [
21213
+ /* @__PURE__ */ jsxs98("div", { className: "fc:flex fc:items-center fc:justify-between fc:gap-1 fc:mb-1.5", children: [
21214
+ /* @__PURE__ */ jsx99(
21215
+ "span",
21216
+ {
21217
+ className: `fc:w-5 fc:h-5 fc:rounded-full fc:flex fc:items-center fc:justify-center fc:text-[10px] fc:font-extrabold fc:shrink-0 ${isCompleted ? "fc:bg-emerald-600 fc:text-white" : isInProgress ? "fc:bg-blue-600 fc:text-white" : "fc:bg-slate-200 fc:text-slate-600"}`,
21218
+ children: isCompleted ? /* @__PURE__ */ jsx99(RiCheckLine2, { size: 12 }) : idx + 1
21219
+ }
21220
+ ),
21221
+ /* @__PURE__ */ jsx99(
21222
+ "span",
21223
+ {
21224
+ className: `fc:text-[9px] fc:font-bold fc:px-1.5 fc:py-0.2 fc:rounded-full ${isCompleted ? "fc:bg-emerald-100 fc:text-emerald-700" : isInProgress ? "fc:bg-blue-100 fc:text-blue-700 fc:animate-pulse" : "fc:bg-slate-100 fc:text-slate-500"}`,
21225
+ children: isCompleted ? "Completed" : isInProgress ? "Active Step" : "Pending"
21226
+ }
21227
+ )
21228
+ ] }),
21229
+ /* @__PURE__ */ jsxs98("div", { children: [
21230
+ /* @__PURE__ */ jsx99(
21231
+ "h4",
21232
+ {
21233
+ className: "fc:text-[11px] fc:font-bold fc:text-slate-800 fc:truncate",
21234
+ title: stage.title,
21235
+ children: stage.title
21236
+ }
21237
+ ),
21238
+ /* @__PURE__ */ jsx99(
21239
+ "p",
21240
+ {
21241
+ className: "fc:text-[10px] fc:text-slate-500 fc:truncate fc:mt-0.5",
21242
+ title: stage.description,
21243
+ children: stage.description
21244
+ }
21245
+ )
21246
+ ] }),
21247
+ /* @__PURE__ */ jsxs98("div", { className: "fc:mt-1.5 fc:pt-1.5 fc:border-t fc:border-slate-200/50 fc:flex fc:items-center fc:justify-between fc:text-[9px] fc:text-slate-400", children: [
21248
+ /* @__PURE__ */ jsx99("span", { className: "fc:truncate", title: stage.officer, children: stage.officer }),
21249
+ /* @__PURE__ */ jsx99("span", { className: "fc:font-medium fc:text-slate-500 fc:shrink-0", children: stage.date.split(" ")[0] })
21250
+ ] })
21251
+ ]
21252
+ },
21253
+ stage.stageId || idx
21254
+ );
21255
+ })
22089
21256
  }
22090
21257
  )
22091
21258
  ] }),
22092
- /* @__PURE__ */ jsxs98("div", { className: "fc:p-4", children: [
22093
- activeTab === "timeline" && /* @__PURE__ */ jsx99("div", { className: "fc:space-y-3", children: /* @__PURE__ */ jsx99("div", { className: "fc:relative fc:pl-5 fc:space-y-4 before:fc:absolute before:fc:left-2 before:fc:top-2 before:fc:bottom-2 before:fc:w-0.5 before:fc:bg-slate-200", children: (selectedApplication.movementHistory || []).map((move, idx) => /* @__PURE__ */ jsxs98("div", { className: "fc:relative fc:space-y-1", children: [
22094
- /* @__PURE__ */ jsx99("span", { className: "fc:absolute fc:-left-[17px] fc:top-1 fc:w-2.5 fc:h-2.5 fc:rounded-full fc:bg-blue-600 fc:ring-4 fc:ring-blue-100" }),
22095
- /* @__PURE__ */ jsxs98("div", { className: "fc:flex fc:items-center fc:justify-between fc:gap-2 fc:flex-wrap", children: [
22096
- /* @__PURE__ */ jsxs98("div", { className: "fc:flex fc:items-center fc:gap-2", children: [
22097
- /* @__PURE__ */ jsx99("span", { className: "fc:text-xs fc:font-bold fc:text-slate-800", children: move.action }),
22098
- /* @__PURE__ */ jsxs98("span", { className: "fc:text-[11px] fc:text-slate-500", children: [
22099
- "(",
22100
- move.fromStep,
22101
- " \u2192 ",
22102
- /* @__PURE__ */ jsx99("strong", { className: "fc:text-blue-600", children: move.toStep }),
21259
+ /* @__PURE__ */ jsxs98("div", { className: "fc:bg-white fc:border fc:border-slate-200 fc:rounded-2xl fc:overflow-hidden", children: [
21260
+ /* @__PURE__ */ jsxs98("div", { className: "fc:flex fc:items-center fc:border-b fc:border-slate-200 fc:bg-slate-50/60 fc:px-3 fc:pt-1.5", children: [
21261
+ /* @__PURE__ */ jsxs98(
21262
+ "button",
21263
+ {
21264
+ type: "button",
21265
+ onClick: () => setActiveTab("timeline"),
21266
+ className: `fc:flex fc:items-center fc:gap-1.5 fc:px-3.5 fc:py-2 fc:text-xs fc:font-bold fc:border-b-2 fc:transition-all ${activeTab === "timeline" ? "fc:border-blue-600 fc:text-blue-600 fc:bg-white fc:rounded-t-lg" : "fc:border-transparent fc:text-slate-600 hover:fc:text-slate-900"}`,
21267
+ children: [
21268
+ /* @__PURE__ */ jsx99(RiRouteLine2, { size: 14 }),
21269
+ /* @__PURE__ */ jsx99("span", { children: "Movement History & Audit Trail" }),
21270
+ /* @__PURE__ */ jsx99("span", { className: "fc:bg-slate-200 fc:text-slate-700 fc:px-1.5 fc:py-0.2 fc:rounded-full fc:text-[9px]", children: ((_b = selectedApplication.movementHistory) == null ? void 0 : _b.length) || 0 })
21271
+ ]
21272
+ }
21273
+ ),
21274
+ /* @__PURE__ */ jsxs98(
21275
+ "button",
21276
+ {
21277
+ type: "button",
21278
+ onClick: () => setActiveTab("details"),
21279
+ className: `fc:flex fc:items-center fc:gap-1.5 fc:px-3.5 fc:py-2 fc:text-xs fc:font-bold fc:border-b-2 fc:transition-all ${activeTab === "details" ? "fc:border-blue-600 fc:text-blue-600 fc:bg-white fc:rounded-t-lg" : "fc:border-transparent fc:text-slate-600 hover:fc:text-slate-900"}`,
21280
+ children: [
21281
+ /* @__PURE__ */ jsx99(RiFileListLine, { size: 14 }),
21282
+ /* @__PURE__ */ jsx99("span", { children: "Application Full Attributes" })
21283
+ ]
21284
+ }
21285
+ ),
21286
+ /* @__PURE__ */ jsxs98(
21287
+ "button",
21288
+ {
21289
+ type: "button",
21290
+ onClick: () => setActiveTab("documents"),
21291
+ className: `fc:flex fc:items-center fc:gap-1.5 fc:px-3.5 fc:py-2 fc:text-xs fc:font-bold fc:border-b-2 fc:transition-all ${activeTab === "documents" ? "fc:border-blue-600 fc:text-blue-600 fc:bg-white fc:rounded-t-lg" : "fc:border-transparent fc:text-slate-600 hover:fc:text-slate-900"}`,
21292
+ children: [
21293
+ /* @__PURE__ */ jsx99(RiFileTextLine3, { size: 14 }),
21294
+ /* @__PURE__ */ jsx99("span", { children: "Uploaded Documents" }),
21295
+ /* @__PURE__ */ jsx99("span", { className: "fc:bg-slate-200 fc:text-slate-700 fc:px-1.5 fc:py-0.2 fc:rounded-full fc:text-[9px]", children: ((_c = selectedApplication.documents) == null ? void 0 : _c.length) || 0 })
21296
+ ]
21297
+ }
21298
+ )
21299
+ ] }),
21300
+ /* @__PURE__ */ jsxs98("div", { className: "fc:p-4", children: [
21301
+ activeTab === "timeline" && /* @__PURE__ */ jsx99("div", { className: "fc:space-y-3", children: /* @__PURE__ */ jsx99("div", { className: "fc:relative fc:pl-5 fc:space-y-4 before:fc:absolute before:fc:left-2 before:fc:top-2 before:fc:bottom-2 before:fc:w-0.5 before:fc:bg-slate-200", children: (selectedApplication.movementHistory || []).map((move, idx) => /* @__PURE__ */ jsxs98("div", { className: "fc:relative fc:space-y-1", children: [
21302
+ /* @__PURE__ */ jsx99("span", { className: "fc:absolute fc:-left-[17px] fc:top-1 fc:w-2.5 fc:h-2.5 fc:rounded-full fc:bg-blue-600 fc:ring-4 fc:ring-blue-100" }),
21303
+ /* @__PURE__ */ jsxs98("div", { className: "fc:flex fc:items-center fc:justify-between fc:gap-2 fc:flex-wrap", children: [
21304
+ /* @__PURE__ */ jsxs98("div", { className: "fc:flex fc:items-center fc:gap-2", children: [
21305
+ /* @__PURE__ */ jsx99("span", { className: "fc:text-xs fc:font-bold fc:text-slate-800", children: move.action }),
21306
+ /* @__PURE__ */ jsxs98("span", { className: "fc:text-[11px] fc:text-slate-500", children: [
21307
+ "(",
21308
+ move.fromStep,
21309
+ " \u2192 ",
21310
+ /* @__PURE__ */ jsx99("strong", { className: "fc:text-blue-600", children: move.toStep }),
21311
+ ")"
21312
+ ] })
21313
+ ] }),
21314
+ /* @__PURE__ */ jsx99("span", { className: "fc:text-[10px] fc:font-bold fc:text-slate-400", children: move.timestamp })
21315
+ ] }),
21316
+ /* @__PURE__ */ jsxs98("p", { className: "fc:text-xs fc:text-slate-600 fc:bg-slate-50 fc:p-2 fc:rounded-xl fc:border fc:border-slate-100", children: [
21317
+ /* @__PURE__ */ jsx99("strong", { children: "Remarks:" }),
21318
+ " ",
21319
+ move.remarks
21320
+ ] }),
21321
+ /* @__PURE__ */ jsxs98("span", { className: "fc:text-[10px] fc:text-slate-400", children: [
21322
+ "Action Officer: ",
21323
+ /* @__PURE__ */ jsx99("strong", { children: move.officer })
21324
+ ] })
21325
+ ] }, move.id || idx)) }) }),
21326
+ activeTab === "details" && /* @__PURE__ */ jsxs98("div", { className: "fc:grid fc:grid-cols-1 md:fc:grid-cols-3 fc:gap-3 fc:text-xs", children: [
21327
+ /* @__PURE__ */ jsxs98("div", { className: "fc:bg-slate-50 fc:p-3 fc:rounded-xl fc:border fc:border-slate-100", children: [
21328
+ /* @__PURE__ */ jsx99("span", { className: "fc:text-[10px] fc:font-bold fc:text-slate-400 fc:uppercase fc:block", children: "Application / File Number" }),
21329
+ /* @__PURE__ */ jsx99("span", { className: "fc:text-xs fc:font-bold fc:text-blue-600 fc:mt-0.5 fc:block", children: selectedApplication.fileNumber })
21330
+ ] }),
21331
+ /* @__PURE__ */ jsxs98("div", { className: "fc:bg-slate-50 fc:p-3 fc:rounded-xl fc:border fc:border-slate-100", children: [
21332
+ /* @__PURE__ */ jsx99("span", { className: "fc:text-[10px] fc:font-bold fc:text-slate-400 fc:uppercase fc:block", children: "Workflow Name" }),
21333
+ /* @__PURE__ */ jsx99("span", { className: "fc:text-xs fc:font-semibold fc:text-slate-800 fc:mt-0.5 fc:block", children: selectedApplication.workflowName })
21334
+ ] }),
21335
+ /* @__PURE__ */ jsxs98("div", { className: "fc:bg-slate-50 fc:p-3 fc:rounded-xl fc:border fc:border-slate-100", children: [
21336
+ /* @__PURE__ */ jsx99("span", { className: "fc:text-[10px] fc:font-bold fc:text-slate-400 fc:uppercase fc:block", children: "Department / Ministry" }),
21337
+ /* @__PURE__ */ jsx99("span", { className: "fc:text-xs fc:font-semibold fc:text-slate-800 fc:mt-0.5 fc:block", children: selectedApplication.department })
21338
+ ] }),
21339
+ /* @__PURE__ */ jsxs98("div", { className: "fc:bg-slate-50 fc:p-3 fc:rounded-xl fc:border fc:border-slate-100", children: [
21340
+ /* @__PURE__ */ jsx99("span", { className: "fc:text-[10px] fc:font-bold fc:text-slate-400 fc:uppercase fc:block", children: "Applicant / Originator Entity" }),
21341
+ /* @__PURE__ */ jsx99("span", { className: "fc:text-xs fc:font-semibold fc:text-slate-800 fc:mt-0.5 fc:block", children: selectedApplication.applicant })
21342
+ ] }),
21343
+ /* @__PURE__ */ jsxs98("div", { className: "fc:bg-slate-50 fc:p-3 fc:rounded-xl fc:border fc:border-slate-100", children: [
21344
+ /* @__PURE__ */ jsx99("span", { className: "fc:text-[10px] fc:font-bold fc:text-slate-400 fc:uppercase fc:block", children: "Proposal Category" }),
21345
+ /* @__PURE__ */ jsx99("span", { className: "fc:text-xs fc:font-semibold fc:text-slate-800 fc:mt-0.5 fc:block", children: selectedApplication.category })
21346
+ ] }),
21347
+ /* @__PURE__ */ jsxs98("div", { className: "fc:bg-slate-50 fc:p-3 fc:rounded-xl fc:border fc:border-slate-100", children: [
21348
+ /* @__PURE__ */ jsx99("span", { className: "fc:text-[10px] fc:font-bold fc:text-slate-400 fc:uppercase fc:block", children: "Financial Year" }),
21349
+ /* @__PURE__ */ jsx99("span", { className: "fc:text-xs fc:font-semibold fc:text-slate-800 fc:mt-0.5 fc:block", children: selectedApplication.financialYear })
21350
+ ] }),
21351
+ /* @__PURE__ */ jsxs98("div", { className: "fc:bg-slate-50 fc:p-3 fc:rounded-xl fc:border fc:border-slate-100", children: [
21352
+ /* @__PURE__ */ jsx99("span", { className: "fc:text-[10px] fc:font-bold fc:text-slate-400 fc:uppercase fc:block", children: "Received Timestamp" }),
21353
+ /* @__PURE__ */ jsx99("span", { className: "fc:text-xs fc:font-semibold fc:text-slate-800 fc:mt-0.5 fc:block", children: selectedApplication.receivedDate })
21354
+ ] }),
21355
+ /* @__PURE__ */ jsxs98("div", { className: "fc:bg-slate-50 fc:p-3 fc:rounded-xl fc:border fc:border-slate-100", children: [
21356
+ /* @__PURE__ */ jsx99("span", { className: "fc:text-[10px] fc:font-bold fc:text-slate-400 fc:uppercase fc:block", children: "Target SLA Due Date" }),
21357
+ /* @__PURE__ */ jsxs98("span", { className: "fc:text-xs fc:font-bold fc:text-red-600 fc:mt-0.5 fc:block", children: [
21358
+ selectedApplication.dueDate,
21359
+ " (",
21360
+ selectedApplication.slaStatus,
22103
21361
  ")"
22104
21362
  ] })
22105
21363
  ] }),
22106
- /* @__PURE__ */ jsx99("span", { className: "fc:text-[10px] fc:font-bold fc:text-slate-400", children: move.timestamp })
22107
- ] }),
22108
- /* @__PURE__ */ jsxs98("p", { className: "fc:text-xs fc:text-slate-600 fc:bg-slate-50 fc:p-2 fc:rounded-xl fc:border fc:border-slate-100", children: [
22109
- /* @__PURE__ */ jsx99("strong", { children: "Remarks:" }),
22110
- " ",
22111
- move.remarks
22112
- ] }),
22113
- /* @__PURE__ */ jsxs98("span", { className: "fc:text-[10px] fc:text-slate-400", children: [
22114
- "Action Officer: ",
22115
- /* @__PURE__ */ jsx99("strong", { children: move.officer })
22116
- ] })
22117
- ] }, move.id || idx)) }) }),
22118
- activeTab === "details" && /* @__PURE__ */ jsxs98("div", { className: "fc:grid fc:grid-cols-1 md:fc:grid-cols-3 fc:gap-3 fc:text-xs", children: [
22119
- /* @__PURE__ */ jsxs98("div", { className: "fc:bg-slate-50 fc:p-3 fc:rounded-xl fc:border fc:border-slate-100", children: [
22120
- /* @__PURE__ */ jsx99("span", { className: "fc:text-[10px] fc:font-bold fc:text-slate-400 fc:uppercase fc:block", children: "Application / File Number" }),
22121
- /* @__PURE__ */ jsx99("span", { className: "fc:text-xs fc:font-bold fc:text-blue-600 fc:mt-0.5 fc:block", children: selectedApplication.fileNumber })
22122
- ] }),
22123
- /* @__PURE__ */ jsxs98("div", { className: "fc:bg-slate-50 fc:p-3 fc:rounded-xl fc:border fc:border-slate-100", children: [
22124
- /* @__PURE__ */ jsx99("span", { className: "fc:text-[10px] fc:font-bold fc:text-slate-400 fc:uppercase fc:block", children: "Workflow Name" }),
22125
- /* @__PURE__ */ jsx99("span", { className: "fc:text-xs fc:font-semibold fc:text-slate-800 fc:mt-0.5 fc:block", children: selectedApplication.workflowName })
22126
- ] }),
22127
- /* @__PURE__ */ jsxs98("div", { className: "fc:bg-slate-50 fc:p-3 fc:rounded-xl fc:border fc:border-slate-100", children: [
22128
- /* @__PURE__ */ jsx99("span", { className: "fc:text-[10px] fc:font-bold fc:text-slate-400 fc:uppercase fc:block", children: "Department / Ministry" }),
22129
- /* @__PURE__ */ jsx99("span", { className: "fc:text-xs fc:font-semibold fc:text-slate-800 fc:mt-0.5 fc:block", children: selectedApplication.department })
22130
- ] }),
22131
- /* @__PURE__ */ jsxs98("div", { className: "fc:bg-slate-50 fc:p-3 fc:rounded-xl fc:border fc:border-slate-100", children: [
22132
- /* @__PURE__ */ jsx99("span", { className: "fc:text-[10px] fc:font-bold fc:text-slate-400 fc:uppercase fc:block", children: "Applicant / Originator Entity" }),
22133
- /* @__PURE__ */ jsx99("span", { className: "fc:text-xs fc:font-semibold fc:text-slate-800 fc:mt-0.5 fc:block", children: selectedApplication.applicant })
22134
- ] }),
22135
- /* @__PURE__ */ jsxs98("div", { className: "fc:bg-slate-50 fc:p-3 fc:rounded-xl fc:border fc:border-slate-100", children: [
22136
- /* @__PURE__ */ jsx99("span", { className: "fc:text-[10px] fc:font-bold fc:text-slate-400 fc:uppercase fc:block", children: "Proposal Category" }),
22137
- /* @__PURE__ */ jsx99("span", { className: "fc:text-xs fc:font-semibold fc:text-slate-800 fc:mt-0.5 fc:block", children: selectedApplication.category })
22138
- ] }),
22139
- /* @__PURE__ */ jsxs98("div", { className: "fc:bg-slate-50 fc:p-3 fc:rounded-xl fc:border fc:border-slate-100", children: [
22140
- /* @__PURE__ */ jsx99("span", { className: "fc:text-[10px] fc:font-bold fc:text-slate-400 fc:uppercase fc:block", children: "Financial Year" }),
22141
- /* @__PURE__ */ jsx99("span", { className: "fc:text-xs fc:font-semibold fc:text-slate-800 fc:mt-0.5 fc:block", children: selectedApplication.financialYear })
22142
- ] }),
22143
- /* @__PURE__ */ jsxs98("div", { className: "fc:bg-slate-50 fc:p-3 fc:rounded-xl fc:border fc:border-slate-100", children: [
22144
- /* @__PURE__ */ jsx99("span", { className: "fc:text-[10px] fc:font-bold fc:text-slate-400 fc:uppercase fc:block", children: "Received Timestamp" }),
22145
- /* @__PURE__ */ jsx99("span", { className: "fc:text-xs fc:font-semibold fc:text-slate-800 fc:mt-0.5 fc:block", children: selectedApplication.receivedDate })
22146
- ] }),
22147
- /* @__PURE__ */ jsxs98("div", { className: "fc:bg-slate-50 fc:p-3 fc:rounded-xl fc:border fc:border-slate-100", children: [
22148
- /* @__PURE__ */ jsx99("span", { className: "fc:text-[10px] fc:font-bold fc:text-slate-400 fc:uppercase fc:block", children: "Target SLA Due Date" }),
22149
- /* @__PURE__ */ jsxs98("span", { className: "fc:text-xs fc:font-bold fc:text-red-600 fc:mt-0.5 fc:block", children: [
22150
- selectedApplication.dueDate,
22151
- " (",
22152
- selectedApplication.slaStatus,
22153
- ")"
21364
+ /* @__PURE__ */ jsxs98("div", { className: "fc:bg-slate-50 fc:p-3 fc:rounded-xl fc:border fc:border-slate-100", children: [
21365
+ /* @__PURE__ */ jsx99("span", { className: "fc:text-[10px] fc:font-bold fc:text-slate-400 fc:uppercase fc:block", children: "Current Active Desk" }),
21366
+ /* @__PURE__ */ jsxs98("span", { className: "fc:text-xs fc:font-bold fc:text-indigo-600 fc:mt-0.5 fc:block", children: [
21367
+ selectedApplication.assignedTo,
21368
+ " (",
21369
+ selectedApplication.currentStep,
21370
+ ")"
21371
+ ] })
22154
21372
  ] })
22155
21373
  ] }),
22156
- /* @__PURE__ */ jsxs98("div", { className: "fc:bg-slate-50 fc:p-3 fc:rounded-xl fc:border fc:border-slate-100", children: [
22157
- /* @__PURE__ */ jsx99("span", { className: "fc:text-[10px] fc:font-bold fc:text-slate-400 fc:uppercase fc:block", children: "Current Active Desk" }),
22158
- /* @__PURE__ */ jsxs98("span", { className: "fc:text-xs fc:font-bold fc:text-indigo-600 fc:mt-0.5 fc:block", children: [
22159
- selectedApplication.assignedTo,
22160
- " (",
22161
- selectedApplication.currentStep,
22162
- ")"
22163
- ] })
22164
- ] })
22165
- ] }),
22166
- activeTab === "documents" && /* @__PURE__ */ jsx99("div", { className: "fc:grid fc:grid-cols-1 md:fc:grid-cols-2 fc:gap-3", children: (selectedApplication.documents || []).map((doc, i) => /* @__PURE__ */ jsxs98(
22167
- "div",
22168
- {
22169
- className: "fc:flex fc:items-center fc:justify-between fc:p-2.5 fc:rounded-xl fc:border fc:border-slate-200 fc:bg-slate-50/50 hover:fc:bg-slate-50 fc:transition-all",
22170
- children: [
22171
- /* @__PURE__ */ jsxs98("div", { className: "fc:flex fc:items-center fc:gap-2.5", children: [
22172
- /* @__PURE__ */ jsx99("div", { className: "fc:w-7 fc:h-7 fc:rounded-lg fc:bg-red-50 fc:text-red-600 fc:flex fc:items-center fc:justify-center fc:font-bold fc:text-[10px]", children: doc.type }),
22173
- /* @__PURE__ */ jsxs98("div", { children: [
22174
- /* @__PURE__ */ jsx99("h5", { className: "fc:text-xs fc:font-bold fc:text-slate-800", children: doc.name }),
22175
- /* @__PURE__ */ jsxs98("span", { className: "fc:text-[10px] fc:text-slate-400", children: [
22176
- "Size: ",
22177
- doc.size
21374
+ activeTab === "documents" && /* @__PURE__ */ jsx99("div", { className: "fc:grid fc:grid-cols-1 md:fc:grid-cols-2 fc:gap-3", children: (selectedApplication.documents || []).map((doc, i) => /* @__PURE__ */ jsxs98(
21375
+ "div",
21376
+ {
21377
+ className: "fc:flex fc:items-center fc:justify-between fc:p-2.5 fc:rounded-xl fc:border fc:border-slate-200 fc:bg-slate-50/50 hover:fc:bg-slate-50 fc:transition-all",
21378
+ children: [
21379
+ /* @__PURE__ */ jsxs98("div", { className: "fc:flex fc:items-center fc:gap-2.5", children: [
21380
+ /* @__PURE__ */ jsx99("div", { className: "fc:w-7 fc:h-7 fc:rounded-lg fc:bg-red-50 fc:text-red-600 fc:flex fc:items-center fc:justify-center fc:font-bold fc:text-[10px]", children: doc.type }),
21381
+ /* @__PURE__ */ jsxs98("div", { children: [
21382
+ /* @__PURE__ */ jsx99("h5", { className: "fc:text-xs fc:font-bold fc:text-slate-800", children: doc.name }),
21383
+ /* @__PURE__ */ jsxs98("span", { className: "fc:text-[10px] fc:text-slate-400", children: [
21384
+ "Size: ",
21385
+ doc.size
21386
+ ] })
22178
21387
  ] })
22179
- ] })
22180
- ] }),
22181
- /* @__PURE__ */ jsx99("span", { className: "fc:text-[10px] fc:font-bold fc:px-2 fc:py-0.5 fc:rounded-full fc:bg-emerald-50 fc:text-emerald-700 fc:border fc:border-emerald-200", children: doc.status })
22182
- ]
22183
- },
22184
- i
22185
- )) })
21388
+ ] }),
21389
+ /* @__PURE__ */ jsx99("span", { className: "fc:text-[10px] fc:font-bold fc:px-2 fc:py-0.5 fc:rounded-full fc:bg-emerald-50 fc:text-emerald-700 fc:border fc:border-emerald-200", children: doc.status })
21390
+ ]
21391
+ },
21392
+ i
21393
+ )) })
21394
+ ] })
22186
21395
  ] })
21396
+ ] }),
21397
+ !selectedApplication && /* @__PURE__ */ jsxs98("div", { className: "fc:flex fc:min-h-72 fc:flex-col fc:items-center fc:justify-center fc:gap-2 fc:text-center", children: [
21398
+ /* @__PURE__ */ jsx99(RiRouteLine2, { size: 28, className: "fc:text-slate-300" }),
21399
+ /* @__PURE__ */ jsx99("h2", { className: "fc:text-sm fc:font-bold fc:text-slate-700", children: "No tracking data available" }),
21400
+ /* @__PURE__ */ jsx99("p", { className: "fc:max-w-md fc:text-xs fc:text-slate-500", children: "Configure the application tracking endpoint to load real application status and movement details." })
22187
21401
  ] })
22188
- ] }) })
21402
+ ] })
22189
21403
  ) : (
22190
21404
  /* ========================================================
22191
21405
  VIEW 2: APPLICATIONS REGISTRY TABLE (MATCHING INBOX TABLE)