kaafil-react-uikit 0.9.0 → 0.10.0
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.
- package/CHANGELOG.md +88 -0
- package/dist/admin/index.cjs +458 -360
- package/dist/admin/index.cjs.map +1 -1
- package/dist/admin/index.d.cts +112 -14
- package/dist/admin/index.d.ts +112 -14
- package/dist/admin/index.js +117 -19
- package/dist/admin/index.js.map +1 -1
- package/dist/{chunk-TJGE4ZSX.js → chunk-2HGOHUFU.js} +3 -3
- package/dist/{chunk-TJGE4ZSX.js.map → chunk-2HGOHUFU.js.map} +1 -1
- package/dist/{chunk-FO5VJJUO.cjs → chunk-AJEZMD64.cjs} +12 -12
- package/dist/{chunk-FO5VJJUO.cjs.map → chunk-AJEZMD64.cjs.map} +1 -1
- package/dist/{chunk-TYBIAPPT.cjs → chunk-APE4R2GB.cjs} +86 -86
- package/dist/chunk-APE4R2GB.cjs.map +1 -0
- package/dist/{chunk-ELJPQSXY.cjs → chunk-BKDKXM3L.cjs} +11 -11
- package/dist/{chunk-ELJPQSXY.cjs.map → chunk-BKDKXM3L.cjs.map} +1 -1
- package/dist/{chunk-2WPNGUX5.cjs → chunk-E6SI2S3L.cjs} +17 -17
- package/dist/{chunk-2WPNGUX5.cjs.map → chunk-E6SI2S3L.cjs.map} +1 -1
- package/dist/{chunk-GOSSRXBN.js → chunk-IDKRXLMY.js} +3 -3
- package/dist/{chunk-GOSSRXBN.js.map → chunk-IDKRXLMY.js.map} +1 -1
- package/dist/{chunk-PFTWPEVV.cjs → chunk-LYCN2BOH.cjs} +4 -4
- package/dist/{chunk-PFTWPEVV.cjs.map → chunk-LYCN2BOH.cjs.map} +1 -1
- package/dist/{chunk-SO4F5LTH.js → chunk-OXCVTVBY.js} +5 -5
- package/dist/{chunk-SO4F5LTH.js.map → chunk-OXCVTVBY.js.map} +1 -1
- package/dist/{chunk-SMGXVEN3.cjs → chunk-P5HF55MO.cjs} +6 -6
- package/dist/chunk-P5HF55MO.cjs.map +1 -0
- package/dist/chunk-PHVQIIOI.cjs +12 -0
- package/dist/{chunk-PG7HNBTO.cjs.map → chunk-PHVQIIOI.cjs.map} +1 -1
- package/dist/{chunk-FSSB6J3X.js → chunk-U2443I5Q.js} +6 -6
- package/dist/chunk-U2443I5Q.js.map +1 -0
- package/dist/{chunk-6PQWLUBA.js → chunk-UMLJEBQV.js} +5 -5
- package/dist/{chunk-6PQWLUBA.js.map → chunk-UMLJEBQV.js.map} +1 -1
- package/dist/{chunk-CCK3WPMF.js → chunk-VAUGZOY6.js} +3 -3
- package/dist/{chunk-CCK3WPMF.js.map → chunk-VAUGZOY6.js.map} +1 -1
- package/dist/{chunk-TESIDLJ6.js → chunk-WMBFBZ7Q.js} +6 -6
- package/dist/chunk-WMBFBZ7Q.js.map +1 -0
- package/dist/{chunk-IAXVUR7H.cjs → chunk-X5EFVCYF.cjs} +55 -55
- package/dist/{chunk-IAXVUR7H.cjs.map → chunk-X5EFVCYF.cjs.map} +1 -1
- package/dist/{chunk-YWMDBY43.js → chunk-ZVADVALQ.js} +5 -5
- package/dist/{chunk-YWMDBY43.js.map → chunk-ZVADVALQ.js.map} +1 -1
- package/dist/core/index.cjs +107 -107
- package/dist/core/index.js +10 -10
- package/dist/manager/index.cjs +375 -263
- package/dist/manager/index.cjs.map +1 -1
- package/dist/manager/index.d.cts +136 -17
- package/dist/manager/index.d.ts +136 -17
- package/dist/manager/index.js +142 -30
- package/dist/manager/index.js.map +1 -1
- package/dist/offline/index.cjs +12 -1
- package/dist/offline/index.cjs.map +1 -1
- package/dist/offline/index.d.cts +51 -3
- package/dist/offline/index.d.ts +51 -3
- package/dist/offline/index.js +12 -1
- package/dist/offline/index.js.map +1 -1
- package/dist/traveller/index.cjs +35 -35
- package/dist/traveller/index.js +5 -5
- package/package.json +1 -1
- package/dist/chunk-FSSB6J3X.js.map +0 -1
- package/dist/chunk-PG7HNBTO.cjs +0 -12
- package/dist/chunk-SMGXVEN3.cjs.map +0 -1
- package/dist/chunk-TESIDLJ6.js.map +0 -1
- package/dist/chunk-TYBIAPPT.cjs.map +0 -1
package/dist/manager/index.cjs
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
5
|
-
var
|
|
6
|
-
var
|
|
7
|
-
var
|
|
3
|
+
var chunkBKDKXM3L_cjs = require('../chunk-BKDKXM3L.cjs');
|
|
4
|
+
var chunkAPE4R2GB_cjs = require('../chunk-APE4R2GB.cjs');
|
|
5
|
+
var chunkPHVQIIOI_cjs = require('../chunk-PHVQIIOI.cjs');
|
|
6
|
+
var chunkAJEZMD64_cjs = require('../chunk-AJEZMD64.cjs');
|
|
7
|
+
var chunkP5HF55MO_cjs = require('../chunk-P5HF55MO.cjs');
|
|
8
8
|
var react = require('react');
|
|
9
9
|
var jsxRuntime = require('react/jsx-runtime');
|
|
10
10
|
|
|
@@ -180,7 +180,7 @@ function CloseIcon(props) {
|
|
|
180
180
|
}
|
|
181
181
|
var PHASES = ["PRE_DEPARTURE", "IN_TRIP", "POST_TRIP"];
|
|
182
182
|
function AddItemSheet({ open, sections, onSubmit, onClose }) {
|
|
183
|
-
const { t } =
|
|
183
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
184
184
|
const [sectionId, setSectionId] = react.useState(sections[0]?.id ?? "NEW");
|
|
185
185
|
const [newSectionTitle, setNewSectionTitle] = react.useState("");
|
|
186
186
|
const [newSectionPhase, setNewSectionPhase] = react.useState("PRE_DEPARTURE");
|
|
@@ -346,7 +346,7 @@ function AddItemSheet({ open, sections, onSubmit, onClose }) {
|
|
|
346
346
|
}
|
|
347
347
|
var GATES = ["NONE", "PRE_TO_ACTIVE", "ACTIVE_TO_CLOSED_OUT"];
|
|
348
348
|
function EditItemSheet({ item, onSubmit, onClose }) {
|
|
349
|
-
const { t } =
|
|
349
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
350
350
|
const [title, setTitle] = react.useState("");
|
|
351
351
|
const [subLine, setSubLine] = react.useState("");
|
|
352
352
|
const [isMandatory, setIsMandatory] = react.useState(false);
|
|
@@ -492,7 +492,7 @@ function ItemRow({
|
|
|
492
492
|
onEdit,
|
|
493
493
|
onDelete
|
|
494
494
|
}) {
|
|
495
|
-
const { t } =
|
|
495
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
496
496
|
const isComplete = item.status === "COMPLETE";
|
|
497
497
|
const due = dueDayLabelKey(item.dayOffset);
|
|
498
498
|
function onKeyDown(event) {
|
|
@@ -558,7 +558,7 @@ function ItemRow({
|
|
|
558
558
|
);
|
|
559
559
|
}
|
|
560
560
|
function ProgressCard({ title, subtitle, progress }) {
|
|
561
|
-
const { t } =
|
|
561
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
562
562
|
const percent = overallPercent(progress);
|
|
563
563
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-checklist__progress-card", children: [
|
|
564
564
|
title !== void 0 ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-manager-checklist__progress-title", children: title }) : null,
|
|
@@ -585,7 +585,7 @@ function PullTemplateSheet({
|
|
|
585
585
|
onSubmit,
|
|
586
586
|
onClose
|
|
587
587
|
}) {
|
|
588
|
-
const { t } =
|
|
588
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
589
589
|
const [templates, setTemplates] = react.useState(void 0);
|
|
590
590
|
const [loadFailed, setLoadFailed] = react.useState(false);
|
|
591
591
|
const [selectedId, setSelectedId] = react.useState(void 0);
|
|
@@ -760,7 +760,7 @@ function SectionCard({
|
|
|
760
760
|
onDeleteItem,
|
|
761
761
|
ItemRowComponent
|
|
762
762
|
}) {
|
|
763
|
-
const { t } =
|
|
763
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
764
764
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-checklist__section", children: [
|
|
765
765
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-checklist__section-header", children: [
|
|
766
766
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
@@ -787,15 +787,22 @@ function SectionCard({
|
|
|
787
787
|
)) })
|
|
788
788
|
] });
|
|
789
789
|
}
|
|
790
|
-
function ManagerChecklistSection({
|
|
790
|
+
function ManagerChecklistSection(props) {
|
|
791
|
+
const session = chunkP5HF55MO_cjs.useSession();
|
|
792
|
+
if (session.status !== "authenticated") {
|
|
793
|
+
return null;
|
|
794
|
+
}
|
|
795
|
+
return /* @__PURE__ */ jsxRuntime.jsx(ReadyManagerChecklistSection, { ...props });
|
|
796
|
+
}
|
|
797
|
+
function ReadyManagerChecklistSection({
|
|
791
798
|
tripRef,
|
|
792
799
|
components,
|
|
793
800
|
style
|
|
794
801
|
}) {
|
|
795
|
-
const { t } =
|
|
796
|
-
const checklist =
|
|
797
|
-
const managers =
|
|
798
|
-
const managerMe =
|
|
802
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
803
|
+
const checklist = chunkAPE4R2GB_cjs.useChecklists(tripRef);
|
|
804
|
+
const managers = chunkAPE4R2GB_cjs.useManagers(tripRef);
|
|
805
|
+
const managerMe = chunkBKDKXM3L_cjs.useManagerMe();
|
|
799
806
|
const ProgressCardUI = components?.ProgressCard ?? ProgressCard;
|
|
800
807
|
const SectionCardUI = components?.SectionCard ?? SectionCard;
|
|
801
808
|
const ItemRowUI = components?.ItemRow ?? ItemRow;
|
|
@@ -807,7 +814,7 @@ function ManagerChecklistSection({
|
|
|
807
814
|
/* @__PURE__ */ new Map()
|
|
808
815
|
);
|
|
809
816
|
if (checklist.status === "loading") {
|
|
810
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-checklist__skeleton", style:
|
|
817
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-checklist__skeleton", style: chunkP5HF55MO_cjs.tokenStyle(style), children: [
|
|
811
818
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-checklist__skeleton-block" }),
|
|
812
819
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-checklist__skeleton-line" }),
|
|
813
820
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-checklist__skeleton-line kf-manager-checklist__skeleton-line--short" })
|
|
@@ -837,7 +844,7 @@ function ManagerChecklistSection({
|
|
|
837
844
|
});
|
|
838
845
|
}
|
|
839
846
|
};
|
|
840
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-checklist", style:
|
|
847
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-checklist", style: chunkP5HF55MO_cjs.tokenStyle(style), children: [
|
|
841
848
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
842
849
|
ProgressCardUI,
|
|
843
850
|
{
|
|
@@ -1066,7 +1073,7 @@ function LockIcon(props) {
|
|
|
1066
1073
|
);
|
|
1067
1074
|
}
|
|
1068
1075
|
function BlockerRow({ blocker, onAction }) {
|
|
1069
|
-
const { t } =
|
|
1076
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
1070
1077
|
const Icon = blocker.severity === "hard" ? WarningIcon : InfoIcon;
|
|
1071
1078
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-closeout__blocker-row", "data-severity": blocker.severity, children: [
|
|
1072
1079
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-manager-closeout__blocker-icon", children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { "aria-hidden": "true" }) }),
|
|
@@ -1095,7 +1102,7 @@ function HandoverNoteEditor({
|
|
|
1095
1102
|
disabled,
|
|
1096
1103
|
onSave
|
|
1097
1104
|
}) {
|
|
1098
|
-
const { t } =
|
|
1105
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
1099
1106
|
const [draft, setDraft] = react.useState(note ?? "");
|
|
1100
1107
|
const [savedLabel, setSavedLabel] = react.useState(false);
|
|
1101
1108
|
react.useEffect(() => {
|
|
@@ -1172,7 +1179,7 @@ function LockConfirmSheet({
|
|
|
1172
1179
|
onConfirm,
|
|
1173
1180
|
onClose
|
|
1174
1181
|
}) {
|
|
1175
|
-
const { t } =
|
|
1182
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
1176
1183
|
react.useEffect(() => {
|
|
1177
1184
|
if (!open) {
|
|
1178
1185
|
return;
|
|
@@ -1247,7 +1254,7 @@ var PERFORMED_BY_LABEL_KEY = {
|
|
|
1247
1254
|
SYSTEM: "chrome.managerTrip.closeout.performedBy.system"
|
|
1248
1255
|
};
|
|
1249
1256
|
function LockedSummary({ aggregate }) {
|
|
1250
|
-
const { t } =
|
|
1257
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
1251
1258
|
const performedByLabel = aggregate.performedByKind !== null ? t(
|
|
1252
1259
|
PERFORMED_BY_LABEL_KEY[aggregate.performedByKind] ?? "chrome.managerTrip.closeout.performedBy.system"
|
|
1253
1260
|
) : void 0;
|
|
@@ -1268,7 +1275,7 @@ function stageLabelKey(stage) {
|
|
|
1268
1275
|
return stage !== null ? STAGE_LABEL_KEY[stage] ?? "chrome.managerTrip.closeout.stage.notReturned" : "chrome.managerTrip.closeout.stage.notReturned";
|
|
1269
1276
|
}
|
|
1270
1277
|
function StageStrip({ aggregate }) {
|
|
1271
|
-
const { t } =
|
|
1278
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
1272
1279
|
const { financialSummary } = aggregate;
|
|
1273
1280
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-closeout__stage", children: [
|
|
1274
1281
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-manager-closeout__stage-badge", "data-stage": aggregate.stage ?? "none", children: t(stageLabelKey(aggregate.stage)) }),
|
|
@@ -1307,7 +1314,7 @@ function StageStrip({ aggregate }) {
|
|
|
1307
1314
|
] });
|
|
1308
1315
|
}
|
|
1309
1316
|
function UnlockRequestForm({ tripRef, onSubmit }) {
|
|
1310
|
-
const { t } =
|
|
1317
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
1311
1318
|
const [reason, setReason] = react.useState("");
|
|
1312
1319
|
const [submitting, setSubmitting] = react.useState(false);
|
|
1313
1320
|
const [submitted, setSubmitted] = react.useState(false);
|
|
@@ -1345,20 +1352,27 @@ function UnlockRequestForm({ tripRef, onSubmit }) {
|
|
|
1345
1352
|
)
|
|
1346
1353
|
] });
|
|
1347
1354
|
}
|
|
1348
|
-
function ManagerCloseoutSection({
|
|
1355
|
+
function ManagerCloseoutSection(props) {
|
|
1356
|
+
const session = chunkP5HF55MO_cjs.useSession();
|
|
1357
|
+
if (session.status !== "authenticated") {
|
|
1358
|
+
return null;
|
|
1359
|
+
}
|
|
1360
|
+
return /* @__PURE__ */ jsxRuntime.jsx(ReadyManagerCloseoutSection, { ...props });
|
|
1361
|
+
}
|
|
1362
|
+
function ReadyManagerCloseoutSection({
|
|
1349
1363
|
tripRef,
|
|
1350
1364
|
onBlockerAction,
|
|
1351
1365
|
onSubmitUnlockRequest,
|
|
1352
1366
|
components,
|
|
1353
1367
|
style
|
|
1354
1368
|
}) {
|
|
1355
|
-
const { t } =
|
|
1356
|
-
const closeout =
|
|
1369
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
1370
|
+
const closeout = chunkAPE4R2GB_cjs.useCloseout(tripRef);
|
|
1357
1371
|
const BlockerRowUI = components?.BlockerRow ?? BlockerRow;
|
|
1358
1372
|
const [lockSheetOpen, setLockSheetOpen] = react.useState(false);
|
|
1359
1373
|
const [lockPending, setLockPending] = react.useState(false);
|
|
1360
1374
|
if (closeout.status === "loading") {
|
|
1361
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-closeout__skeleton", style:
|
|
1375
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-closeout__skeleton", style: chunkP5HF55MO_cjs.tokenStyle(style), children: [
|
|
1362
1376
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-closeout__skeleton-line" }),
|
|
1363
1377
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-closeout__skeleton-line" }),
|
|
1364
1378
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-closeout__skeleton-line kf-manager-closeout__skeleton-line--short" })
|
|
@@ -1368,17 +1382,17 @@ function ManagerCloseoutSection({
|
|
|
1368
1382
|
return null;
|
|
1369
1383
|
}
|
|
1370
1384
|
if (!closeout.loaded || closeout.aggregate === void 0) {
|
|
1371
|
-
return closeout.lastFetchFailed ? null : /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-closeout__skeleton", style:
|
|
1385
|
+
return closeout.lastFetchFailed ? null : /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-closeout__skeleton", style: chunkP5HF55MO_cjs.tokenStyle(style), children: [
|
|
1372
1386
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-closeout__skeleton-line" }),
|
|
1373
1387
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-closeout__skeleton-line" })
|
|
1374
1388
|
] });
|
|
1375
1389
|
}
|
|
1376
1390
|
const { aggregate } = closeout;
|
|
1377
1391
|
if (aggregate.stage === null) {
|
|
1378
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-closeout", style:
|
|
1392
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-closeout", style: chunkP5HF55MO_cjs.tokenStyle(style), children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-closeout__not-returned", children: t("chrome.managerTrip.closeout.notReturnedYet") }) });
|
|
1379
1393
|
}
|
|
1380
1394
|
if (aggregate.lockedAt !== null) {
|
|
1381
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-closeout", style:
|
|
1395
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-closeout", style: chunkP5HF55MO_cjs.tokenStyle(style), children: [
|
|
1382
1396
|
/* @__PURE__ */ jsxRuntime.jsx(LockedSummary, { aggregate }),
|
|
1383
1397
|
/* @__PURE__ */ jsxRuntime.jsx(UnlockRequestForm, { tripRef, onSubmit: onSubmitUnlockRequest })
|
|
1384
1398
|
] });
|
|
@@ -1394,7 +1408,7 @@ function ManagerCloseoutSection({
|
|
|
1394
1408
|
setLockPending(false);
|
|
1395
1409
|
}
|
|
1396
1410
|
}
|
|
1397
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-closeout", style:
|
|
1411
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-closeout", style: chunkP5HF55MO_cjs.tokenStyle(style), children: [
|
|
1398
1412
|
/* @__PURE__ */ jsxRuntime.jsx(StageStrip, { aggregate }),
|
|
1399
1413
|
rankedBlockers.length === 0 ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-closeout__all-clear", children: [
|
|
1400
1414
|
/* @__PURE__ */ jsxRuntime.jsx(CheckIcon2, { "aria-hidden": "true" }),
|
|
@@ -1618,7 +1632,7 @@ var PURPOSE_LABEL_KEY = {
|
|
|
1618
1632
|
trip_document: "chrome.managerTrip.documents.bucket.tripDocument"
|
|
1619
1633
|
};
|
|
1620
1634
|
function DocumentBucketTile({ purpose, count, onOpen }) {
|
|
1621
|
-
const { t } =
|
|
1635
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
1622
1636
|
const Icon = PURPOSE_ICON[purpose];
|
|
1623
1637
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1624
1638
|
"button",
|
|
@@ -1654,7 +1668,7 @@ function formatFileSize(sizeBytes) {
|
|
|
1654
1668
|
}
|
|
1655
1669
|
var FILE_DATE_FORMATTER = new Intl.DateTimeFormat("en-GB", { day: "numeric", month: "short" });
|
|
1656
1670
|
function DocumentBucketGrid({ items, onOpen }) {
|
|
1657
|
-
const { t } =
|
|
1671
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
1658
1672
|
const [activePurpose, setActivePurpose] = react.useState(void 0);
|
|
1659
1673
|
const buckets = react.useMemo(() => {
|
|
1660
1674
|
return PURPOSE_ORDER.map((purpose) => ({
|
|
@@ -1723,7 +1737,7 @@ async function shareFile(file) {
|
|
|
1723
1737
|
await navigator.clipboard.writeText(file.url);
|
|
1724
1738
|
}
|
|
1725
1739
|
function DocumentViewerSheet({ file, onClose }) {
|
|
1726
|
-
const { t } =
|
|
1740
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
1727
1741
|
react.useEffect(() => {
|
|
1728
1742
|
if (file === void 0) {
|
|
1729
1743
|
return;
|
|
@@ -1806,12 +1820,16 @@ function DocumentViewerSheet({ file, onClose }) {
|
|
|
1806
1820
|
}
|
|
1807
1821
|
) });
|
|
1808
1822
|
}
|
|
1809
|
-
function ManagerDocumentsSection({
|
|
1810
|
-
|
|
1811
|
-
|
|
1812
|
-
|
|
1813
|
-
|
|
1814
|
-
|
|
1823
|
+
function ManagerDocumentsSection(props) {
|
|
1824
|
+
const session = chunkP5HF55MO_cjs.useSession();
|
|
1825
|
+
if (session.status !== "authenticated") {
|
|
1826
|
+
return null;
|
|
1827
|
+
}
|
|
1828
|
+
return /* @__PURE__ */ jsxRuntime.jsx(ReadyManagerDocumentsSection, { ...props });
|
|
1829
|
+
}
|
|
1830
|
+
function ReadyManagerDocumentsSection({ tripRef, style }) {
|
|
1831
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
1832
|
+
const files = chunkAPE4R2GB_cjs.useFiles({ tripRef });
|
|
1815
1833
|
const [state, setState] = react.useState({ status: "loading" });
|
|
1816
1834
|
const [viewerFile, setViewerFile] = react.useState(void 0);
|
|
1817
1835
|
react.useEffect(() => {
|
|
@@ -1835,7 +1853,7 @@ function ManagerDocumentsSection({
|
|
|
1835
1853
|
setViewerFile(view);
|
|
1836
1854
|
}
|
|
1837
1855
|
if (state.status === "loading") {
|
|
1838
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-documents__skeleton", style:
|
|
1856
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-documents__skeleton", style: chunkP5HF55MO_cjs.tokenStyle(style), children: [
|
|
1839
1857
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-documents__skeleton-tile" }),
|
|
1840
1858
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-documents__skeleton-tile" })
|
|
1841
1859
|
] });
|
|
@@ -1843,7 +1861,7 @@ function ManagerDocumentsSection({
|
|
|
1843
1861
|
if (state.status === "error") {
|
|
1844
1862
|
return null;
|
|
1845
1863
|
}
|
|
1846
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-documents", style:
|
|
1864
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-documents", style: chunkP5HF55MO_cjs.tokenStyle(style), children: [
|
|
1847
1865
|
state.items.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-manager-documents__empty", children: t("chrome.managerTrip.documents.empty") }) : /* @__PURE__ */ jsxRuntime.jsx(DocumentBucketGrid, { items: state.items, onOpen: (fileId) => void handleOpen(fileId) }),
|
|
1848
1866
|
/* @__PURE__ */ jsxRuntime.jsx(DocumentViewerSheet, { file: viewerFile, onClose: () => setViewerFile(void 0) })
|
|
1849
1867
|
] });
|
|
@@ -1908,7 +1926,7 @@ function collectionReferenceRequired(mode) {
|
|
|
1908
1926
|
return mode !== "CASH";
|
|
1909
1927
|
}
|
|
1910
1928
|
function BalanceSummaryStrip({ rows, ownManagerId }) {
|
|
1911
|
-
const { t } =
|
|
1929
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
1912
1930
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-float-ledger__summary", children: [
|
|
1913
1931
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-eyebrow kf-manager-float-ledger__eyebrow", children: t("chrome.managerTrip.floatLedger.summaryEyebrow") }),
|
|
1914
1932
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-float-ledger__summary-list", children: rows.map((row) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-float-ledger__summary-row", children: [
|
|
@@ -1972,7 +1990,7 @@ var MOVEMENT_LABEL_KEY = {
|
|
|
1972
1990
|
EXPENSE: "chrome.managerTrip.floatLedger.type.expense"
|
|
1973
1991
|
};
|
|
1974
1992
|
function LedgerRow({ movement }) {
|
|
1975
|
-
const { t } =
|
|
1993
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
1976
1994
|
const isIn = movement.direction === "IN";
|
|
1977
1995
|
const Icon = isIn ? ArrowInIcon : ArrowOutIcon;
|
|
1978
1996
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-float-ledger__row", children: [
|
|
@@ -1995,14 +2013,21 @@ function LedgerRow({ movement }) {
|
|
|
1995
2013
|
] })
|
|
1996
2014
|
] });
|
|
1997
2015
|
}
|
|
1998
|
-
function ManagerFloatLedgerSection({
|
|
2016
|
+
function ManagerFloatLedgerSection(props) {
|
|
2017
|
+
const session = chunkP5HF55MO_cjs.useSession();
|
|
2018
|
+
if (session.status !== "authenticated") {
|
|
2019
|
+
return null;
|
|
2020
|
+
}
|
|
2021
|
+
return /* @__PURE__ */ jsxRuntime.jsx(ReadyManagerFloatLedgerSection, { ...props });
|
|
2022
|
+
}
|
|
2023
|
+
function ReadyManagerFloatLedgerSection({
|
|
1999
2024
|
tripRef,
|
|
2000
2025
|
style
|
|
2001
2026
|
}) {
|
|
2002
|
-
const { t } =
|
|
2003
|
-
const float =
|
|
2027
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
2028
|
+
const float = chunkAPE4R2GB_cjs.useFloat(tripRef);
|
|
2004
2029
|
if (float.status === "loading") {
|
|
2005
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-float-ledger__skeleton", style:
|
|
2030
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-float-ledger__skeleton", style: chunkP5HF55MO_cjs.tokenStyle(style), children: [
|
|
2006
2031
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-float-ledger__skeleton-block" }),
|
|
2007
2032
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-float-ledger__skeleton-line" }),
|
|
2008
2033
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-float-ledger__skeleton-line kf-manager-float-ledger__skeleton-line--short" })
|
|
@@ -2016,7 +2041,7 @@ function ManagerFloatLedgerSection({
|
|
|
2016
2041
|
const sortedMovements = [...movements].sort(
|
|
2017
2042
|
(a, b) => new Date(b.createdAt).getTime() - new Date(a.createdAt).getTime()
|
|
2018
2043
|
);
|
|
2019
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-float-ledger", style:
|
|
2044
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-float-ledger", style: chunkP5HF55MO_cjs.tokenStyle(style), children: [
|
|
2020
2045
|
summary.rows.length > 1 ? /* @__PURE__ */ jsxRuntime.jsx(BalanceSummaryStrip, { rows: summary.rows, ownManagerId: ownManagerId ?? "" }) : null,
|
|
2021
2046
|
sortedMovements.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-manager-float-ledger__empty", children: t("chrome.managerTrip.floatLedger.empty") }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-float-ledger__list", children: sortedMovements.map((movement) => /* @__PURE__ */ jsxRuntime.jsx(LedgerRow, { movement }, movement.id)) })
|
|
2022
2047
|
] });
|
|
@@ -2100,7 +2125,7 @@ function PersonIcon(props) {
|
|
|
2100
2125
|
);
|
|
2101
2126
|
}
|
|
2102
2127
|
function ConflictNotice({ onRefresh }) {
|
|
2103
|
-
const { t } =
|
|
2128
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
2104
2129
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-forms__conflict", children: [
|
|
2105
2130
|
/* @__PURE__ */ jsxRuntime.jsx(WarningIcon2, {}),
|
|
2106
2131
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
@@ -2161,7 +2186,7 @@ function SelectFieldEditor({
|
|
|
2161
2186
|
required,
|
|
2162
2187
|
onChange
|
|
2163
2188
|
}) {
|
|
2164
|
-
const { t } =
|
|
2189
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
2165
2190
|
const [open, setOpen] = react.useState(false);
|
|
2166
2191
|
const rootRef = react.useRef(null);
|
|
2167
2192
|
const selected = options.find((option) => option.value === value);
|
|
@@ -2264,7 +2289,7 @@ var fallback = {
|
|
|
2264
2289
|
editor: ({ field, t }) => /* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-manager-forms__field-unsupported", children: t("chrome.managerTrip.forms.fieldUnsupported").replace("{label}", field.label) }),
|
|
2265
2290
|
preview: PlainPreview
|
|
2266
2291
|
};
|
|
2267
|
-
var fieldRegistry =
|
|
2292
|
+
var fieldRegistry = chunkP5HF55MO_cjs.createRegistry({ fallback });
|
|
2268
2293
|
fieldRegistry.register("HEADING", {
|
|
2269
2294
|
editor: ({ field }) => /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "kf-manager-forms__field-heading", children: field.label }),
|
|
2270
2295
|
preview: ({ field }) => /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "kf-manager-forms__field-heading", children: field.label })
|
|
@@ -2552,7 +2577,7 @@ fieldRegistry.register("MULTISELECT", {
|
|
|
2552
2577
|
},
|
|
2553
2578
|
preview: ({ value }) => /* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-manager-forms__field-preview", children: Array.isArray(value) ? value.join(", ") : "" })
|
|
2554
2579
|
});
|
|
2555
|
-
fieldRegistry.register(
|
|
2580
|
+
fieldRegistry.register(chunkAPE4R2GB_cjs.FORM_FIELD_KIND_SINGLE_BOOLEAN, {
|
|
2556
2581
|
editor: ({ field, value, onChange }) => /* @__PURE__ */ jsxRuntime.jsx(ToggleSwitch, { checked: value === true, label: field.label, onChange }),
|
|
2557
2582
|
preview: ({ value, t }) => /* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-manager-forms__field-preview", children: value === true ? t("chrome.managerTrip.forms.field.yes") : t("chrome.managerTrip.forms.field.no") })
|
|
2558
2583
|
});
|
|
@@ -2580,7 +2605,7 @@ function FormFillRenderer({
|
|
|
2580
2605
|
onRefreshAfterConflict,
|
|
2581
2606
|
onBack
|
|
2582
2607
|
}) {
|
|
2583
|
-
const { t } =
|
|
2608
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
2584
2609
|
const [answers, setAnswers] = react.useState(() => {
|
|
2585
2610
|
const initial = {};
|
|
2586
2611
|
for (const answer of existingResponse?.answers ?? []) {
|
|
@@ -2624,7 +2649,7 @@ function FormFillRenderer({
|
|
|
2624
2649
|
(fieldsBySection.get(section.id) ?? []).map((field) => {
|
|
2625
2650
|
const handler = fieldRegistry.resolve(field.kind);
|
|
2626
2651
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-forms__fill-field", children: [
|
|
2627
|
-
field.kind !== "HEADING" && field.kind !== "INFO_BLOCK" && field.kind !==
|
|
2652
|
+
field.kind !== "HEADING" && field.kind !== "INFO_BLOCK" && field.kind !== chunkAPE4R2GB_cjs.FORM_FIELD_KIND_SINGLE_BOOLEAN && field.kind !== "CONSENT" ? /* @__PURE__ */ jsxRuntime.jsxs("label", { className: "kf-manager-forms__fill-field-label", htmlFor: field.id, children: [
|
|
2628
2653
|
field.label,
|
|
2629
2654
|
field.required ? " *" : ""
|
|
2630
2655
|
] }) : null,
|
|
@@ -2666,7 +2691,7 @@ function FillHeader({
|
|
|
2666
2691
|
title,
|
|
2667
2692
|
onBack
|
|
2668
2693
|
}) {
|
|
2669
|
-
const { t } =
|
|
2694
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
2670
2695
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-forms__fill-header", children: [
|
|
2671
2696
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2672
2697
|
"button",
|
|
@@ -2720,7 +2745,7 @@ function FormResponsesList({
|
|
|
2720
2745
|
onSelectResponse,
|
|
2721
2746
|
onBack
|
|
2722
2747
|
}) {
|
|
2723
|
-
const { t } =
|
|
2748
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
2724
2749
|
const sorted = responses.slice().sort(
|
|
2725
2750
|
(a, b) => (b.submittedAt ?? b.lastSavedAt ?? "").localeCompare(a.submittedAt ?? a.lastSavedAt ?? "")
|
|
2726
2751
|
);
|
|
@@ -2826,7 +2851,7 @@ var STATUS_LABEL_KEY = {
|
|
|
2826
2851
|
ARCHIVED: "chrome.managerTrip.forms.statusArchived"
|
|
2827
2852
|
};
|
|
2828
2853
|
function FormRow({ row, now, travellerScoped, onSelect }) {
|
|
2829
|
-
const { t } =
|
|
2854
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
2830
2855
|
const { form, response } = row;
|
|
2831
2856
|
const state = fillStateOf(form);
|
|
2832
2857
|
const due = dueCopyFor(form, now);
|
|
@@ -2864,7 +2889,7 @@ function TripFormsPanel({
|
|
|
2864
2889
|
travellerScoped,
|
|
2865
2890
|
onSelectForm
|
|
2866
2891
|
}) {
|
|
2867
|
-
const { t } =
|
|
2892
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
2868
2893
|
if (rows.length === 0) {
|
|
2869
2894
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-forms__empty", children: [
|
|
2870
2895
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-manager-forms__empty-title", children: t("chrome.managerTrip.forms.emptyTitle") }),
|
|
@@ -2916,7 +2941,14 @@ function TripFormsPanel({
|
|
|
2916
2941
|
] })
|
|
2917
2942
|
] });
|
|
2918
2943
|
}
|
|
2919
|
-
function ManagerFormsSection({
|
|
2944
|
+
function ManagerFormsSection(props) {
|
|
2945
|
+
const session = chunkP5HF55MO_cjs.useSession();
|
|
2946
|
+
if (session.status !== "authenticated") {
|
|
2947
|
+
return null;
|
|
2948
|
+
}
|
|
2949
|
+
return /* @__PURE__ */ jsxRuntime.jsx(ReadyManagerFormsSection, { ...props });
|
|
2950
|
+
}
|
|
2951
|
+
function ReadyManagerFormsSection({
|
|
2920
2952
|
tripRef,
|
|
2921
2953
|
initialFormRef,
|
|
2922
2954
|
travellerRef,
|
|
@@ -2924,10 +2956,10 @@ function ManagerFormsSection({
|
|
|
2924
2956
|
components,
|
|
2925
2957
|
style
|
|
2926
2958
|
}) {
|
|
2927
|
-
const { t } =
|
|
2928
|
-
const forms =
|
|
2929
|
-
const conflicts =
|
|
2930
|
-
const parties =
|
|
2959
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
2960
|
+
const forms = chunkAPE4R2GB_cjs.useForms(tripRef);
|
|
2961
|
+
const conflicts = chunkBKDKXM3L_cjs.useConflicts(tripRef);
|
|
2962
|
+
const parties = chunkAPE4R2GB_cjs.useParties(tripRef);
|
|
2931
2963
|
const TripFormsPanelUI = components?.TripFormsPanel ?? TripFormsPanel;
|
|
2932
2964
|
const FormFillRendererUI = components?.FormFillRenderer ?? FormFillRenderer;
|
|
2933
2965
|
const [travellerRows, setTravellerRows] = react.useState([]);
|
|
@@ -3047,7 +3079,7 @@ function ManagerFormsSection({
|
|
|
3047
3079
|
};
|
|
3048
3080
|
}, [ready, browsingFormId, viewingResponse]);
|
|
3049
3081
|
if (forms.status === "loading") {
|
|
3050
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-forms__skeleton", style:
|
|
3082
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-forms__skeleton", style: chunkP5HF55MO_cjs.tokenStyle(style), children: [
|
|
3051
3083
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-forms__skeleton-line" }),
|
|
3052
3084
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-forms__skeleton-line" }),
|
|
3053
3085
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-forms__skeleton-line kf-manager-forms__skeleton-line--short" })
|
|
@@ -3101,7 +3133,7 @@ function ManagerFormsSection({
|
|
|
3101
3133
|
setPending(false);
|
|
3102
3134
|
}
|
|
3103
3135
|
}
|
|
3104
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-forms", style:
|
|
3136
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-forms", style: chunkP5HF55MO_cjs.tokenStyle(style), children: [
|
|
3105
3137
|
browsingForm !== void 0 ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
3106
3138
|
FormResponsesList,
|
|
3107
3139
|
{
|
|
@@ -3400,7 +3432,7 @@ function AddItemSheet2({
|
|
|
3400
3432
|
onDelete,
|
|
3401
3433
|
onClose
|
|
3402
3434
|
}) {
|
|
3403
|
-
const { t } =
|
|
3435
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
3404
3436
|
const [type, setType] = react.useState("OTHER");
|
|
3405
3437
|
const [title, setTitle] = react.useState("");
|
|
3406
3438
|
const [description, setDescription] = react.useState("");
|
|
@@ -3697,7 +3729,7 @@ function ChangeLogSheet({
|
|
|
3697
3729
|
onLoad,
|
|
3698
3730
|
onClose
|
|
3699
3731
|
}) {
|
|
3700
|
-
const { t } =
|
|
3732
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
3701
3733
|
react.useEffect(() => {
|
|
3702
3734
|
if (open) {
|
|
3703
3735
|
onLoad();
|
|
@@ -3760,7 +3792,7 @@ function DayStrip({ days, selectedDayIndex, onSelect }) {
|
|
|
3760
3792
|
)) });
|
|
3761
3793
|
}
|
|
3762
3794
|
function EditDaySheet({ open, day, onPatch, onClose }) {
|
|
3763
|
-
const { t } =
|
|
3795
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
3764
3796
|
const [cardTitle, setCardTitle] = react.useState("");
|
|
3765
3797
|
const [summaryLine, setSummaryLine] = react.useState("");
|
|
3766
3798
|
const [pending, setPending] = react.useState(false);
|
|
@@ -3858,7 +3890,7 @@ function ItemCard({
|
|
|
3858
3890
|
onMoveDown,
|
|
3859
3891
|
onEdit
|
|
3860
3892
|
}) {
|
|
3861
|
-
const { t } =
|
|
3893
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
3862
3894
|
const timeRange = formatTimeRange(item.startTime, item.endTime);
|
|
3863
3895
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-itinerary__item-card", children: [
|
|
3864
3896
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-itinerary__item-reorder", children: [
|
|
@@ -3907,15 +3939,22 @@ function ItemCard({
|
|
|
3907
3939
|
)
|
|
3908
3940
|
] });
|
|
3909
3941
|
}
|
|
3910
|
-
function ManagerItinerarySection({
|
|
3942
|
+
function ManagerItinerarySection(props) {
|
|
3943
|
+
const session = chunkP5HF55MO_cjs.useSession();
|
|
3944
|
+
if (session.status !== "authenticated") {
|
|
3945
|
+
return null;
|
|
3946
|
+
}
|
|
3947
|
+
return /* @__PURE__ */ jsxRuntime.jsx(ReadyManagerItinerarySection, { ...props });
|
|
3948
|
+
}
|
|
3949
|
+
function ReadyManagerItinerarySection({
|
|
3911
3950
|
tripRef,
|
|
3912
3951
|
emptyView,
|
|
3913
3952
|
components,
|
|
3914
3953
|
style
|
|
3915
3954
|
}) {
|
|
3916
|
-
const { t } =
|
|
3917
|
-
const itinerary =
|
|
3918
|
-
const vendors =
|
|
3955
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
3956
|
+
const itinerary = chunkAPE4R2GB_cjs.useItinerary(tripRef);
|
|
3957
|
+
const vendors = chunkAPE4R2GB_cjs.useVendors(tripRef, "");
|
|
3919
3958
|
const DayStripComponent = components?.DayStrip ?? DayStrip;
|
|
3920
3959
|
const ItemCardComponent = components?.ItemCard ?? ItemCard;
|
|
3921
3960
|
const [selectedDayIndex, setSelectedDayIndex] = react.useState(void 0);
|
|
@@ -3923,7 +3962,7 @@ function ManagerItinerarySection({
|
|
|
3923
3962
|
const [editDayOpen, setEditDayOpen] = react.useState(false);
|
|
3924
3963
|
const [changeLogOpen, setChangeLogOpen] = react.useState(false);
|
|
3925
3964
|
if (itinerary.status === "loading") {
|
|
3926
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-itinerary__skeleton", style:
|
|
3965
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-itinerary__skeleton", style: chunkP5HF55MO_cjs.tokenStyle(style), children: [
|
|
3927
3966
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-itinerary__skeleton-block" }),
|
|
3928
3967
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-itinerary__skeleton-line" }),
|
|
3929
3968
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-itinerary__skeleton-line kf-manager-itinerary__skeleton-line--short" })
|
|
@@ -3935,7 +3974,7 @@ function ManagerItinerarySection({
|
|
|
3935
3974
|
const days = sortedDays(itinerary.days);
|
|
3936
3975
|
const resolvedEmptyView = emptyView !== void 0 ? typeof emptyView === "function" ? emptyView() : emptyView : null;
|
|
3937
3976
|
if (days.length === 0) {
|
|
3938
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-itinerary", style:
|
|
3977
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-itinerary", style: chunkP5HF55MO_cjs.tokenStyle(style), children: resolvedEmptyView ?? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-itinerary__card kf-manager-itinerary__empty", children: t("chrome.managerTrip.itinerary.noDays") }) });
|
|
3939
3978
|
}
|
|
3940
3979
|
const resolvedDayIndex = selectedDayIndex ?? resolveInitialDayIndex(days, itinerary.initialDayIso);
|
|
3941
3980
|
const activeDay = days.find((day) => day.dayIndex === resolvedDayIndex) ?? days[0];
|
|
@@ -3951,7 +3990,7 @@ function ManagerItinerarySection({
|
|
|
3951
3990
|
}
|
|
3952
3991
|
await itinerary.reorderItem({ itemId: item.id, index: index + direction });
|
|
3953
3992
|
};
|
|
3954
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-itinerary", style:
|
|
3993
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-itinerary", style: chunkP5HF55MO_cjs.tokenStyle(style), children: [
|
|
3955
3994
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3956
3995
|
DayStripComponent,
|
|
3957
3996
|
{
|
|
@@ -4191,7 +4230,7 @@ function TripBookingGroupCard({
|
|
|
4191
4230
|
onCollect,
|
|
4192
4231
|
onOpenTraveller
|
|
4193
4232
|
}) {
|
|
4194
|
-
const { t } =
|
|
4233
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
4195
4234
|
const title = group.label ?? t(KIND_LABEL_KEY[group.kind]);
|
|
4196
4235
|
const visibleMembers = group.members.slice(0, VISIBLE_MEMBER_COUNT);
|
|
4197
4236
|
const overflowCount = group.members.length - visibleMembers.length;
|
|
@@ -4341,7 +4380,7 @@ function TripManifestFilterSheet({
|
|
|
4341
4380
|
onApply,
|
|
4342
4381
|
onClose
|
|
4343
4382
|
}) {
|
|
4344
|
-
const { t } =
|
|
4383
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
4345
4384
|
react.useEffect(() => {
|
|
4346
4385
|
if (!open) {
|
|
4347
4386
|
return;
|
|
@@ -4449,7 +4488,7 @@ function TripManifestSearchRow({
|
|
|
4449
4488
|
filters,
|
|
4450
4489
|
onOpenFilters
|
|
4451
4490
|
}) {
|
|
4452
|
-
const { t } =
|
|
4491
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
4453
4492
|
const activeCount = activeManifestFilterCount(filters);
|
|
4454
4493
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-manifest__search-row", children: [
|
|
4455
4494
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-manifest__search-field", children: [
|
|
@@ -4482,7 +4521,7 @@ function TripManifestSearchRow({
|
|
|
4482
4521
|
] });
|
|
4483
4522
|
}
|
|
4484
4523
|
function TripManifestStats({ stats }) {
|
|
4485
|
-
const { t } =
|
|
4524
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
4486
4525
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-manifest__stats", children: [
|
|
4487
4526
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-manifest__stat-cell", children: [
|
|
4488
4527
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-manager-manifest__stat-label", children: t("chrome.managerTrip.manifest.stats.confirmed") }),
|
|
@@ -4530,7 +4569,7 @@ function initials2(fullName) {
|
|
|
4530
4569
|
return `${parts[0]?.[0] ?? ""}${parts[parts.length - 1]?.[0] ?? ""}`.toUpperCase();
|
|
4531
4570
|
}
|
|
4532
4571
|
function TripTravellerRow({ traveller, onOpen }) {
|
|
4533
|
-
const { t } =
|
|
4572
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
4534
4573
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
4535
4574
|
"button",
|
|
4536
4575
|
{
|
|
@@ -4556,7 +4595,14 @@ function TripTravellerRow({ traveller, onOpen }) {
|
|
|
4556
4595
|
}
|
|
4557
4596
|
);
|
|
4558
4597
|
}
|
|
4559
|
-
function ManagerManifestSection({
|
|
4598
|
+
function ManagerManifestSection(props) {
|
|
4599
|
+
const session = chunkP5HF55MO_cjs.useSession();
|
|
4600
|
+
if (session.status !== "authenticated") {
|
|
4601
|
+
return null;
|
|
4602
|
+
}
|
|
4603
|
+
return /* @__PURE__ */ jsxRuntime.jsx(ReadyManagerManifestSection, { ...props });
|
|
4604
|
+
}
|
|
4605
|
+
function ReadyManagerManifestSection({
|
|
4560
4606
|
tripRef,
|
|
4561
4607
|
onCollectFromGroup,
|
|
4562
4608
|
onOpenTraveller,
|
|
@@ -4564,11 +4610,11 @@ function ManagerManifestSection({
|
|
|
4564
4610
|
components,
|
|
4565
4611
|
style
|
|
4566
4612
|
}) {
|
|
4567
|
-
const { t } =
|
|
4613
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
4568
4614
|
const Stats = components?.Stats ?? TripManifestStats;
|
|
4569
4615
|
const BookingGroupCard = components?.BookingGroupCard ?? TripBookingGroupCard;
|
|
4570
4616
|
const TravellerRow = components?.TravellerRow ?? TripTravellerRow;
|
|
4571
|
-
const parties =
|
|
4617
|
+
const parties = chunkAPE4R2GB_cjs.useParties(tripRef);
|
|
4572
4618
|
const [query, setQuery] = react.useState("");
|
|
4573
4619
|
const [filters, setFilters] = react.useState(EMPTY_MANIFEST_FILTERS);
|
|
4574
4620
|
const [filterSheetOpen, setFilterSheetOpen] = react.useState(false);
|
|
@@ -4600,7 +4646,7 @@ function ManagerManifestSection({
|
|
|
4600
4646
|
[travellers]
|
|
4601
4647
|
);
|
|
4602
4648
|
if (parties.status === "loading") {
|
|
4603
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-manifest__skeleton", style:
|
|
4649
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-manifest__skeleton", style: chunkP5HF55MO_cjs.tokenStyle(style), children: [
|
|
4604
4650
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-manifest__skeleton-block" }),
|
|
4605
4651
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-manifest__skeleton-line" }),
|
|
4606
4652
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-manifest__skeleton-line kf-manager-manifest__skeleton-line--short" })
|
|
@@ -4608,7 +4654,7 @@ function ManagerManifestSection({
|
|
|
4608
4654
|
}
|
|
4609
4655
|
if (parties.status === "error") {
|
|
4610
4656
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4611
|
-
|
|
4657
|
+
chunkAJEZMD64_cjs.OfflineFallbackScreen,
|
|
4612
4658
|
{
|
|
4613
4659
|
tripRef,
|
|
4614
4660
|
onRetry: () => void parties.retry(),
|
|
@@ -4618,7 +4664,7 @@ function ManagerManifestSection({
|
|
|
4618
4664
|
}
|
|
4619
4665
|
if (!parties.tripRoster.loaded && parties.tripRoster.lastFetchFailed) {
|
|
4620
4666
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4621
|
-
|
|
4667
|
+
chunkAJEZMD64_cjs.OfflineFallbackScreen,
|
|
4622
4668
|
{
|
|
4623
4669
|
tripRef,
|
|
4624
4670
|
onRetry: () => void parties.tripRoster.refresh(),
|
|
@@ -4628,7 +4674,7 @@ function ManagerManifestSection({
|
|
|
4628
4674
|
}
|
|
4629
4675
|
const noMatches = filteredTravellers.length === 0;
|
|
4630
4676
|
const resolvedEmptyView = emptyView !== void 0 ? typeof emptyView === "function" ? emptyView() : emptyView : null;
|
|
4631
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-manifest", style:
|
|
4677
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-manifest", style: chunkP5HF55MO_cjs.tokenStyle(style), children: [
|
|
4632
4678
|
/* @__PURE__ */ jsxRuntime.jsx(Stats, { stats }),
|
|
4633
4679
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4634
4680
|
TripManifestSearchRow,
|
|
@@ -4762,7 +4808,7 @@ function initials3(fullName) {
|
|
|
4762
4808
|
return `${parts[0]?.[0] ?? ""}${parts[parts.length - 1]?.[0] ?? ""}`.toUpperCase();
|
|
4763
4809
|
}
|
|
4764
4810
|
function ProfileHeader({ fullName }) {
|
|
4765
|
-
const { t } =
|
|
4811
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
4766
4812
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-me__profile-card", children: [
|
|
4767
4813
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-manager-me__avatar", "aria-hidden": "true", children: initials3(fullName) }),
|
|
4768
4814
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-me__profile-body", children: [
|
|
@@ -4785,7 +4831,7 @@ var STATUS_LABEL_KEY4 = {
|
|
|
4785
4831
|
CANCELLED: "chrome.managerMe.trips.status.cancelled"
|
|
4786
4832
|
};
|
|
4787
4833
|
function RecentTrips({ trips, onOpenTrip }) {
|
|
4788
|
-
const { t } =
|
|
4834
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
4789
4835
|
if (trips.length === 0) {
|
|
4790
4836
|
return /* @__PURE__ */ jsxRuntime.jsxs("section", { "aria-label": t("chrome.managerMe.trips.eyebrow"), children: [
|
|
4791
4837
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-eyebrow kf-manager-me__eyebrow", children: t("chrome.managerMe.trips.eyebrow") }),
|
|
@@ -4825,7 +4871,7 @@ function RecentTrips({ trips, onOpenTrip }) {
|
|
|
4825
4871
|
] });
|
|
4826
4872
|
}
|
|
4827
4873
|
function StatsStrip({ trips }) {
|
|
4828
|
-
const { t } =
|
|
4874
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
4829
4875
|
const leading = trips.filter((trip) => trip.isLead).length;
|
|
4830
4876
|
const coManaging = trips.length - leading;
|
|
4831
4877
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-me__stat-grid", children: [
|
|
@@ -4844,7 +4890,7 @@ function StatsStrip({ trips }) {
|
|
|
4844
4890
|
] });
|
|
4845
4891
|
}
|
|
4846
4892
|
function SyncStatus({ status }) {
|
|
4847
|
-
const { t } =
|
|
4893
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
4848
4894
|
const Icon = status.isOnline ? WifiOnIcon : WifiOffIcon;
|
|
4849
4895
|
return /* @__PURE__ */ jsxRuntime.jsxs("section", { "aria-label": t("chrome.managerMe.sync.eyebrow"), children: [
|
|
4850
4896
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-eyebrow kf-manager-me__eyebrow", children: t("chrome.managerMe.sync.eyebrow") }),
|
|
@@ -4861,16 +4907,19 @@ function SyncStatus({ status }) {
|
|
|
4861
4907
|
] })
|
|
4862
4908
|
] });
|
|
4863
4909
|
}
|
|
4864
|
-
function ManagerMeSection({
|
|
4865
|
-
|
|
4866
|
-
|
|
4867
|
-
|
|
4868
|
-
}
|
|
4869
|
-
|
|
4870
|
-
|
|
4871
|
-
|
|
4910
|
+
function ManagerMeSection(props) {
|
|
4911
|
+
const session = chunkP5HF55MO_cjs.useSession();
|
|
4912
|
+
if (session.status !== "authenticated") {
|
|
4913
|
+
return null;
|
|
4914
|
+
}
|
|
4915
|
+
return /* @__PURE__ */ jsxRuntime.jsx(ReadyManagerMeSection, { ...props });
|
|
4916
|
+
}
|
|
4917
|
+
function ReadyManagerMeSection({ onOpenTrip, onSignOut, style }) {
|
|
4918
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
4919
|
+
const managerMe = chunkBKDKXM3L_cjs.useManagerMe();
|
|
4920
|
+
const outboxStatus = chunkP5HF55MO_cjs.useOutboxStatus();
|
|
4872
4921
|
if (managerMe.status === "loading") {
|
|
4873
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-me__skeleton", style:
|
|
4922
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-me__skeleton", style: chunkP5HF55MO_cjs.tokenStyle(style), children: [
|
|
4874
4923
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-me__skeleton-block" }),
|
|
4875
4924
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-me__skeleton-line" }),
|
|
4876
4925
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-me__skeleton-line kf-manager-me__skeleton-line--short" })
|
|
@@ -4879,7 +4928,7 @@ function ManagerMeSection({
|
|
|
4879
4928
|
if (managerMe.status === "error") {
|
|
4880
4929
|
return null;
|
|
4881
4930
|
}
|
|
4882
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-me", style:
|
|
4931
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-me", style: chunkP5HF55MO_cjs.tokenStyle(style), children: [
|
|
4883
4932
|
/* @__PURE__ */ jsxRuntime.jsx(ProfileHeader, { fullName: managerMe.manager.fullName }),
|
|
4884
4933
|
/* @__PURE__ */ jsxRuntime.jsx(StatsStrip, { trips: managerMe.trips }),
|
|
4885
4934
|
/* @__PURE__ */ jsxRuntime.jsx(RecentTrips, { trips: managerMe.trips, onOpenTrip }),
|
|
@@ -4923,7 +4972,7 @@ function ManagerFab({
|
|
|
4923
4972
|
"aria-label": label,
|
|
4924
4973
|
"data-tone": tone,
|
|
4925
4974
|
className: "kf-manager-fab kf-press--fab",
|
|
4926
|
-
style:
|
|
4975
|
+
style: chunkP5HF55MO_cjs.tokenStyle(style),
|
|
4927
4976
|
children: icon ?? /* @__PURE__ */ jsxRuntime.jsx(PlusIcon3, {})
|
|
4928
4977
|
}
|
|
4929
4978
|
);
|
|
@@ -4993,7 +5042,7 @@ function FloatMovementSheet({
|
|
|
4993
5042
|
onAdjust,
|
|
4994
5043
|
onClose
|
|
4995
5044
|
}) {
|
|
4996
|
-
const { t } =
|
|
5045
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
4997
5046
|
const [kind, setKind] = react.useState("RETURN");
|
|
4998
5047
|
const [amount, setAmount] = react.useState("");
|
|
4999
5048
|
const [direction, setDirection] = react.useState("OUT");
|
|
@@ -5147,8 +5196,8 @@ function LogExpenseSheet({
|
|
|
5147
5196
|
onSubmit,
|
|
5148
5197
|
onClose
|
|
5149
5198
|
}) {
|
|
5150
|
-
const { t } =
|
|
5151
|
-
const files =
|
|
5199
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
5200
|
+
const files = chunkAPE4R2GB_cjs.useFiles({ tripRef });
|
|
5152
5201
|
const receiptInputId = react.useId();
|
|
5153
5202
|
const [amount, setAmount] = react.useState("");
|
|
5154
5203
|
const [category, setCategory] = react.useState("MISC");
|
|
@@ -5373,7 +5422,7 @@ function RecordCollectionSheet({
|
|
|
5373
5422
|
onSubmit,
|
|
5374
5423
|
onClose
|
|
5375
5424
|
}) {
|
|
5376
|
-
const { t } =
|
|
5425
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
5377
5426
|
const outstandingByTravellerId = new Map(
|
|
5378
5427
|
balancesDue.map((row) => [row.travellerId, row])
|
|
5379
5428
|
);
|
|
@@ -5595,7 +5644,7 @@ function AddMoneyMenuSheet({
|
|
|
5595
5644
|
onMoveFloat,
|
|
5596
5645
|
onClose
|
|
5597
5646
|
}) {
|
|
5598
|
-
const { t } =
|
|
5647
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
5599
5648
|
if (!open) {
|
|
5600
5649
|
return null;
|
|
5601
5650
|
}
|
|
@@ -5700,7 +5749,7 @@ function BalancesDueSection({
|
|
|
5700
5749
|
onSelect,
|
|
5701
5750
|
onSeeAll
|
|
5702
5751
|
}) {
|
|
5703
|
-
const { t } =
|
|
5752
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
5704
5753
|
return /* @__PURE__ */ jsxRuntime.jsxs("section", { "aria-label": t("chrome.managerTrip.money.balancesDue.ariaLabel"), children: [
|
|
5705
5754
|
/* @__PURE__ */ jsxRuntime.jsxs("p", { className: "kf-manager-money__eyebrow-row", children: [
|
|
5706
5755
|
t("chrome.managerTrip.money.balancesDue.eyebrow"),
|
|
@@ -5731,7 +5780,7 @@ function ExpenseDetailSheet({
|
|
|
5731
5780
|
onWithdrawClaim,
|
|
5732
5781
|
onClose
|
|
5733
5782
|
}) {
|
|
5734
|
-
const { t } =
|
|
5783
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
5735
5784
|
const [pending, setPending] = react.useState(false);
|
|
5736
5785
|
const [confirmingVoid, setConfirmingVoid] = react.useState(false);
|
|
5737
5786
|
const [voidReason, setVoidReason] = react.useState("");
|
|
@@ -5877,7 +5926,7 @@ function ExpenseDetailSheet({
|
|
|
5877
5926
|
) });
|
|
5878
5927
|
}
|
|
5879
5928
|
function MoneyStats({ float, spend, collect, reimbursable }) {
|
|
5880
|
-
const { t } =
|
|
5929
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
5881
5930
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-money__stats", children: [
|
|
5882
5931
|
float !== void 0 ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-money__stat-cell", children: [
|
|
5883
5932
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-manager-money__stat-label", children: t("chrome.managerTrip.money.stat.float") }),
|
|
@@ -5914,7 +5963,7 @@ function RecentExpensesSection({
|
|
|
5914
5963
|
expenses,
|
|
5915
5964
|
onSelect
|
|
5916
5965
|
}) {
|
|
5917
|
-
const { t } =
|
|
5966
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
5918
5967
|
return /* @__PURE__ */ jsxRuntime.jsxs("section", { "aria-label": t("chrome.managerTrip.money.recentExpenses.ariaLabel"), children: [
|
|
5919
5968
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-eyebrow", children: t("chrome.managerTrip.money.recentExpenses.eyebrow") }),
|
|
5920
5969
|
expenses.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-money__card kf-manager-money__empty", children: t("chrome.managerTrip.money.recentExpenses.empty") }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-money__list", children: expenses.slice(0, 5).map((expense) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -5939,17 +5988,24 @@ function RecentExpensesSection({
|
|
|
5939
5988
|
)) })
|
|
5940
5989
|
] });
|
|
5941
5990
|
}
|
|
5942
|
-
function ManagerMoneySection({
|
|
5991
|
+
function ManagerMoneySection(props) {
|
|
5992
|
+
const session = chunkP5HF55MO_cjs.useSession();
|
|
5993
|
+
if (session.status !== "authenticated") {
|
|
5994
|
+
return null;
|
|
5995
|
+
}
|
|
5996
|
+
return /* @__PURE__ */ jsxRuntime.jsx(ReadyManagerMoneySection, { ...props });
|
|
5997
|
+
}
|
|
5998
|
+
function ReadyManagerMoneySection({
|
|
5943
5999
|
tripRef,
|
|
5944
6000
|
onViewFloatLedger,
|
|
5945
6001
|
components,
|
|
5946
6002
|
style
|
|
5947
6003
|
}) {
|
|
5948
|
-
const { t } =
|
|
5949
|
-
const float =
|
|
5950
|
-
const expenses =
|
|
5951
|
-
const collections =
|
|
5952
|
-
const parties =
|
|
6004
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
6005
|
+
const float = chunkAPE4R2GB_cjs.useFloat(tripRef);
|
|
6006
|
+
const expenses = chunkAPE4R2GB_cjs.useExpenses(tripRef);
|
|
6007
|
+
const collections = chunkAPE4R2GB_cjs.useCollections(tripRef);
|
|
6008
|
+
const parties = chunkAPE4R2GB_cjs.useParties(tripRef);
|
|
5953
6009
|
const StatsComponent = components?.Stats ?? MoneyStats;
|
|
5954
6010
|
const RecentExpensesComponent = components?.RecentExpenses ?? RecentExpensesSection;
|
|
5955
6011
|
const BalancesDueComponent = components?.BalancesDue ?? BalancesDueSection;
|
|
@@ -5960,7 +6016,7 @@ function ManagerMoneySection({
|
|
|
5960
6016
|
const [expenseDetail, setExpenseDetail] = react.useState(void 0);
|
|
5961
6017
|
const [showingAllBalances, setShowingAllBalances] = react.useState(false);
|
|
5962
6018
|
if (float.status === "loading" && expenses.status === "loading" && collections.status === "loading") {
|
|
5963
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-money__skeleton", style:
|
|
6019
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-money__skeleton", style: chunkP5HF55MO_cjs.tokenStyle(style), children: [
|
|
5964
6020
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-money__skeleton-block" }),
|
|
5965
6021
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-money__skeleton-line" }),
|
|
5966
6022
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-money__skeleton-line kf-manager-money__skeleton-line--short" })
|
|
@@ -5978,7 +6034,7 @@ function ManagerMoneySection({
|
|
|
5978
6034
|
const canLogExpense = expensesReady !== void 0;
|
|
5979
6035
|
const canRecordCollection = collectionsReady !== void 0 && rosterRows.length > 0;
|
|
5980
6036
|
const canMoveFloat = floatReady !== void 0 && floatRow !== void 0;
|
|
5981
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-money", style:
|
|
6037
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-money", style: chunkP5HF55MO_cjs.tokenStyle(style), children: [
|
|
5982
6038
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5983
6039
|
StatsComponent,
|
|
5984
6040
|
{
|
|
@@ -6172,14 +6228,21 @@ function NotificationRow({ notification, onSelect }) {
|
|
|
6172
6228
|
}
|
|
6173
6229
|
);
|
|
6174
6230
|
}
|
|
6175
|
-
function ManagerNotificationsSection({
|
|
6231
|
+
function ManagerNotificationsSection(props) {
|
|
6232
|
+
const session = chunkP5HF55MO_cjs.useSession();
|
|
6233
|
+
if (session.status !== "authenticated") {
|
|
6234
|
+
return null;
|
|
6235
|
+
}
|
|
6236
|
+
return /* @__PURE__ */ jsxRuntime.jsx(ReadyManagerNotificationsSection, { ...props });
|
|
6237
|
+
}
|
|
6238
|
+
function ReadyManagerNotificationsSection({
|
|
6176
6239
|
onSelectNotification,
|
|
6177
6240
|
style
|
|
6178
6241
|
}) {
|
|
6179
|
-
const { t } =
|
|
6180
|
-
const notifications =
|
|
6242
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
6243
|
+
const notifications = chunkBKDKXM3L_cjs.useNotifications();
|
|
6181
6244
|
if (notifications.status === "loading") {
|
|
6182
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-notifications__skeleton", style:
|
|
6245
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-notifications__skeleton", style: chunkP5HF55MO_cjs.tokenStyle(style), children: [
|
|
6183
6246
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-notifications__skeleton-line" }),
|
|
6184
6247
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-notifications__skeleton-line" }),
|
|
6185
6248
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-notifications__skeleton-line kf-manager-notifications__skeleton-line--short" })
|
|
@@ -6195,7 +6258,7 @@ function ManagerNotificationsSection({
|
|
|
6195
6258
|
}
|
|
6196
6259
|
onSelectNotification({ notificationId: notification.id, tripId: notification.tripId });
|
|
6197
6260
|
}
|
|
6198
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-notifications", style:
|
|
6261
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-notifications", style: chunkP5HF55MO_cjs.tokenStyle(style), children: rows.length === 0 ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-notifications__empty", children: [
|
|
6199
6262
|
/* @__PURE__ */ jsxRuntime.jsx(InboxIcon, { className: "kf-manager-notifications__empty-icon" }),
|
|
6200
6263
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-manager-notifications__empty-title", children: t("chrome.managerNotifications.emptyTitle") }),
|
|
6201
6264
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-manager-notifications__empty-body", children: t("chrome.managerNotifications.emptyBody") })
|
|
@@ -6328,7 +6391,7 @@ var TONE_ICON = {
|
|
|
6328
6391
|
info: () => /* @__PURE__ */ jsxRuntime.jsx(CalendarIcon, {})
|
|
6329
6392
|
};
|
|
6330
6393
|
function NowBanners({ banners }) {
|
|
6331
|
-
const { t } =
|
|
6394
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
6332
6395
|
if (banners.length === 0) {
|
|
6333
6396
|
return null;
|
|
6334
6397
|
}
|
|
@@ -6344,7 +6407,7 @@ function NowBanners({ banners }) {
|
|
|
6344
6407
|
] }, banner.id)) });
|
|
6345
6408
|
}
|
|
6346
6409
|
function NowChecklist({ items }) {
|
|
6347
|
-
const { t } =
|
|
6410
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
6348
6411
|
if (items.length === 0) {
|
|
6349
6412
|
return null;
|
|
6350
6413
|
}
|
|
@@ -6369,7 +6432,7 @@ function initials4(fullName) {
|
|
|
6369
6432
|
return `${first[0] ?? ""}${last[0] ?? ""}`.toUpperCase();
|
|
6370
6433
|
}
|
|
6371
6434
|
function NowCoManager({ coManager }) {
|
|
6372
|
-
const { t } =
|
|
6435
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
6373
6436
|
return /* @__PURE__ */ jsxRuntime.jsxs("section", { "aria-label": t("chrome.managerNow.coManager.ariaLabel"), children: [
|
|
6374
6437
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-eyebrow kf-manager-now__eyebrow-row", children: t("chrome.managerNow.coManager.eyebrow") }),
|
|
6375
6438
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-now__co-manager-card", children: [
|
|
@@ -6412,7 +6475,7 @@ function NowHero({
|
|
|
6412
6475
|
progressPct,
|
|
6413
6476
|
onNavigateModule
|
|
6414
6477
|
}) {
|
|
6415
|
-
const { t } =
|
|
6478
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
6416
6479
|
const progress = Math.max(0, Math.min(100, progressPct));
|
|
6417
6480
|
return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "kf-manager-now__hero", "aria-label": t("chrome.managerNow.hero.ariaLabel"), children: [
|
|
6418
6481
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-now__hero-top", children: [
|
|
@@ -6471,7 +6534,7 @@ function formatTimeOfDay(isoDateTime, timezone) {
|
|
|
6471
6534
|
return formatter.format(new Date(isoDateTime));
|
|
6472
6535
|
}
|
|
6473
6536
|
function NowTimeline({ items, timezone }) {
|
|
6474
|
-
const { t } =
|
|
6537
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
6475
6538
|
return /* @__PURE__ */ jsxRuntime.jsxs("section", { "aria-label": t("chrome.managerNow.timeline.ariaLabel"), children: [
|
|
6476
6539
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-eyebrow kf-manager-now__eyebrow-row", children: t("chrome.managerNow.timeline.eyebrow") }),
|
|
6477
6540
|
items.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-now__card kf-manager-now__list", children: items.map((item) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-now__timeline-row", "data-state": item.timeState, children: [
|
|
@@ -6485,7 +6548,7 @@ function NowTimeline({ items, timezone }) {
|
|
|
6485
6548
|
] });
|
|
6486
6549
|
}
|
|
6487
6550
|
function NowTotals({ spend, collections }) {
|
|
6488
|
-
const { t } =
|
|
6551
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
6489
6552
|
return /* @__PURE__ */ jsxRuntime.jsxs("section", { "aria-label": t("chrome.managerNow.totals.ariaLabel"), children: [
|
|
6490
6553
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-eyebrow kf-manager-now__eyebrow-row", children: t("chrome.managerNow.totals.eyebrow") }),
|
|
6491
6554
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-now__totals-grid", children: [
|
|
@@ -6538,7 +6601,7 @@ function NowTripSummary({
|
|
|
6538
6601
|
floatOutstandingMinor,
|
|
6539
6602
|
onViewCloseout
|
|
6540
6603
|
}) {
|
|
6541
|
-
const { t } =
|
|
6604
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
6542
6605
|
return /* @__PURE__ */ jsxRuntime.jsxs("section", { "aria-label": t("chrome.managerNow.closeout.ariaLabel"), children: [
|
|
6543
6606
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-now__eyebrow-row", children: [
|
|
6544
6607
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-eyebrow", children: t("chrome.managerNow.closeout.eyebrow") }),
|
|
@@ -6603,7 +6666,7 @@ function occupancyTone(fillCount, capacity) {
|
|
|
6603
6666
|
return "neutral";
|
|
6604
6667
|
}
|
|
6605
6668
|
function NowVehicleCards({ vehicles }) {
|
|
6606
|
-
const { t } =
|
|
6669
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
6607
6670
|
if (vehicles.length === 0) {
|
|
6608
6671
|
return null;
|
|
6609
6672
|
}
|
|
@@ -6644,7 +6707,7 @@ function QuickActionsSheet({
|
|
|
6644
6707
|
onCollectPayment,
|
|
6645
6708
|
onManageFloat
|
|
6646
6709
|
}) {
|
|
6647
|
-
const { t } =
|
|
6710
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
6648
6711
|
react.useEffect(() => {
|
|
6649
6712
|
if (!open) {
|
|
6650
6713
|
return;
|
|
@@ -6746,7 +6809,7 @@ function sumTodayCollections(collections, serverTime, timezone, currency) {
|
|
|
6746
6809
|
return { totalMinor, currency, count };
|
|
6747
6810
|
}
|
|
6748
6811
|
function ManagerNowSection(props) {
|
|
6749
|
-
const session =
|
|
6812
|
+
const session = chunkP5HF55MO_cjs.useSession();
|
|
6750
6813
|
if (session.status !== "authenticated") {
|
|
6751
6814
|
return null;
|
|
6752
6815
|
}
|
|
@@ -6783,17 +6846,17 @@ function ReadyManagerNowSection({
|
|
|
6783
6846
|
idleView,
|
|
6784
6847
|
style
|
|
6785
6848
|
}) {
|
|
6786
|
-
const { t } =
|
|
6849
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
6787
6850
|
const [sheetOpen, setSheetOpen] = react.useState(false);
|
|
6788
6851
|
const [activeMoneySheet, setActiveMoneySheet] = react.useState(void 0);
|
|
6789
|
-
const managerMe =
|
|
6790
|
-
const today =
|
|
6791
|
-
const expenses =
|
|
6792
|
-
const collections =
|
|
6793
|
-
const float =
|
|
6794
|
-
const parties =
|
|
6795
|
-
const managers =
|
|
6796
|
-
const closeout =
|
|
6852
|
+
const managerMe = chunkBKDKXM3L_cjs.useManagerMe();
|
|
6853
|
+
const today = chunkAPE4R2GB_cjs.useManagerToday(tripRef);
|
|
6854
|
+
const expenses = chunkAPE4R2GB_cjs.useExpenses(tripRef);
|
|
6855
|
+
const collections = chunkAPE4R2GB_cjs.useCollections(tripRef);
|
|
6856
|
+
const float = chunkAPE4R2GB_cjs.useFloat(tripRef);
|
|
6857
|
+
const parties = chunkAPE4R2GB_cjs.useParties(tripRef);
|
|
6858
|
+
const managers = chunkAPE4R2GB_cjs.useManagers(tripRef);
|
|
6859
|
+
const closeout = chunkAPE4R2GB_cjs.useCloseout(tripRef);
|
|
6797
6860
|
if (today.status === "loading" || managerMe.status === "loading") {
|
|
6798
6861
|
return /* @__PURE__ */ jsxRuntime.jsx(ManagerNowSkeleton, { style });
|
|
6799
6862
|
}
|
|
@@ -6813,7 +6876,7 @@ function ReadyManagerNowSection({
|
|
|
6813
6876
|
if (idleView !== void 0) {
|
|
6814
6877
|
return typeof idleView === "function" ? idleView(idleReading) : idleView;
|
|
6815
6878
|
}
|
|
6816
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-now", style:
|
|
6879
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-now", style: chunkP5HF55MO_cjs.tokenStyle(style), children: [
|
|
6817
6880
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6818
6881
|
NowHero,
|
|
6819
6882
|
{
|
|
@@ -6871,7 +6934,7 @@ function ReadyManagerNowSection({
|
|
|
6871
6934
|
const canLogExpense = expensesReady !== void 0;
|
|
6872
6935
|
const canCollectPayment = collectionsReady !== void 0 && rosterRows.length > 0;
|
|
6873
6936
|
const canManageFloat = floatReady !== void 0 && floatRow !== void 0;
|
|
6874
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-now", style:
|
|
6937
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-now", style: chunkP5HF55MO_cjs.tokenStyle(style), children: [
|
|
6875
6938
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6876
6939
|
NowHero,
|
|
6877
6940
|
{
|
|
@@ -6977,14 +7040,14 @@ function ReadyManagerNowSection({
|
|
|
6977
7040
|
function ManagerNowSkeleton({
|
|
6978
7041
|
style
|
|
6979
7042
|
}) {
|
|
6980
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-now__skeleton", style:
|
|
7043
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-now__skeleton", style: chunkP5HF55MO_cjs.tokenStyle(style), children: [
|
|
6981
7044
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-now__skeleton-block" }),
|
|
6982
7045
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-now__skeleton-line" }),
|
|
6983
7046
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-now__skeleton-line kf-manager-now__skeleton-line--short" })
|
|
6984
7047
|
] });
|
|
6985
7048
|
}
|
|
6986
7049
|
function ChecklistPreview({ checklist }) {
|
|
6987
|
-
const { t } =
|
|
7050
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
6988
7051
|
if (checklist === null) {
|
|
6989
7052
|
return null;
|
|
6990
7053
|
}
|
|
@@ -7050,7 +7113,7 @@ function initials5(fullName) {
|
|
|
7050
7113
|
return `${parts[0]?.[0] ?? ""}${parts[parts.length - 1]?.[0] ?? ""}`.toUpperCase();
|
|
7051
7114
|
}
|
|
7052
7115
|
function CoManagerCard({ managers }) {
|
|
7053
|
-
const { t } =
|
|
7116
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
7054
7117
|
const coManager = managers.length > 1 ? managers.find((row) => !row.isLead) ?? managers[1] : void 0;
|
|
7055
7118
|
return /* @__PURE__ */ jsxRuntime.jsxs("section", { "aria-label": t("chrome.managerTrip.overview.coManager.eyebrow"), children: [
|
|
7056
7119
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-eyebrow kf-manager-overview__eyebrow", children: t("chrome.managerTrip.overview.coManager.eyebrow") }),
|
|
@@ -7079,7 +7142,7 @@ function formatOverviewTime(iso) {
|
|
|
7079
7142
|
return TIME_FORMATTER2.format(new Date(iso));
|
|
7080
7143
|
}
|
|
7081
7144
|
function ItineraryPreview({ itinerary }) {
|
|
7082
|
-
const { t } =
|
|
7145
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
7083
7146
|
if (itinerary === null) {
|
|
7084
7147
|
return null;
|
|
7085
7148
|
}
|
|
@@ -7111,7 +7174,7 @@ function ItineraryPreview({ itinerary }) {
|
|
|
7111
7174
|
);
|
|
7112
7175
|
}
|
|
7113
7176
|
function PickupsSummary({ pickups }) {
|
|
7114
|
-
const { t } =
|
|
7177
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
7115
7178
|
if (pickups === null) {
|
|
7116
7179
|
return null;
|
|
7117
7180
|
}
|
|
@@ -7139,7 +7202,7 @@ function PickupsSummary({ pickups }) {
|
|
|
7139
7202
|
);
|
|
7140
7203
|
}
|
|
7141
7204
|
function RoomingSummary({ rooming }) {
|
|
7142
|
-
const { t } =
|
|
7205
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
7143
7206
|
if (rooming === null) {
|
|
7144
7207
|
return null;
|
|
7145
7208
|
}
|
|
@@ -7191,7 +7254,7 @@ function occupancyTone2(fillCount, capacity) {
|
|
|
7191
7254
|
return "neutral";
|
|
7192
7255
|
}
|
|
7193
7256
|
function TransportSummary({ transport }) {
|
|
7194
|
-
const { t } =
|
|
7257
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
7195
7258
|
if (transport === null) {
|
|
7196
7259
|
return null;
|
|
7197
7260
|
}
|
|
@@ -7240,21 +7303,28 @@ var TREK_PHASE_LABEL_KEY = {
|
|
|
7240
7303
|
in_trek: "chrome.managerTrip.overview.trekPhase.in_trek",
|
|
7241
7304
|
closing: "chrome.managerTrip.overview.trekPhase.closing"
|
|
7242
7305
|
};
|
|
7243
|
-
function ManagerOverviewSection(
|
|
7244
|
-
const
|
|
7245
|
-
|
|
7246
|
-
|
|
7306
|
+
function ManagerOverviewSection(props) {
|
|
7307
|
+
const session = chunkP5HF55MO_cjs.useSession();
|
|
7308
|
+
if (session.status !== "authenticated") {
|
|
7309
|
+
return null;
|
|
7310
|
+
}
|
|
7311
|
+
return /* @__PURE__ */ jsxRuntime.jsx(ReadyManagerOverviewSection, { ...props });
|
|
7312
|
+
}
|
|
7313
|
+
function ReadyManagerOverviewSection({ tripRef, style }) {
|
|
7314
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
7315
|
+
const today = chunkAPE4R2GB_cjs.useManagerToday(tripRef);
|
|
7316
|
+
const managers = chunkAPE4R2GB_cjs.useManagers(tripRef);
|
|
7247
7317
|
if (today.status === "loading") {
|
|
7248
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-overview__skeleton", style:
|
|
7318
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-overview__skeleton", style: chunkP5HF55MO_cjs.tokenStyle(style), children: [
|
|
7249
7319
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-overview__skeleton-line" }),
|
|
7250
7320
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-overview__skeleton-line" }),
|
|
7251
7321
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-overview__skeleton-line kf-manager-overview__skeleton-line--short" })
|
|
7252
7322
|
] });
|
|
7253
7323
|
}
|
|
7254
7324
|
if (today.status === "error" || today.kind === "idle") {
|
|
7255
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-overview", style:
|
|
7325
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-overview", style: chunkP5HF55MO_cjs.tokenStyle(style), children: /* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-manager-overview__idle", children: t("chrome.managerTrip.overview.title") }) });
|
|
7256
7326
|
}
|
|
7257
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-overview", style:
|
|
7327
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-overview", style: chunkP5HF55MO_cjs.tokenStyle(style), children: [
|
|
7258
7328
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-overview__header", children: [
|
|
7259
7329
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-manager-overview__phase-badge", children: t(PHASE_LABEL_KEY4[today.phase] ?? "chrome.managerTrip.overview.phase.preDeparture") }),
|
|
7260
7330
|
today.kind === "trek" && today.trekPhase !== null ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-manager-overview__phase-badge", "data-tone": "accent", children: t(
|
|
@@ -7388,7 +7458,7 @@ function CloseStopSheet({
|
|
|
7388
7458
|
onClose,
|
|
7389
7459
|
onCancel
|
|
7390
7460
|
}) {
|
|
7391
|
-
const { t } =
|
|
7461
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
7392
7462
|
const { stop, travellers } = stopRow;
|
|
7393
7463
|
const pendingTravellers = travellers.filter((row) => row.status === "PENDING");
|
|
7394
7464
|
const isShort = stop.boardedCount < stop.expectedCount;
|
|
@@ -7568,7 +7638,7 @@ function StopSegmentedSwitcher({
|
|
|
7568
7638
|
activeStopId,
|
|
7569
7639
|
onSelect
|
|
7570
7640
|
}) {
|
|
7571
|
-
const { t } =
|
|
7641
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
7572
7642
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-pickups__segmented", role: "tablist", children: stops.map(({ stop }) => {
|
|
7573
7643
|
const done = stop.rollup === "closed";
|
|
7574
7644
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -7599,7 +7669,7 @@ function CorrectBoardStatusControl({
|
|
|
7599
7669
|
disabled,
|
|
7600
7670
|
onCorrect
|
|
7601
7671
|
}) {
|
|
7602
|
-
const { t } =
|
|
7672
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
7603
7673
|
const [open, setOpen] = react.useState(false);
|
|
7604
7674
|
if (currentStatus === "PENDING") {
|
|
7605
7675
|
return null;
|
|
@@ -7674,7 +7744,7 @@ function TravellerBoardRow({
|
|
|
7674
7744
|
onBoard,
|
|
7675
7745
|
onCorrect
|
|
7676
7746
|
}) {
|
|
7677
|
-
const { t } =
|
|
7747
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
7678
7748
|
const isPending = traveller.status === "PENDING";
|
|
7679
7749
|
function onKeyDown(event) {
|
|
7680
7750
|
if ((event.key === "Enter" || event.key === " ") && isPending && !stopClosed) {
|
|
@@ -7756,7 +7826,7 @@ function BoardingView({
|
|
|
7756
7826
|
onCloseStop,
|
|
7757
7827
|
onBack
|
|
7758
7828
|
}) {
|
|
7759
|
-
const { t } =
|
|
7829
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
7760
7830
|
const [closeSheetOpen, setCloseSheetOpen] = react.useState(false);
|
|
7761
7831
|
const activeStopRow = manifest.stops.find((row) => row.stop.id === activeStopId) ?? manifest.stops[0];
|
|
7762
7832
|
if (activeStopRow === void 0) {
|
|
@@ -7857,7 +7927,7 @@ function patchManifestTraveller(manifest, stopId, travellerId, status, boardedAt
|
|
|
7857
7927
|
};
|
|
7858
7928
|
}
|
|
7859
7929
|
function StopRow({ stop, onSelect }) {
|
|
7860
|
-
const { t } =
|
|
7930
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
7861
7931
|
const percent = boardedPercent(stop);
|
|
7862
7932
|
return /* @__PURE__ */ jsxRuntime.jsxs("button", { type: "button", className: "kf-manager-pickups__row kf-press", onClick: onSelect, children: [
|
|
7863
7933
|
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "kf-manager-pickups__row-copy", children: [
|
|
@@ -7887,7 +7957,7 @@ function StopList({
|
|
|
7887
7957
|
onKindChange,
|
|
7888
7958
|
onSelectStop
|
|
7889
7959
|
}) {
|
|
7890
|
-
const { t } =
|
|
7960
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
7891
7961
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-pickups", children: [
|
|
7892
7962
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-manager-pickups__title", children: t("chrome.managerTrip.tab.pickups") }),
|
|
7893
7963
|
hasDropStops ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-pickups__chips", children: [
|
|
@@ -7918,13 +7988,20 @@ function StopList({
|
|
|
7918
7988
|
] }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-pickups__list", children: stops.map((stop) => /* @__PURE__ */ jsxRuntime.jsx(StopRow, { stop, onSelect: () => onSelectStop(stop) }, stop.id)) })
|
|
7919
7989
|
] });
|
|
7920
7990
|
}
|
|
7921
|
-
function ManagerPickupsSection({
|
|
7991
|
+
function ManagerPickupsSection(props) {
|
|
7992
|
+
const session = chunkP5HF55MO_cjs.useSession();
|
|
7993
|
+
if (session.status !== "authenticated") {
|
|
7994
|
+
return null;
|
|
7995
|
+
}
|
|
7996
|
+
return /* @__PURE__ */ jsxRuntime.jsx(ReadyManagerPickupsSection, { ...props });
|
|
7997
|
+
}
|
|
7998
|
+
function ReadyManagerPickupsSection({
|
|
7922
7999
|
tripRef,
|
|
7923
8000
|
eventType,
|
|
7924
8001
|
components,
|
|
7925
8002
|
style
|
|
7926
8003
|
}) {
|
|
7927
|
-
const pickups =
|
|
8004
|
+
const pickups = chunkAPE4R2GB_cjs.usePickups(tripRef);
|
|
7928
8005
|
const StopListUI = components?.StopList ?? StopList;
|
|
7929
8006
|
const BoardingViewUI = components?.BoardingView ?? BoardingView;
|
|
7930
8007
|
const [kind, setKind] = react.useState("PICKUP");
|
|
@@ -7949,7 +8026,7 @@ function ManagerPickupsSection({
|
|
|
7949
8026
|
};
|
|
7950
8027
|
}, [ready, selectedStopId, kind]);
|
|
7951
8028
|
if (pickups.status === "loading") {
|
|
7952
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-pickups__skeleton", style:
|
|
8029
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-pickups__skeleton", style: chunkP5HF55MO_cjs.tokenStyle(style), children: [
|
|
7953
8030
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-pickups__skeleton-line" }),
|
|
7954
8031
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-pickups__skeleton-line" }),
|
|
7955
8032
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-pickups__skeleton-line kf-manager-pickups__skeleton-line--short" })
|
|
@@ -8028,12 +8105,12 @@ function ManagerPickupsSection({
|
|
|
8028
8105
|
}
|
|
8029
8106
|
if (selectedStopId !== void 0) {
|
|
8030
8107
|
if (manifest === void 0) {
|
|
8031
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-pickups__skeleton", style:
|
|
8108
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-pickups__skeleton", style: chunkP5HF55MO_cjs.tokenStyle(style), children: [
|
|
8032
8109
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-pickups__skeleton-line" }),
|
|
8033
8110
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-pickups__skeleton-line" })
|
|
8034
8111
|
] });
|
|
8035
8112
|
}
|
|
8036
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { style:
|
|
8113
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { style: chunkP5HF55MO_cjs.tokenStyle(style), children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
8037
8114
|
BoardingViewUI,
|
|
8038
8115
|
{
|
|
8039
8116
|
manifest,
|
|
@@ -8049,7 +8126,7 @@ function ManagerPickupsSection({
|
|
|
8049
8126
|
}
|
|
8050
8127
|
) });
|
|
8051
8128
|
}
|
|
8052
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { style:
|
|
8129
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { style: chunkP5HF55MO_cjs.tokenStyle(style), children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
8053
8130
|
StopListUI,
|
|
8054
8131
|
{
|
|
8055
8132
|
stops: rankedStops,
|
|
@@ -8186,7 +8263,7 @@ function AddRoomSheet({
|
|
|
8186
8263
|
onPatch,
|
|
8187
8264
|
onDelete
|
|
8188
8265
|
}) {
|
|
8189
|
-
const { t } =
|
|
8266
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
8190
8267
|
const [code, setCode] = react.useState("");
|
|
8191
8268
|
const [capacity, setCapacity] = react.useState("2");
|
|
8192
8269
|
const [roomType, setRoomType] = react.useState(void 0);
|
|
@@ -8393,7 +8470,7 @@ function AssignBedSheet({
|
|
|
8393
8470
|
onOpenTraveller,
|
|
8394
8471
|
onClose
|
|
8395
8472
|
}) {
|
|
8396
|
-
const { t } =
|
|
8473
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
8397
8474
|
const [pending, setPending] = react.useState(false);
|
|
8398
8475
|
react.useEffect(() => {
|
|
8399
8476
|
if (!open) {
|
|
@@ -8603,7 +8680,7 @@ function AutoAssignSheet({
|
|
|
8603
8680
|
onApplied,
|
|
8604
8681
|
onClose
|
|
8605
8682
|
}) {
|
|
8606
|
-
const { t } =
|
|
8683
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
8607
8684
|
const [reassignAll, setReassignAll] = react.useState(false);
|
|
8608
8685
|
const [preview, setPreview] = react.useState(void 0);
|
|
8609
8686
|
const [loading, setLoading] = react.useState(false);
|
|
@@ -8760,7 +8837,7 @@ var STATUS_LABEL_KEY5 = {
|
|
|
8760
8837
|
FULL: "chrome.managerTrip.rooming.room.status.full"
|
|
8761
8838
|
};
|
|
8762
8839
|
function RoomCard({ room, onSelectBed, onEditRoom }) {
|
|
8763
|
-
const { t } =
|
|
8840
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
8764
8841
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-rooming__room-card", children: [
|
|
8765
8842
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
8766
8843
|
"button",
|
|
@@ -8799,7 +8876,7 @@ function RoomCard({ room, onSelectBed, onEditRoom }) {
|
|
|
8799
8876
|
] });
|
|
8800
8877
|
}
|
|
8801
8878
|
function RoomingStats({ roomCount, beds, unassignedCount }) {
|
|
8802
|
-
const { t } =
|
|
8879
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
8803
8880
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-rooming__stats", children: [
|
|
8804
8881
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-rooming__stat-cell", children: [
|
|
8805
8882
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-manager-rooming__stat-label", children: t("chrome.managerTrip.rooming.stats.rooms") }),
|
|
@@ -8837,7 +8914,7 @@ function StayWindowChips({
|
|
|
8837
8914
|
onAddWindow,
|
|
8838
8915
|
onEditWindow
|
|
8839
8916
|
}) {
|
|
8840
|
-
const { t } =
|
|
8917
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
8841
8918
|
const activeWindow = stayWindows.find((window) => window.id === activeStayWindowId);
|
|
8842
8919
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-rooming__window-block", children: [
|
|
8843
8920
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -8905,7 +8982,7 @@ function StayWindowSheet({
|
|
|
8905
8982
|
onPatch,
|
|
8906
8983
|
onDelete
|
|
8907
8984
|
}) {
|
|
8908
|
-
const { t } =
|
|
8985
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
8909
8986
|
const [label, setLabel] = react.useState("");
|
|
8910
8987
|
const [startDate, setStartDate] = react.useState("");
|
|
8911
8988
|
const [endDate, setEndDate] = react.useState("");
|
|
@@ -9089,7 +9166,7 @@ function UnassignedPoolSection({
|
|
|
9089
9166
|
loaded,
|
|
9090
9167
|
onSelectTraveller
|
|
9091
9168
|
}) {
|
|
9092
|
-
const { t } =
|
|
9169
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
9093
9170
|
if (loaded && travellers.length === 0) {
|
|
9094
9171
|
return null;
|
|
9095
9172
|
}
|
|
@@ -9115,15 +9192,22 @@ function UnassignedPoolSection({
|
|
|
9115
9192
|
)) })
|
|
9116
9193
|
] });
|
|
9117
9194
|
}
|
|
9118
|
-
function ManagerRoomingSection({
|
|
9195
|
+
function ManagerRoomingSection(props) {
|
|
9196
|
+
const session = chunkP5HF55MO_cjs.useSession();
|
|
9197
|
+
if (session.status !== "authenticated") {
|
|
9198
|
+
return null;
|
|
9199
|
+
}
|
|
9200
|
+
return /* @__PURE__ */ jsxRuntime.jsx(ReadyManagerRoomingSection, { ...props });
|
|
9201
|
+
}
|
|
9202
|
+
function ReadyManagerRoomingSection({
|
|
9119
9203
|
tripRef,
|
|
9120
9204
|
onOpenTraveller,
|
|
9121
9205
|
emptyView,
|
|
9122
9206
|
components,
|
|
9123
9207
|
style
|
|
9124
9208
|
}) {
|
|
9125
|
-
const { t } =
|
|
9126
|
-
const rooming =
|
|
9209
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
9210
|
+
const rooming = chunkAPE4R2GB_cjs.useRooming(tripRef);
|
|
9127
9211
|
const Stats = components?.Stats ?? RoomingStats;
|
|
9128
9212
|
const RoomCardComponent = components?.RoomCard ?? RoomCard;
|
|
9129
9213
|
const UnassignedPool = components?.UnassignedPool ?? UnassignedPoolSection;
|
|
@@ -9159,7 +9243,7 @@ function ManagerRoomingSection({
|
|
|
9159
9243
|
void refreshPool(activeStayWindowId);
|
|
9160
9244
|
}, [refreshPool, activeStayWindowId]);
|
|
9161
9245
|
if (rooming.status === "loading") {
|
|
9162
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-rooming__skeleton", style:
|
|
9246
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-rooming__skeleton", style: chunkP5HF55MO_cjs.tokenStyle(style), children: [
|
|
9163
9247
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-rooming__skeleton-block" }),
|
|
9164
9248
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-rooming__skeleton-line" }),
|
|
9165
9249
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-rooming__skeleton-line kf-manager-rooming__skeleton-line--short" })
|
|
@@ -9183,7 +9267,7 @@ function ManagerRoomingSection({
|
|
|
9183
9267
|
}
|
|
9184
9268
|
}
|
|
9185
9269
|
const resolvedEmptyView = emptyView !== void 0 ? typeof emptyView === "function" ? emptyView() : emptyView : null;
|
|
9186
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-rooming", style:
|
|
9270
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-rooming", style: chunkP5HF55MO_cjs.tokenStyle(style), children: [
|
|
9187
9271
|
sortedWindows.length === 0 ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-rooming__card kf-manager-rooming__empty", children: [
|
|
9188
9272
|
/* @__PURE__ */ jsxRuntime.jsx("p", { children: t("chrome.managerTrip.rooming.noWindows") }),
|
|
9189
9273
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -9419,7 +9503,7 @@ function initials7(fullName) {
|
|
|
9419
9503
|
return `${parts[0]?.[0] ?? ""}${parts[parts.length - 1]?.[0] ?? ""}`.toUpperCase();
|
|
9420
9504
|
}
|
|
9421
9505
|
function RosterRow({ row, onOpen }) {
|
|
9422
|
-
const { t } =
|
|
9506
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
9423
9507
|
const { traveller } = row;
|
|
9424
9508
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-roster__row", children: [
|
|
9425
9509
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -9450,7 +9534,7 @@ function RosterRow({ row, onOpen }) {
|
|
|
9450
9534
|
] });
|
|
9451
9535
|
}
|
|
9452
9536
|
function RosterSearch({ query, onQueryChange }) {
|
|
9453
|
-
const { t } =
|
|
9537
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
9454
9538
|
return /* @__PURE__ */ jsxRuntime.jsxs("label", { className: "kf-manager-roster__search", children: [
|
|
9455
9539
|
/* @__PURE__ */ jsxRuntime.jsx(SearchIcon2, { "aria-hidden": "true" }),
|
|
9456
9540
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -9465,13 +9549,20 @@ function RosterSearch({ query, onQueryChange }) {
|
|
|
9465
9549
|
)
|
|
9466
9550
|
] });
|
|
9467
9551
|
}
|
|
9468
|
-
function ManagerRosterSection({
|
|
9552
|
+
function ManagerRosterSection(props) {
|
|
9553
|
+
const session = chunkP5HF55MO_cjs.useSession();
|
|
9554
|
+
if (session.status !== "authenticated") {
|
|
9555
|
+
return null;
|
|
9556
|
+
}
|
|
9557
|
+
return /* @__PURE__ */ jsxRuntime.jsx(ReadyManagerRosterSection, { ...props });
|
|
9558
|
+
}
|
|
9559
|
+
function ReadyManagerRosterSection({
|
|
9469
9560
|
tripRef,
|
|
9470
9561
|
onOpenTraveller,
|
|
9471
9562
|
style
|
|
9472
9563
|
}) {
|
|
9473
|
-
const { t } =
|
|
9474
|
-
const parties =
|
|
9564
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
9565
|
+
const parties = chunkAPE4R2GB_cjs.useParties(tripRef);
|
|
9475
9566
|
const [query, setQuery] = react.useState("");
|
|
9476
9567
|
const rows = react.useMemo(
|
|
9477
9568
|
() => parties.status === "ready" ? parties.tripRoster.rows : [],
|
|
@@ -9487,7 +9578,7 @@ function ManagerRosterSection({
|
|
|
9487
9578
|
);
|
|
9488
9579
|
}, [rows, query]);
|
|
9489
9580
|
if (parties.status === "loading") {
|
|
9490
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-roster__skeleton", style:
|
|
9581
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-roster__skeleton", style: chunkP5HF55MO_cjs.tokenStyle(style), children: [
|
|
9491
9582
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-roster__skeleton-line" }),
|
|
9492
9583
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-roster__skeleton-line" }),
|
|
9493
9584
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-roster__skeleton-line kf-manager-roster__skeleton-line--short" })
|
|
@@ -9496,7 +9587,7 @@ function ManagerRosterSection({
|
|
|
9496
9587
|
if (parties.status === "error") {
|
|
9497
9588
|
return null;
|
|
9498
9589
|
}
|
|
9499
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-roster", style:
|
|
9590
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-roster", style: chunkP5HF55MO_cjs.tokenStyle(style), children: [
|
|
9500
9591
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-manager-roster__count", children: t("chrome.managerTrip.roster.count").replace("{count}", String(rows.length)) }),
|
|
9501
9592
|
/* @__PURE__ */ jsxRuntime.jsx(RosterSearch, { query, onQueryChange: setQuery }),
|
|
9502
9593
|
rows.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-manager-roster__empty", children: t("chrome.managerTrip.roster.empty") }) : filteredRows.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-manager-roster__empty", children: t("chrome.managerTrip.roster.noMatches") }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-roster__list", children: filteredRows.map((row) => /* @__PURE__ */ jsxRuntime.jsx(RosterRow, { row, onOpen: onOpenTraveller }, row.traveller.travellerId)) })
|
|
@@ -9631,7 +9722,7 @@ function ConflictResolverSheet({
|
|
|
9631
9722
|
onResolve,
|
|
9632
9723
|
onClose
|
|
9633
9724
|
}) {
|
|
9634
|
-
const { t } =
|
|
9725
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
9635
9726
|
const [fieldIndex, setFieldIndex] = react.useState(0);
|
|
9636
9727
|
const [pending, setPending] = react.useState(false);
|
|
9637
9728
|
react.useEffect(() => {
|
|
@@ -9766,7 +9857,7 @@ function formatSyncCenterDate(iso) {
|
|
|
9766
9857
|
return iso === void 0 ? void 0 : SYNC_CENTER_DATE_FORMATTER.format(new Date(iso));
|
|
9767
9858
|
}
|
|
9768
9859
|
function OutboxRow({ op, isConflict, label, onSelect }) {
|
|
9769
|
-
const { t } =
|
|
9860
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
9770
9861
|
const statusLabel = isConflict ? t("chrome.managerSyncCenter.status.conflict") : op.status === "parked" ? t("chrome.managerSyncCenter.status.parked") : op.status === "inflight" ? t("chrome.managerSyncCenter.status.inflight") : t("chrome.managerSyncCenter.status.pending");
|
|
9771
9862
|
const interactive = isConflict;
|
|
9772
9863
|
const Row = interactive ? "button" : "div";
|
|
@@ -9817,9 +9908,9 @@ function ManagerSyncCenterSection({
|
|
|
9817
9908
|
onResolved,
|
|
9818
9909
|
style
|
|
9819
9910
|
}) {
|
|
9820
|
-
const { t } =
|
|
9821
|
-
const engine =
|
|
9822
|
-
const { conflicts, resolve } =
|
|
9911
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
9912
|
+
const engine = chunkPHVQIIOI_cjs.useOfflineEngine();
|
|
9913
|
+
const { conflicts, resolve } = chunkBKDKXM3L_cjs.useConflicts(tripRef);
|
|
9823
9914
|
const [openConflict, setOpenConflict] = react.useState(void 0);
|
|
9824
9915
|
const ops = engine.outbox.all().filter((op) => op.tripRef === tripRef);
|
|
9825
9916
|
const conflictOpIds = new Set(conflicts.map((conflict) => conflict.opId));
|
|
@@ -9833,7 +9924,7 @@ function ManagerSyncCenterSection({
|
|
|
9833
9924
|
await resolve(opId, choice);
|
|
9834
9925
|
onResolved?.(opId, choice);
|
|
9835
9926
|
}
|
|
9836
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-sync-center", style:
|
|
9927
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-sync-center", style: chunkP5HF55MO_cjs.tokenStyle(style), children: [
|
|
9837
9928
|
ops.length === 0 ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-sync-center__empty", children: [
|
|
9838
9929
|
/* @__PURE__ */ jsxRuntime.jsx(InboxIcon2, { className: "kf-manager-sync-center__empty-icon", "aria-hidden": "true" }),
|
|
9839
9930
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-manager-sync-center__empty-title", children: t("chrome.managerSyncCenter.emptyTitle") })
|
|
@@ -10054,7 +10145,7 @@ function LogPaymentSheet({
|
|
|
10054
10145
|
onClose,
|
|
10055
10146
|
onSubmit
|
|
10056
10147
|
}) {
|
|
10057
|
-
const { t } =
|
|
10148
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
10058
10149
|
const [amount, setAmount] = react.useState("");
|
|
10059
10150
|
const [mode, setMode] = react.useState("CASH");
|
|
10060
10151
|
const [reference, setReference] = react.useState("");
|
|
@@ -10192,7 +10283,7 @@ function LogPaymentSheet({
|
|
|
10192
10283
|
) });
|
|
10193
10284
|
}
|
|
10194
10285
|
function TravellerContactRow({ fullName, phone }) {
|
|
10195
|
-
const { t } =
|
|
10286
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
10196
10287
|
if (phone === null) {
|
|
10197
10288
|
return null;
|
|
10198
10289
|
}
|
|
@@ -10231,7 +10322,7 @@ var DIET_LABEL_KEY3 = {
|
|
|
10231
10322
|
J: "chrome.managerTraveller.dietary.diet.j"
|
|
10232
10323
|
};
|
|
10233
10324
|
function TravellerDietaryCard({ rows }) {
|
|
10234
|
-
const { t } =
|
|
10325
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
10235
10326
|
if (rows.length === 0) {
|
|
10236
10327
|
return null;
|
|
10237
10328
|
}
|
|
@@ -10261,7 +10352,7 @@ function TravellerEmergencyCard({
|
|
|
10261
10352
|
relation,
|
|
10262
10353
|
phone
|
|
10263
10354
|
}) {
|
|
10264
|
-
const { t } =
|
|
10355
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
10265
10356
|
return /* @__PURE__ */ jsxRuntime.jsxs("section", { "aria-label": t("chrome.managerTraveller.emergency.ariaLabel"), children: [
|
|
10266
10357
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-eyebrow kf-manager-traveller__eyebrow-row", children: t("chrome.managerTraveller.emergency.eyebrow") }),
|
|
10267
10358
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-traveller__card kf-manager-traveller__emergency-row", children: [
|
|
@@ -10306,7 +10397,7 @@ var DATE_FORMATTER5 = new Intl.DateTimeFormat("en-GB", {
|
|
|
10306
10397
|
minute: "2-digit"
|
|
10307
10398
|
});
|
|
10308
10399
|
function TravellerNotesSection({ notes, onAddNote }) {
|
|
10309
|
-
const { t } =
|
|
10400
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
10310
10401
|
const [composing, setComposing] = react.useState(false);
|
|
10311
10402
|
const [draft, setDraft] = react.useState("");
|
|
10312
10403
|
const [submitting, setSubmitting] = react.useState(false);
|
|
@@ -10393,7 +10484,7 @@ function TravellerPaymentCard({
|
|
|
10393
10484
|
canLogPayment,
|
|
10394
10485
|
onLogPayment
|
|
10395
10486
|
}) {
|
|
10396
|
-
const { t } =
|
|
10487
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
10397
10488
|
return /* @__PURE__ */ jsxRuntime.jsxs("section", { "aria-label": t("chrome.managerTraveller.payment.ariaLabel"), children: [
|
|
10398
10489
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-eyebrow kf-manager-traveller__eyebrow-row", children: t("chrome.managerTraveller.payment.eyebrow") }),
|
|
10399
10490
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-traveller__card", children: [
|
|
@@ -10422,7 +10513,7 @@ function TravellerPaymentCard({
|
|
|
10422
10513
|
] });
|
|
10423
10514
|
}
|
|
10424
10515
|
function TravellerRoomSeatCard({ room, seat }) {
|
|
10425
|
-
const { t } =
|
|
10516
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
10426
10517
|
if (room === null && seat === null) {
|
|
10427
10518
|
return null;
|
|
10428
10519
|
}
|
|
@@ -10443,16 +10534,23 @@ function TravellerRoomSeatCard({ room, seat }) {
|
|
|
10443
10534
|
] })
|
|
10444
10535
|
] });
|
|
10445
10536
|
}
|
|
10446
|
-
function ManagerTravellerProfileSection({
|
|
10537
|
+
function ManagerTravellerProfileSection(props) {
|
|
10538
|
+
const session = chunkP5HF55MO_cjs.useSession();
|
|
10539
|
+
if (session.status !== "authenticated") {
|
|
10540
|
+
return null;
|
|
10541
|
+
}
|
|
10542
|
+
return /* @__PURE__ */ jsxRuntime.jsx(ReadyManagerTravellerProfileSection, { ...props });
|
|
10543
|
+
}
|
|
10544
|
+
function ReadyManagerTravellerProfileSection({
|
|
10447
10545
|
tripRef,
|
|
10448
10546
|
travellerRef,
|
|
10449
10547
|
components,
|
|
10450
10548
|
style
|
|
10451
10549
|
}) {
|
|
10452
|
-
const { t } =
|
|
10453
|
-
const profile =
|
|
10454
|
-
const parties =
|
|
10455
|
-
const collections =
|
|
10550
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
10551
|
+
const profile = chunkAPE4R2GB_cjs.useTravellerProfile(tripRef, travellerRef);
|
|
10552
|
+
const parties = chunkAPE4R2GB_cjs.useParties(tripRef);
|
|
10553
|
+
const collections = chunkAPE4R2GB_cjs.useCollections(tripRef);
|
|
10456
10554
|
const [sheetOpen, setSheetOpen] = react.useState(false);
|
|
10457
10555
|
const partyLabel = react.useMemo(() => {
|
|
10458
10556
|
if (profile.read === void 0 || profile.read.partyId === null) {
|
|
@@ -10464,7 +10562,7 @@ function ManagerTravellerProfileSection({
|
|
|
10464
10562
|
return parties.list.rows.find((row) => row.id === profile.read?.partyId)?.label ?? null;
|
|
10465
10563
|
}, [profile.read, parties]);
|
|
10466
10564
|
if (profile.read === void 0) {
|
|
10467
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-traveller__skeleton", style:
|
|
10565
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-traveller__skeleton", style: chunkP5HF55MO_cjs.tokenStyle(style), children: [
|
|
10468
10566
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-traveller__skeleton-avatar" }),
|
|
10469
10567
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-traveller__skeleton-line" }),
|
|
10470
10568
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-traveller__skeleton-line kf-manager-traveller__skeleton-line--short" })
|
|
@@ -10487,7 +10585,7 @@ function ManagerTravellerProfileSection({
|
|
|
10487
10585
|
read.profile.medicalNotes
|
|
10488
10586
|
);
|
|
10489
10587
|
const canLogPayment = collections.status === "ready";
|
|
10490
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-traveller", style:
|
|
10588
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-traveller", style: chunkP5HF55MO_cjs.tokenStyle(style), children: [
|
|
10491
10589
|
/* @__PURE__ */ jsxRuntime.jsx(TravellerHero, { fullName: read.fullName, partyLabel }),
|
|
10492
10590
|
/* @__PURE__ */ jsxRuntime.jsx(TravellerContactRow, { fullName: read.fullName, phone: read.phone }),
|
|
10493
10591
|
/* @__PURE__ */ jsxRuntime.jsx(DietaryCard, { rows: dietaryRows }),
|
|
@@ -10826,7 +10924,7 @@ function AddVehicleSheet({
|
|
|
10826
10924
|
onPatch,
|
|
10827
10925
|
onDelete
|
|
10828
10926
|
}) {
|
|
10829
|
-
const { t } =
|
|
10927
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
10830
10928
|
const [regNo, setRegNo] = react.useState("");
|
|
10831
10929
|
const [label, setLabel] = react.useState("");
|
|
10832
10930
|
const [type, setType] = react.useState("BUS");
|
|
@@ -11178,7 +11276,7 @@ function AssignSeatSheet({
|
|
|
11178
11276
|
onOpenTraveller,
|
|
11179
11277
|
onClose
|
|
11180
11278
|
}) {
|
|
11181
|
-
const { t } =
|
|
11279
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
11182
11280
|
const [pending, setPending] = react.useState(false);
|
|
11183
11281
|
const [customLabel, setCustomLabel] = react.useState("");
|
|
11184
11282
|
const [editingSeatLabel, setEditingSeatLabel] = react.useState(false);
|
|
@@ -11420,7 +11518,7 @@ function AutoAssignSheet2({
|
|
|
11420
11518
|
onApplied,
|
|
11421
11519
|
onClose
|
|
11422
11520
|
}) {
|
|
11423
|
-
const { t } =
|
|
11521
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
11424
11522
|
const [reassignAll, setReassignAll] = react.useState(false);
|
|
11425
11523
|
const [preview, setPreview] = react.useState(void 0);
|
|
11426
11524
|
const [loading, setLoading] = react.useState(false);
|
|
@@ -11577,7 +11675,7 @@ function SetOwnerSheet({
|
|
|
11577
11675
|
onSetOwner,
|
|
11578
11676
|
onRemoveOwner
|
|
11579
11677
|
}) {
|
|
11580
|
-
const { t } =
|
|
11678
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
11581
11679
|
react.useEffect(() => {
|
|
11582
11680
|
if (!open) {
|
|
11583
11681
|
return;
|
|
@@ -11645,7 +11743,7 @@ function UnassignedPoolSection2({
|
|
|
11645
11743
|
loaded,
|
|
11646
11744
|
onSelectTraveller
|
|
11647
11745
|
}) {
|
|
11648
|
-
const { t } =
|
|
11746
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
11649
11747
|
if (loaded && travellers.length === 0) {
|
|
11650
11748
|
return null;
|
|
11651
11749
|
}
|
|
@@ -11681,7 +11779,7 @@ function VehicleCard({
|
|
|
11681
11779
|
onEditOwner,
|
|
11682
11780
|
onViewRoster
|
|
11683
11781
|
}) {
|
|
11684
|
-
const { t } =
|
|
11782
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
11685
11783
|
const totalOccupantCount = allOccupantsOfVehicle(vehicle).length;
|
|
11686
11784
|
const dayCoverage = dayCoverageLabel(vehicle.days);
|
|
11687
11785
|
const dayLabel = dayCoverage === "ALL_DAYS" ? t("chrome.managerTrip.vehicles.card.allDays") : t("chrome.managerTrip.vehicles.card.dayCoverage").replace("{days}", dayCoverage);
|
|
@@ -11831,7 +11929,7 @@ function VehicleRosterSheet({
|
|
|
11831
11929
|
onSelectOccupant,
|
|
11832
11930
|
onClose
|
|
11833
11931
|
}) {
|
|
11834
|
-
const { t } =
|
|
11932
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
11835
11933
|
react.useEffect(() => {
|
|
11836
11934
|
if (!open) {
|
|
11837
11935
|
return;
|
|
@@ -11910,7 +12008,7 @@ function VehicleStats({
|
|
|
11910
12008
|
capacity,
|
|
11911
12009
|
unassignedCount
|
|
11912
12010
|
}) {
|
|
11913
|
-
const { t } =
|
|
12011
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
11914
12012
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-vehicles__stats", children: [
|
|
11915
12013
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-vehicles__stat-cell", children: [
|
|
11916
12014
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-manager-vehicles__stat-label", children: t("chrome.managerTrip.vehicles.stats.vehicles") }),
|
|
@@ -11937,16 +12035,23 @@ function VehicleStats({
|
|
|
11937
12035
|
] })
|
|
11938
12036
|
] });
|
|
11939
12037
|
}
|
|
11940
|
-
function ManagerVehiclesSection({
|
|
12038
|
+
function ManagerVehiclesSection(props) {
|
|
12039
|
+
const session = chunkP5HF55MO_cjs.useSession();
|
|
12040
|
+
if (session.status !== "authenticated") {
|
|
12041
|
+
return null;
|
|
12042
|
+
}
|
|
12043
|
+
return /* @__PURE__ */ jsxRuntime.jsx(ReadyManagerVehiclesSection, { ...props });
|
|
12044
|
+
}
|
|
12045
|
+
function ReadyManagerVehiclesSection({
|
|
11941
12046
|
tripRef,
|
|
11942
12047
|
onOpenTraveller,
|
|
11943
12048
|
emptyView,
|
|
11944
12049
|
components,
|
|
11945
12050
|
style
|
|
11946
12051
|
}) {
|
|
11947
|
-
const { t } =
|
|
11948
|
-
const seating =
|
|
11949
|
-
const managers =
|
|
12052
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
12053
|
+
const seating = chunkAPE4R2GB_cjs.useSeating(tripRef);
|
|
12054
|
+
const managers = chunkAPE4R2GB_cjs.useManagers(tripRef);
|
|
11950
12055
|
const Stats = components?.Stats ?? VehicleStats;
|
|
11951
12056
|
const VehicleCardComponent = components?.VehicleCard ?? VehicleCard;
|
|
11952
12057
|
const UnassignedPool = components?.UnassignedPool ?? UnassignedPoolSection2;
|
|
@@ -11994,7 +12099,7 @@ function ManagerVehiclesSection({
|
|
|
11994
12099
|
return map;
|
|
11995
12100
|
}, [managerRoster]);
|
|
11996
12101
|
if (seating.status === "loading") {
|
|
11997
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-vehicles__skeleton", style:
|
|
12102
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-vehicles__skeleton", style: chunkP5HF55MO_cjs.tokenStyle(style), children: [
|
|
11998
12103
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-vehicles__skeleton-block" }),
|
|
11999
12104
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-vehicles__skeleton-line" }),
|
|
12000
12105
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-vehicles__skeleton-line kf-manager-vehicles__skeleton-line--short" })
|
|
@@ -12007,7 +12112,7 @@ function ManagerVehiclesSection({
|
|
|
12007
12112
|
const unassignedCount = seating.unassignedPool.travellers.length;
|
|
12008
12113
|
const travellerNames = travellerNameMap(seating.unassignedPool.travellers, liveVehicles);
|
|
12009
12114
|
const resolvedEmptyView = emptyView !== void 0 ? typeof emptyView === "function" ? emptyView() : emptyView : null;
|
|
12010
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-vehicles", style:
|
|
12115
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-vehicles", style: chunkP5HF55MO_cjs.tokenStyle(style), children: [
|
|
12011
12116
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12012
12117
|
Stats,
|
|
12013
12118
|
{
|
|
@@ -12186,7 +12291,7 @@ function VendorDetailSheet({
|
|
|
12186
12291
|
vehicles,
|
|
12187
12292
|
onClose
|
|
12188
12293
|
}) {
|
|
12189
|
-
const { t } =
|
|
12294
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
12190
12295
|
react.useEffect(() => {
|
|
12191
12296
|
if (vendor === void 0) {
|
|
12192
12297
|
return;
|
|
@@ -12391,7 +12496,7 @@ function VendorListSection({
|
|
|
12391
12496
|
onVendorSelect,
|
|
12392
12497
|
emptyView
|
|
12393
12498
|
}) {
|
|
12394
|
-
const { t } =
|
|
12499
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
12395
12500
|
if (vendors.length === 0) {
|
|
12396
12501
|
if (emptyView !== void 0) {
|
|
12397
12502
|
return typeof emptyView === "function" ? emptyView() : emptyView;
|
|
@@ -12448,7 +12553,14 @@ function isLiveExpense2(row) {
|
|
|
12448
12553
|
function isLiveVehicle2(row) {
|
|
12449
12554
|
return !("_tombstone" in row);
|
|
12450
12555
|
}
|
|
12451
|
-
function ManagerVendorsSection({
|
|
12556
|
+
function ManagerVendorsSection(props) {
|
|
12557
|
+
const session = chunkP5HF55MO_cjs.useSession();
|
|
12558
|
+
if (session.status !== "authenticated") {
|
|
12559
|
+
return null;
|
|
12560
|
+
}
|
|
12561
|
+
return /* @__PURE__ */ jsxRuntime.jsx(ReadyManagerVendorsSection, { ...props });
|
|
12562
|
+
}
|
|
12563
|
+
function ReadyManagerVendorsSection({
|
|
12452
12564
|
tripRef,
|
|
12453
12565
|
category,
|
|
12454
12566
|
onVendorSelect,
|
|
@@ -12456,13 +12568,13 @@ function ManagerVendorsSection({
|
|
|
12456
12568
|
components,
|
|
12457
12569
|
style
|
|
12458
12570
|
}) {
|
|
12459
|
-
const vendors =
|
|
12460
|
-
const expenses =
|
|
12461
|
-
const seating =
|
|
12571
|
+
const vendors = chunkAPE4R2GB_cjs.useVendors(tripRef, "");
|
|
12572
|
+
const expenses = chunkAPE4R2GB_cjs.useExpenses(tripRef);
|
|
12573
|
+
const seating = chunkAPE4R2GB_cjs.useSeating(tripRef);
|
|
12462
12574
|
const [selectedVendorId, setSelectedVendorId] = react.useState(void 0);
|
|
12463
12575
|
const VendorListUI = components?.VendorListUI ?? VendorListSection;
|
|
12464
12576
|
if (vendors.status === "loading") {
|
|
12465
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-vendors__skeleton", style:
|
|
12577
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-vendors__skeleton", style: chunkP5HF55MO_cjs.tokenStyle(style), children: [
|
|
12466
12578
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-vendors__skeleton-line" }),
|
|
12467
12579
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-vendors__skeleton-line" }),
|
|
12468
12580
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-vendors__skeleton-line kf-manager-vendors__skeleton-line--short" })
|
|
@@ -12481,7 +12593,7 @@ function ManagerVendorsSection({
|
|
|
12481
12593
|
description: row.description
|
|
12482
12594
|
})) : void 0;
|
|
12483
12595
|
const detailVehicles = seating.status === "ready" && selectedVendor !== void 0 ? seating.vehicles.filter(isLiveVehicle2).filter((row) => row.vendorId === selectedVendor.id).map((row) => ({ id: row.id, regNo: row.regNo, label: row.label })) : void 0;
|
|
12484
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-vendors", style:
|
|
12596
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-vendors", style: chunkP5HF55MO_cjs.tokenStyle(style), children: [
|
|
12485
12597
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12486
12598
|
VendorListUI,
|
|
12487
12599
|
{
|
|
@@ -12556,7 +12668,7 @@ function TripChipTabs({
|
|
|
12556
12668
|
onSelect,
|
|
12557
12669
|
counts
|
|
12558
12670
|
}) {
|
|
12559
|
-
const { t } =
|
|
12671
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
12560
12672
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
12561
12673
|
"div",
|
|
12562
12674
|
{
|
|
@@ -12612,7 +12724,7 @@ function TripHero({
|
|
|
12612
12724
|
endDate,
|
|
12613
12725
|
region
|
|
12614
12726
|
}) {
|
|
12615
|
-
const { t } =
|
|
12727
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
12616
12728
|
const sub = [formatDateRange2(startDate, endDate), region].filter(Boolean).join(" \xB7 ");
|
|
12617
12729
|
return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "kf-manager-trip__hero", "aria-label": t("chrome.managerTrip.hero.ariaLabel"), children: [
|
|
12618
12730
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-trip__hero-body", children: [
|
|
@@ -12642,7 +12754,7 @@ var TAB_LABEL_KEY2 = {
|
|
|
12642
12754
|
documents: "chrome.managerTrip.tab.documents"
|
|
12643
12755
|
};
|
|
12644
12756
|
function TripTabPlaceholder({ tabKey }) {
|
|
12645
|
-
const { t } =
|
|
12757
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
12646
12758
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-trip__card kf-manager-trip__placeholder", children: t("chrome.managerTrip.placeholder.notBuilt").replace("{tab}", t(TAB_LABEL_KEY2[tabKey])) });
|
|
12647
12759
|
}
|
|
12648
12760
|
var BLOCKER_ACTION_TAB = {
|
|
@@ -12658,7 +12770,7 @@ var BLOCKER_ACTION_TAB = {
|
|
|
12658
12770
|
open_past_itinerary: "itinerary"
|
|
12659
12771
|
};
|
|
12660
12772
|
function ManagerTripSection(props) {
|
|
12661
|
-
const session =
|
|
12773
|
+
const session = chunkP5HF55MO_cjs.useSession();
|
|
12662
12774
|
if (session.status !== "authenticated") {
|
|
12663
12775
|
return null;
|
|
12664
12776
|
}
|
|
@@ -12676,7 +12788,7 @@ function ReadyManagerTripSection({
|
|
|
12676
12788
|
panels,
|
|
12677
12789
|
style
|
|
12678
12790
|
}) {
|
|
12679
|
-
const managerMe =
|
|
12791
|
+
const managerMe = chunkBKDKXM3L_cjs.useManagerMe();
|
|
12680
12792
|
const [internalActiveTab, setInternalActiveTab] = react.useState("manifest");
|
|
12681
12793
|
if (managerMe.status === "loading") {
|
|
12682
12794
|
return /* @__PURE__ */ jsxRuntime.jsx(ManagerTripSkeleton, { style });
|
|
@@ -12740,7 +12852,7 @@ function ReadyManagerTripSection({
|
|
|
12740
12852
|
}
|
|
12741
12853
|
)
|
|
12742
12854
|
};
|
|
12743
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-trip", style:
|
|
12855
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-trip", style: chunkP5HF55MO_cjs.tokenStyle(style), children: [
|
|
12744
12856
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12745
12857
|
TripHero,
|
|
12746
12858
|
{
|
|
@@ -12759,7 +12871,7 @@ function ReadyManagerTripSection({
|
|
|
12759
12871
|
function ManagerTripSkeleton({
|
|
12760
12872
|
style
|
|
12761
12873
|
}) {
|
|
12762
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-trip__skeleton", style:
|
|
12874
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-trip__skeleton", style: chunkP5HF55MO_cjs.tokenStyle(style), children: [
|
|
12763
12875
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-trip__skeleton-block" }),
|
|
12764
12876
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-trip__skeleton-line" }),
|
|
12765
12877
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-trip__skeleton-line kf-manager-trip__skeleton-line--short" })
|
|
@@ -12925,7 +13037,7 @@ function ManagerShellHeader(props) {
|
|
|
12925
13037
|
"header",
|
|
12926
13038
|
{
|
|
12927
13039
|
className: "kf-manager-shell__header kf-manager-shell__header--back",
|
|
12928
|
-
style:
|
|
13040
|
+
style: chunkP5HF55MO_cjs.tokenStyle(props.style),
|
|
12929
13041
|
children: [
|
|
12930
13042
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12931
13043
|
"button",
|
|
@@ -12951,7 +13063,7 @@ function ManagerShellHeader(props) {
|
|
|
12951
13063
|
"header",
|
|
12952
13064
|
{
|
|
12953
13065
|
className: "kf-manager-shell__header kf-manager-shell__header--page",
|
|
12954
|
-
style:
|
|
13066
|
+
style: chunkP5HF55MO_cjs.tokenStyle(style),
|
|
12955
13067
|
children: [
|
|
12956
13068
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-shell__header-titles", children: [
|
|
12957
13069
|
eyebrow !== void 0 ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-manager-shell__header-eyebrow kf-eyebrow", children: eyebrow }) : null,
|
|
@@ -12996,7 +13108,7 @@ function ManagerShellTabBar({
|
|
|
12996
13108
|
{
|
|
12997
13109
|
"aria-label": "Manager navigation",
|
|
12998
13110
|
className: "kf-manager-shell__tab-bar",
|
|
12999
|
-
style:
|
|
13111
|
+
style: chunkP5HF55MO_cjs.tokenStyle(void 0, { "--kf-manager-shell-tab-count": tabs.length }),
|
|
13000
13112
|
children: tabs.map((tab) => {
|
|
13001
13113
|
const active = tab.key === activeTabKey;
|
|
13002
13114
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -13028,7 +13140,7 @@ function ManagerShell({
|
|
|
13028
13140
|
fab,
|
|
13029
13141
|
style
|
|
13030
13142
|
}) {
|
|
13031
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-shell", style:
|
|
13143
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-shell", style: chunkP5HF55MO_cjs.tokenStyle(style), children: [
|
|
13032
13144
|
header !== void 0 ? /* @__PURE__ */ jsxRuntime.jsx(ManagerShellHeader, { ...header }) : null,
|
|
13033
13145
|
/* @__PURE__ */ jsxRuntime.jsx("main", { className: "kf-manager-shell__main", children }),
|
|
13034
13146
|
fab,
|
|
@@ -13128,7 +13240,7 @@ function SyncStatusBadge({
|
|
|
13128
13240
|
parked,
|
|
13129
13241
|
onOpenSyncCenter
|
|
13130
13242
|
}) {
|
|
13131
|
-
const { t } =
|
|
13243
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
13132
13244
|
const Icon = isOnline ? WifiOnIcon2 : WifiOffIcon2;
|
|
13133
13245
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-app__sync-badge", "data-online": isOnline, children: [
|
|
13134
13246
|
/* @__PURE__ */ jsxRuntime.jsx(Icon, { "aria-hidden": "true" }),
|
|
@@ -13161,14 +13273,14 @@ var STATUS_LABEL_KEY7 = {
|
|
|
13161
13273
|
CANCELLED: "chrome.managerApp.tripList.status.cancelled"
|
|
13162
13274
|
};
|
|
13163
13275
|
function TripListRow({ trip, onSelect, style }) {
|
|
13164
|
-
const { t } =
|
|
13276
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
13165
13277
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
13166
13278
|
"button",
|
|
13167
13279
|
{
|
|
13168
13280
|
type: "button",
|
|
13169
13281
|
className: "kf-manager-app__trip-row kf-press",
|
|
13170
13282
|
onClick: () => onSelect(trip.tripRef),
|
|
13171
|
-
style:
|
|
13283
|
+
style: chunkP5HF55MO_cjs.tokenStyle(style),
|
|
13172
13284
|
children: [
|
|
13173
13285
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-manager-app__trip-tag", "data-event-type": trip.eventType }),
|
|
13174
13286
|
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "kf-manager-app__trip-body", children: [
|
|
@@ -13190,14 +13302,14 @@ function TripListScreen({
|
|
|
13190
13302
|
onSelect,
|
|
13191
13303
|
TripListItemComponent
|
|
13192
13304
|
}) {
|
|
13193
|
-
const { t } =
|
|
13305
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
13194
13306
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-app__trip-list", children: [
|
|
13195
13307
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-eyebrow kf-manager-app__trip-list-eyebrow", children: t("chrome.managerApp.tripList.eyebrow") }),
|
|
13196
13308
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-app__trip-list-rows", children: trips.map((trip) => /* @__PURE__ */ jsxRuntime.jsx(TripListItemComponent, { trip, onSelect }, trip.tripRef)) })
|
|
13197
13309
|
] });
|
|
13198
13310
|
}
|
|
13199
13311
|
function KaafilManagerApp(props) {
|
|
13200
|
-
const session =
|
|
13312
|
+
const session = chunkP5HF55MO_cjs.useSession();
|
|
13201
13313
|
if (session.status !== "authenticated") {
|
|
13202
13314
|
return null;
|
|
13203
13315
|
}
|
|
@@ -13232,12 +13344,12 @@ function ReadyKaafilManagerApp(props) {
|
|
|
13232
13344
|
components,
|
|
13233
13345
|
style
|
|
13234
13346
|
} = props;
|
|
13235
|
-
const { t } =
|
|
13236
|
-
const { appName } =
|
|
13347
|
+
const { t } = chunkP5HF55MO_cjs.useKaafilChrome();
|
|
13348
|
+
const { appName } = chunkP5HF55MO_cjs.useKaafilBrand();
|
|
13237
13349
|
const surfaceTitle = appName !== void 0 && appName.trim().length > 0 ? appName : t("chrome.managerApp.title");
|
|
13238
|
-
const managerMe =
|
|
13239
|
-
const notifications =
|
|
13240
|
-
const outboxStatus =
|
|
13350
|
+
const managerMe = chunkBKDKXM3L_cjs.useManagerMe();
|
|
13351
|
+
const notifications = chunkBKDKXM3L_cjs.useNotifications();
|
|
13352
|
+
const outboxStatus = chunkP5HF55MO_cjs.useOutboxStatus();
|
|
13241
13353
|
const [internalTripRef, setInternalTripRef] = react.useState(initialTripRef);
|
|
13242
13354
|
const [internalTab, setInternalTab] = react.useState("now");
|
|
13243
13355
|
const [tripTabKey, setTripTabKey] = react.useState(initialTripTabKey);
|
|
@@ -13512,23 +13624,23 @@ function ReadyKaafilManagerApp(props) {
|
|
|
13512
13624
|
|
|
13513
13625
|
Object.defineProperty(exports, "BootErrorScreen", {
|
|
13514
13626
|
enumerable: true,
|
|
13515
|
-
get: function () { return
|
|
13627
|
+
get: function () { return chunkAJEZMD64_cjs.BootErrorScreen; }
|
|
13516
13628
|
});
|
|
13517
13629
|
Object.defineProperty(exports, "LockedTripScreen", {
|
|
13518
13630
|
enumerable: true,
|
|
13519
|
-
get: function () { return
|
|
13631
|
+
get: function () { return chunkAJEZMD64_cjs.LockedTripScreen; }
|
|
13520
13632
|
});
|
|
13521
13633
|
Object.defineProperty(exports, "NotFoundScreen", {
|
|
13522
13634
|
enumerable: true,
|
|
13523
|
-
get: function () { return
|
|
13635
|
+
get: function () { return chunkAJEZMD64_cjs.NotFoundScreen; }
|
|
13524
13636
|
});
|
|
13525
13637
|
Object.defineProperty(exports, "OfflineFallbackScreen", {
|
|
13526
13638
|
enumerable: true,
|
|
13527
|
-
get: function () { return
|
|
13639
|
+
get: function () { return chunkAJEZMD64_cjs.OfflineFallbackScreen; }
|
|
13528
13640
|
});
|
|
13529
13641
|
Object.defineProperty(exports, "SessionExpiredScreen", {
|
|
13530
13642
|
enumerable: true,
|
|
13531
|
-
get: function () { return
|
|
13643
|
+
get: function () { return chunkAJEZMD64_cjs.SessionExpiredScreen; }
|
|
13532
13644
|
});
|
|
13533
13645
|
exports.KaafilManagerApp = KaafilManagerApp;
|
|
13534
13646
|
exports.ManagerChecklistSection = ManagerChecklistSection;
|