@burdenoff/microfe-theglobalfuel 2026.509.101

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.
Files changed (112) hide show
  1. package/README.md +12 -0
  2. package/dist/dev/main.d.ts +2 -0
  3. package/dist/dev/main.d.ts.map +1 -0
  4. package/dist/generated/global-operations.d.ts +2 -0
  5. package/dist/generated/global-operations.d.ts.map +1 -0
  6. package/dist/generated/global-types.d.ts +18199 -0
  7. package/dist/generated/global-types.d.ts.map +1 -0
  8. package/dist/generated/wspace-operations.d.ts +2 -0
  9. package/dist/generated/wspace-operations.d.ts.map +1 -0
  10. package/dist/generated/wspace-types.d.ts +43046 -0
  11. package/dist/generated/wspace-types.d.ts.map +1 -0
  12. package/dist/index.d.ts +2 -0
  13. package/dist/index.d.ts.map +1 -0
  14. package/dist/index.js +5 -0
  15. package/dist/node_modules/clsx/dist/clsx.js +18 -0
  16. package/dist/node_modules/clsx/dist/clsx.js.map +1 -0
  17. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js +1674 -0
  18. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js.map +1 -0
  19. package/dist/theglobalfuel/TheGlobalFuelRoot.d.ts +5 -0
  20. package/dist/theglobalfuel/TheGlobalFuelRoot.d.ts.map +1 -0
  21. package/dist/theglobalfuel/TheGlobalFuelRoot.js +175 -0
  22. package/dist/theglobalfuel/TheGlobalFuelRoot.js.map +1 -0
  23. package/dist/theglobalfuel/TheGlobalFuelRoutes.d.ts +2 -0
  24. package/dist/theglobalfuel/TheGlobalFuelRoutes.d.ts.map +1 -0
  25. package/dist/theglobalfuel/TheGlobalFuelRoutes.js +91 -0
  26. package/dist/theglobalfuel/TheGlobalFuelRoutes.js.map +1 -0
  27. package/dist/theglobalfuel/index.d.ts +5 -0
  28. package/dist/theglobalfuel/index.d.ts.map +1 -0
  29. package/dist/theglobalfuel/index.js +3 -0
  30. package/dist/theglobalfuel/pages/AiIntelligencePage.d.ts +2 -0
  31. package/dist/theglobalfuel/pages/AiIntelligencePage.d.ts.map +1 -0
  32. package/dist/theglobalfuel/pages/AiIntelligencePage.js +190 -0
  33. package/dist/theglobalfuel/pages/AiIntelligencePage.js.map +1 -0
  34. package/dist/theglobalfuel/pages/AnalyticsPage.d.ts +2 -0
  35. package/dist/theglobalfuel/pages/AnalyticsPage.d.ts.map +1 -0
  36. package/dist/theglobalfuel/pages/AnalyticsPage.js +241 -0
  37. package/dist/theglobalfuel/pages/AnalyticsPage.js.map +1 -0
  38. package/dist/theglobalfuel/pages/CompliancePage.d.ts +2 -0
  39. package/dist/theglobalfuel/pages/CompliancePage.d.ts.map +1 -0
  40. package/dist/theglobalfuel/pages/CompliancePage.js +173 -0
  41. package/dist/theglobalfuel/pages/CompliancePage.js.map +1 -0
  42. package/dist/theglobalfuel/pages/DashboardPage.d.ts +2 -0
  43. package/dist/theglobalfuel/pages/DashboardPage.d.ts.map +1 -0
  44. package/dist/theglobalfuel/pages/DashboardPage.js +145 -0
  45. package/dist/theglobalfuel/pages/DashboardPage.js.map +1 -0
  46. package/dist/theglobalfuel/pages/FinancialPage.d.ts +2 -0
  47. package/dist/theglobalfuel/pages/FinancialPage.d.ts.map +1 -0
  48. package/dist/theglobalfuel/pages/FinancialPage.js +204 -0
  49. package/dist/theglobalfuel/pages/FinancialPage.js.map +1 -0
  50. package/dist/theglobalfuel/pages/FleetManagementPage.d.ts +2 -0
  51. package/dist/theglobalfuel/pages/FleetManagementPage.d.ts.map +1 -0
  52. package/dist/theglobalfuel/pages/FleetManagementPage.js +244 -0
  53. package/dist/theglobalfuel/pages/FleetManagementPage.js.map +1 -0
  54. package/dist/theglobalfuel/pages/MarketplacePage.d.ts +2 -0
  55. package/dist/theglobalfuel/pages/MarketplacePage.d.ts.map +1 -0
  56. package/dist/theglobalfuel/pages/MarketplacePage.js +260 -0
  57. package/dist/theglobalfuel/pages/MarketplacePage.js.map +1 -0
  58. package/dist/theglobalfuel/pages/OperationsPage.d.ts +2 -0
  59. package/dist/theglobalfuel/pages/OperationsPage.d.ts.map +1 -0
  60. package/dist/theglobalfuel/pages/OperationsPage.js +190 -0
  61. package/dist/theglobalfuel/pages/OperationsPage.js.map +1 -0
  62. package/dist/theglobalfuel/pages/QualityControlPage.d.ts +2 -0
  63. package/dist/theglobalfuel/pages/QualityControlPage.d.ts.map +1 -0
  64. package/dist/theglobalfuel/pages/QualityControlPage.js +215 -0
  65. package/dist/theglobalfuel/pages/QualityControlPage.js.map +1 -0
  66. package/dist/theglobalfuel/pages/ReportsPage.d.ts +2 -0
  67. package/dist/theglobalfuel/pages/ReportsPage.d.ts.map +1 -0
  68. package/dist/theglobalfuel/pages/ReportsPage.js +247 -0
  69. package/dist/theglobalfuel/pages/ReportsPage.js.map +1 -0
  70. package/dist/theglobalfuel/pages/ResourcesPage.d.ts +2 -0
  71. package/dist/theglobalfuel/pages/ResourcesPage.d.ts.map +1 -0
  72. package/dist/theglobalfuel/pages/ResourcesPage.js +225 -0
  73. package/dist/theglobalfuel/pages/ResourcesPage.js.map +1 -0
  74. package/dist/theglobalfuel/pages/RiskManagementPage.d.ts +2 -0
  75. package/dist/theglobalfuel/pages/RiskManagementPage.d.ts.map +1 -0
  76. package/dist/theglobalfuel/pages/RiskManagementPage.js +230 -0
  77. package/dist/theglobalfuel/pages/RiskManagementPage.js.map +1 -0
  78. package/dist/theglobalfuel/pages/SupplyChainPage.d.ts +2 -0
  79. package/dist/theglobalfuel/pages/SupplyChainPage.d.ts.map +1 -0
  80. package/dist/theglobalfuel/pages/SupplyChainPage.js +214 -0
  81. package/dist/theglobalfuel/pages/SupplyChainPage.js.map +1 -0
  82. package/dist/theglobalfuel/pages/SustainabilityPage.d.ts +2 -0
  83. package/dist/theglobalfuel/pages/SustainabilityPage.d.ts.map +1 -0
  84. package/dist/theglobalfuel/pages/SustainabilityPage.js +261 -0
  85. package/dist/theglobalfuel/pages/SustainabilityPage.js.map +1 -0
  86. package/dist/theglobalfuel/pages/TrainingPage.d.ts +2 -0
  87. package/dist/theglobalfuel/pages/TrainingPage.d.ts.map +1 -0
  88. package/dist/theglobalfuel/pages/TrainingPage.js +253 -0
  89. package/dist/theglobalfuel/pages/TrainingPage.js.map +1 -0
  90. package/dist/theglobalfuel/providers/TheGlobalFuelProvider.d.ts +6 -0
  91. package/dist/theglobalfuel/providers/TheGlobalFuelProvider.d.ts.map +1 -0
  92. package/dist/theglobalfuel/providers/TheGlobalFuelProvider.js +27 -0
  93. package/dist/theglobalfuel/providers/TheGlobalFuelProvider.js.map +1 -0
  94. package/dist/theglobalfuel/store/theglobalfuelStore.d.ts +163 -0
  95. package/dist/theglobalfuel/store/theglobalfuelStore.d.ts.map +1 -0
  96. package/dist/theglobalfuel/store/theglobalfuelStore.js +712 -0
  97. package/dist/theglobalfuel/store/theglobalfuelStore.js.map +1 -0
  98. package/dist/theglobalfuel/types/index.d.ts +51 -0
  99. package/dist/theglobalfuel/types/index.d.ts.map +1 -0
  100. package/dist/theglobalfuel/utils/cn.d.ts +4 -0
  101. package/dist/theglobalfuel/utils/cn.d.ts.map +1 -0
  102. package/dist/theglobalfuel/utils/cn.js +10 -0
  103. package/dist/theglobalfuel/utils/cn.js.map +1 -0
  104. package/dist/theglobalfuel/utils/i18n.d.ts +6 -0
  105. package/dist/theglobalfuel/utils/i18n.d.ts.map +1 -0
  106. package/dist/theglobalfuel/utils/i18n.js +15 -0
  107. package/dist/theglobalfuel/utils/i18n.js.map +1 -0
  108. package/dist/theglobalfuel/utils/navigation.d.ts +2 -0
  109. package/dist/theglobalfuel/utils/navigation.d.ts.map +1 -0
  110. package/dist/theglobalfuel/utils/navigation.js +8 -0
  111. package/dist/theglobalfuel/utils/navigation.js.map +1 -0
  112. package/package.json +107 -0
@@ -0,0 +1,244 @@
1
+ import { useTheGlobalFuelStore as e } from "../store/theglobalfuelStore.js";
2
+ import { AlertCircle as t, Fuel as n, MapPin as r, Navigation as i, TrendingUp as a, Truck as o } from "lucide-react";
3
+ import { jsx as s, jsxs as c } from "react/jsx-runtime";
4
+ import { Badge as l, Button as u, Card as d, CardContent as f, CardHeader as p, CardTitle as m, Tabs as h, TabsContent as g, TabsList as _, TabsTrigger as v } from "@burdenoff/fe-libs/ui";
5
+ //#region src/theglobalfuel/pages/FleetManagementPage.tsx
6
+ function y() {
7
+ let { fleet: y } = e(), b = y.filter((e) => e.status === "active").length, x = y.reduce((e, t) => e + t.currentLoadBarrels, 0);
8
+ return /* @__PURE__ */ c("div", {
9
+ className: "space-y-6 p-6",
10
+ children: [
11
+ /* @__PURE__ */ c("div", {
12
+ className: "flex items-center justify-between",
13
+ children: [/* @__PURE__ */ c("div", { children: [/* @__PURE__ */ c("h1", {
14
+ className: "flex items-center gap-2 text-2xl font-semibold",
15
+ children: [/* @__PURE__ */ s(o, { className: "h-7 w-7 text-blue-600" }), "Fleet & Logistics"]
16
+ }), /* @__PURE__ */ s("p", {
17
+ className: "mt-1 text-sm text-muted-foreground",
18
+ children: "Tanker trucks, LNG carriers, rail tanks, and pipeline pig tracking"
19
+ })] }), /* @__PURE__ */ c(u, { children: [/* @__PURE__ */ s(i, { className: "mr-2 h-4 w-4" }), "Dispatch Vehicle"] })]
20
+ }),
21
+ /* @__PURE__ */ c("div", {
22
+ className: "grid gap-4 md:grid-cols-2 lg:grid-cols-4",
23
+ children: [
24
+ /* @__PURE__ */ c(d, { children: [/* @__PURE__ */ c(p, {
25
+ className: "flex flex-row items-center justify-between space-y-0 pb-2",
26
+ children: [/* @__PURE__ */ s(m, {
27
+ className: "text-sm font-medium",
28
+ children: "Total Fleet"
29
+ }), /* @__PURE__ */ s(o, { className: "h-4 w-4 text-blue-600" })]
30
+ }), /* @__PURE__ */ c(f, { children: [/* @__PURE__ */ s("div", {
31
+ className: "text-2xl font-bold",
32
+ children: y.length
33
+ }), /* @__PURE__ */ c("p", {
34
+ className: "text-xs text-muted-foreground",
35
+ children: [
36
+ b,
37
+ " active, ",
38
+ y.filter((e) => e.status === "idle").length,
39
+ " idle"
40
+ ]
41
+ })] })] }),
42
+ /* @__PURE__ */ c(d, { children: [/* @__PURE__ */ c(p, {
43
+ className: "flex flex-row items-center justify-between space-y-0 pb-2",
44
+ children: [/* @__PURE__ */ s(m, {
45
+ className: "text-sm font-medium",
46
+ children: "Fleet Utilization"
47
+ }), /* @__PURE__ */ s(a, { className: "h-4 w-4 text-green-600" })]
48
+ }), /* @__PURE__ */ c(f, { children: [/* @__PURE__ */ c("div", {
49
+ className: "text-2xl font-bold",
50
+ children: [(b / y.length * 100).toFixed(1), "%"]
51
+ }), /* @__PURE__ */ s("p", {
52
+ className: "text-xs text-muted-foreground",
53
+ children: "+5.2% from last week"
54
+ })] })] }),
55
+ /* @__PURE__ */ c(d, { children: [/* @__PURE__ */ c(p, {
56
+ className: "flex flex-row items-center justify-between space-y-0 pb-2",
57
+ children: [/* @__PURE__ */ s(m, {
58
+ className: "text-sm font-medium",
59
+ children: "Barrels In Transit"
60
+ }), /* @__PURE__ */ s(n, { className: "h-4 w-4 text-amber-600" })]
61
+ }), /* @__PURE__ */ c(f, { children: [/* @__PURE__ */ s("div", {
62
+ className: "text-2xl font-bold",
63
+ children: x.toLocaleString()
64
+ }), /* @__PURE__ */ s("p", {
65
+ className: "text-xs text-muted-foreground",
66
+ children: "Across all carriers"
67
+ })] })] }),
68
+ /* @__PURE__ */ c(d, { children: [/* @__PURE__ */ c(p, {
69
+ className: "flex flex-row items-center justify-between space-y-0 pb-2",
70
+ children: [/* @__PURE__ */ s(m, {
71
+ className: "text-sm font-medium",
72
+ children: "In Maintenance"
73
+ }), /* @__PURE__ */ s(t, { className: "h-4 w-4 text-orange-600" })]
74
+ }), /* @__PURE__ */ c(f, { children: [/* @__PURE__ */ s("div", {
75
+ className: "text-2xl font-bold",
76
+ children: y.filter((e) => e.status === "maintenance").length
77
+ }), /* @__PURE__ */ s("p", {
78
+ className: "text-xs text-muted-foreground",
79
+ children: "Currently in service"
80
+ })] })] })
81
+ ]
82
+ }),
83
+ /* @__PURE__ */ c(h, {
84
+ defaultValue: "vehicles",
85
+ children: [
86
+ /* @__PURE__ */ c(_, { children: [/* @__PURE__ */ s(v, {
87
+ value: "vehicles",
88
+ children: "Vehicle Tracking"
89
+ }), /* @__PURE__ */ s(v, {
90
+ value: "performance",
91
+ children: "Performance"
92
+ })] }),
93
+ /* @__PURE__ */ s(g, {
94
+ value: "vehicles",
95
+ className: "mt-4",
96
+ children: /* @__PURE__ */ c(d, { children: [/* @__PURE__ */ s(p, { children: /* @__PURE__ */ s(m, { children: "Active Fleet" }) }), /* @__PURE__ */ s(f, {
97
+ className: "space-y-4",
98
+ children: y.map((e) => /* @__PURE__ */ c("div", {
99
+ className: "rounded-lg border p-4",
100
+ children: [/* @__PURE__ */ s("div", {
101
+ className: "mb-3 flex items-start justify-between",
102
+ children: /* @__PURE__ */ c("div", {
103
+ className: "flex items-start gap-3",
104
+ children: [/* @__PURE__ */ s("div", {
105
+ className: "rounded bg-blue-100 p-2",
106
+ children: /* @__PURE__ */ s(o, { className: "h-5 w-5 text-blue-600" })
107
+ }), /* @__PURE__ */ c("div", { children: [/* @__PURE__ */ c("div", {
108
+ className: "mb-1 flex items-center gap-2",
109
+ children: [/* @__PURE__ */ s("h4", {
110
+ className: "font-semibold",
111
+ children: e.id
112
+ }), /* @__PURE__ */ s(l, {
113
+ variant: "outline",
114
+ className: e.status === "active" ? "text-green-600" : e.status === "maintenance" ? "text-orange-600" : "text-gray-600",
115
+ children: e.status.toUpperCase()
116
+ })]
117
+ }), /* @__PURE__ */ c("p", {
118
+ className: "text-sm text-muted-foreground",
119
+ children: [
120
+ e.type.replace(/_/g, " "),
121
+ " · ",
122
+ e.driver
123
+ ]
124
+ })] })]
125
+ })
126
+ }), /* @__PURE__ */ c("div", {
127
+ className: "mb-3 grid grid-cols-2 gap-3 md:grid-cols-4",
128
+ children: [
129
+ /* @__PURE__ */ c("div", { children: [/* @__PURE__ */ s("span", {
130
+ className: "text-xs text-muted-foreground",
131
+ children: "Location"
132
+ }), /* @__PURE__ */ c("div", {
133
+ className: "flex items-center gap-1",
134
+ children: [/* @__PURE__ */ s(r, { className: "h-3 w-3" }), /* @__PURE__ */ s("p", {
135
+ className: "text-sm font-medium",
136
+ children: e.location
137
+ })]
138
+ })] }),
139
+ /* @__PURE__ */ c("div", { children: [/* @__PURE__ */ s("span", {
140
+ className: "text-xs text-muted-foreground",
141
+ children: "Cargo"
142
+ }), /* @__PURE__ */ s("p", {
143
+ className: "text-sm font-medium",
144
+ children: e.cargo || "None"
145
+ })] }),
146
+ /* @__PURE__ */ c("div", { children: [/* @__PURE__ */ s("span", {
147
+ className: "text-xs text-muted-foreground",
148
+ children: "Load (bbl)"
149
+ }), /* @__PURE__ */ c("p", {
150
+ className: "text-sm font-medium",
151
+ children: [
152
+ e.currentLoadBarrels.toLocaleString(),
153
+ " /",
154
+ " ",
155
+ e.capacityBarrels.toLocaleString()
156
+ ]
157
+ })] }),
158
+ /* @__PURE__ */ c("div", { children: [/* @__PURE__ */ s("span", {
159
+ className: "text-xs text-muted-foreground",
160
+ children: "ETA"
161
+ }), /* @__PURE__ */ s("p", {
162
+ className: "text-sm font-medium",
163
+ children: e.eta
164
+ })] })
165
+ ]
166
+ })]
167
+ }, e.id))
168
+ })] })
169
+ }),
170
+ /* @__PURE__ */ s(g, {
171
+ value: "performance",
172
+ className: "mt-4",
173
+ children: /* @__PURE__ */ c("div", {
174
+ className: "grid gap-4 lg:grid-cols-2",
175
+ children: [/* @__PURE__ */ c(d, { children: [/* @__PURE__ */ s(p, { children: /* @__PURE__ */ s(m, { children: "Fleet KPIs" }) }), /* @__PURE__ */ s(f, {
176
+ className: "space-y-3",
177
+ children: [
178
+ {
179
+ label: "On-Time Delivery",
180
+ value: "96.5%"
181
+ },
182
+ {
183
+ label: "Avg Fuel Efficiency",
184
+ value: "6.8 MPG"
185
+ },
186
+ {
187
+ label: "Vehicle Availability",
188
+ value: "92%"
189
+ },
190
+ {
191
+ label: "Safety Rate",
192
+ value: "0.02 per 1M mi"
193
+ }
194
+ ].map((e) => /* @__PURE__ */ c("div", {
195
+ className: "flex justify-between rounded border p-3",
196
+ children: [/* @__PURE__ */ s("span", {
197
+ className: "text-sm",
198
+ children: e.label
199
+ }), /* @__PURE__ */ s("span", {
200
+ className: "text-sm font-bold",
201
+ children: e.value
202
+ })]
203
+ }, e.label))
204
+ })] }), /* @__PURE__ */ c(d, { children: [/* @__PURE__ */ s(p, { children: /* @__PURE__ */ s(m, { children: "Monthly Costs" }) }), /* @__PURE__ */ s(f, {
205
+ className: "space-y-3",
206
+ children: [
207
+ {
208
+ label: "Fuel Costs",
209
+ value: "$1.2M"
210
+ },
211
+ {
212
+ label: "Maintenance",
213
+ value: "$680K"
214
+ },
215
+ {
216
+ label: "Driver Wages",
217
+ value: "$520K"
218
+ },
219
+ {
220
+ label: "Insurance",
221
+ value: "$460K"
222
+ }
223
+ ].map((e) => /* @__PURE__ */ c("div", {
224
+ className: "flex justify-between rounded border p-3",
225
+ children: [/* @__PURE__ */ s("span", {
226
+ className: "text-sm",
227
+ children: e.label
228
+ }), /* @__PURE__ */ s("span", {
229
+ className: "text-sm font-bold",
230
+ children: e.value
231
+ })]
232
+ }, e.label))
233
+ })] })]
234
+ })
235
+ })
236
+ ]
237
+ })
238
+ ]
239
+ });
240
+ }
241
+ //#endregion
242
+ export { y as FleetManagementPage };
243
+
244
+ //# sourceMappingURL=FleetManagementPage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FleetManagementPage.js","names":[],"sources":["../../../src/theglobalfuel/pages/FleetManagementPage.tsx"],"sourcesContent":["import {\n Card,\n CardContent,\n CardHeader,\n CardTitle,\n Badge,\n Button,\n Tabs,\n TabsList,\n TabsTrigger,\n TabsContent,\n} from '@burdenoff/fe-libs/ui';\nimport { Truck, MapPin, AlertCircle, TrendingUp, Navigation, Fuel } from 'lucide-react';\nimport { useTheGlobalFuelStore } from '../store/theglobalfuelStore';\n\nexport function FleetManagementPage() {\n const { fleet } = useTheGlobalFuelStore();\n const activeVehicles = fleet.filter((v) => v.status === 'active').length;\n const totalLoadBarrels = fleet.reduce((a, v) => a + v.currentLoadBarrels, 0);\n\n return (\n <div className=\"space-y-6 p-6\">\n <div className=\"flex items-center justify-between\">\n <div>\n <h1 className=\"flex items-center gap-2 text-2xl font-semibold\">\n <Truck className=\"h-7 w-7 text-blue-600\" />\n Fleet &amp; Logistics\n </h1>\n <p className=\"mt-1 text-sm text-muted-foreground\">\n Tanker trucks, LNG carriers, rail tanks, and pipeline pig tracking\n </p>\n </div>\n <Button>\n <Navigation className=\"mr-2 h-4 w-4\" />\n Dispatch Vehicle\n </Button>\n </div>\n <div className=\"grid gap-4 md:grid-cols-2 lg:grid-cols-4\">\n <Card>\n <CardHeader className=\"flex flex-row items-center justify-between space-y-0 pb-2\">\n <CardTitle className=\"text-sm font-medium\">Total Fleet</CardTitle>\n <Truck className=\"h-4 w-4 text-blue-600\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold\">{fleet.length}</div>\n <p className=\"text-xs text-muted-foreground\">\n {activeVehicles} active, {fleet.filter((v) => v.status === 'idle').length} idle\n </p>\n </CardContent>\n </Card>\n <Card>\n <CardHeader className=\"flex flex-row items-center justify-between space-y-0 pb-2\">\n <CardTitle className=\"text-sm font-medium\">Fleet Utilization</CardTitle>\n <TrendingUp className=\"h-4 w-4 text-green-600\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold\">\n {((activeVehicles / fleet.length) * 100).toFixed(1)}%\n </div>\n <p className=\"text-xs text-muted-foreground\">+5.2% from last week</p>\n </CardContent>\n </Card>\n <Card>\n <CardHeader className=\"flex flex-row items-center justify-between space-y-0 pb-2\">\n <CardTitle className=\"text-sm font-medium\">Barrels In Transit</CardTitle>\n <Fuel className=\"h-4 w-4 text-amber-600\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold\">{totalLoadBarrels.toLocaleString()}</div>\n <p className=\"text-xs text-muted-foreground\">Across all carriers</p>\n </CardContent>\n </Card>\n <Card>\n <CardHeader className=\"flex flex-row items-center justify-between space-y-0 pb-2\">\n <CardTitle className=\"text-sm font-medium\">In Maintenance</CardTitle>\n <AlertCircle className=\"h-4 w-4 text-orange-600\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold\">\n {fleet.filter((v) => v.status === 'maintenance').length}\n </div>\n <p className=\"text-xs text-muted-foreground\">Currently in service</p>\n </CardContent>\n </Card>\n </div>\n <Tabs defaultValue=\"vehicles\">\n <TabsList>\n <TabsTrigger value=\"vehicles\">Vehicle Tracking</TabsTrigger>\n <TabsTrigger value=\"performance\">Performance</TabsTrigger>\n </TabsList>\n <TabsContent value=\"vehicles\" className=\"mt-4\">\n <Card>\n <CardHeader>\n <CardTitle>Active Fleet</CardTitle>\n </CardHeader>\n <CardContent className=\"space-y-4\">\n {fleet.map((v) => (\n <div key={v.id} className=\"rounded-lg border p-4\">\n <div className=\"mb-3 flex items-start justify-between\">\n <div className=\"flex items-start gap-3\">\n <div className=\"rounded bg-blue-100 p-2\">\n <Truck className=\"h-5 w-5 text-blue-600\" />\n </div>\n <div>\n <div className=\"mb-1 flex items-center gap-2\">\n <h4 className=\"font-semibold\">{v.id}</h4>\n <Badge\n variant=\"outline\"\n className={\n v.status === 'active'\n ? 'text-green-600'\n : v.status === 'maintenance'\n ? 'text-orange-600'\n : 'text-gray-600'\n }\n >\n {v.status.toUpperCase()}\n </Badge>\n </div>\n <p className=\"text-sm text-muted-foreground\">\n {v.type.replace(/_/g, ' ')} &middot; {v.driver}\n </p>\n </div>\n </div>\n </div>\n <div className=\"mb-3 grid grid-cols-2 gap-3 md:grid-cols-4\">\n <div>\n <span className=\"text-xs text-muted-foreground\">Location</span>\n <div className=\"flex items-center gap-1\">\n <MapPin className=\"h-3 w-3\" />\n <p className=\"text-sm font-medium\">{v.location}</p>\n </div>\n </div>\n <div>\n <span className=\"text-xs text-muted-foreground\">Cargo</span>\n <p className=\"text-sm font-medium\">{v.cargo || 'None'}</p>\n </div>\n <div>\n <span className=\"text-xs text-muted-foreground\">Load (bbl)</span>\n <p className=\"text-sm font-medium\">\n {v.currentLoadBarrels.toLocaleString()} /{' '}\n {v.capacityBarrels.toLocaleString()}\n </p>\n </div>\n <div>\n <span className=\"text-xs text-muted-foreground\">ETA</span>\n <p className=\"text-sm font-medium\">{v.eta}</p>\n </div>\n </div>\n </div>\n ))}\n </CardContent>\n </Card>\n </TabsContent>\n <TabsContent value=\"performance\" className=\"mt-4\">\n <div className=\"grid gap-4 lg:grid-cols-2\">\n <Card>\n <CardHeader>\n <CardTitle>Fleet KPIs</CardTitle>\n </CardHeader>\n <CardContent className=\"space-y-3\">\n {[\n { label: 'On-Time Delivery', value: '96.5%' },\n { label: 'Avg Fuel Efficiency', value: '6.8 MPG' },\n { label: 'Vehicle Availability', value: '92%' },\n { label: 'Safety Rate', value: '0.02 per 1M mi' },\n ].map((k) => (\n <div key={k.label} className=\"flex justify-between rounded border p-3\">\n <span className=\"text-sm\">{k.label}</span>\n <span className=\"text-sm font-bold\">{k.value}</span>\n </div>\n ))}\n </CardContent>\n </Card>\n <Card>\n <CardHeader>\n <CardTitle>Monthly Costs</CardTitle>\n </CardHeader>\n <CardContent className=\"space-y-3\">\n {[\n { label: 'Fuel Costs', value: '$1.2M' },\n { label: 'Maintenance', value: '$680K' },\n { label: 'Driver Wages', value: '$520K' },\n { label: 'Insurance', value: '$460K' },\n ].map((c) => (\n <div key={c.label} className=\"flex justify-between rounded border p-3\">\n <span className=\"text-sm\">{c.label}</span>\n <span className=\"text-sm font-bold\">{c.value}</span>\n </div>\n ))}\n </CardContent>\n </Card>\n </div>\n </TabsContent>\n </Tabs>\n </div>\n );\n}\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function MarketplacePage(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=MarketplacePage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MarketplacePage.d.ts","sourceRoot":"","sources":["../../../src/theglobalfuel/pages/MarketplacePage.tsx"],"names":[],"mappings":"AAiBA,wBAAgB,eAAe,4CAoP9B"}
@@ -0,0 +1,260 @@
1
+ import { useTheGlobalFuelStore as e } from "../store/theglobalfuelStore.js";
2
+ import { tWithFallback as t } from "../utils/i18n.js";
3
+ import { useI18n as n } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
4
+ import { Fuel as r, Package as i, ShoppingCart as a, Star as o, TrendingUp as s } from "lucide-react";
5
+ import { jsx as c, jsxs as l } from "react/jsx-runtime";
6
+ import { Badge as u, Button as d, Card as f, CardContent as p, CardHeader as m, CardTitle as h, Tabs as g, TabsContent as _, TabsList as v, TabsTrigger as y } from "@burdenoff/fe-libs/ui";
7
+ //#region src/theglobalfuel/pages/MarketplacePage.tsx
8
+ function b() {
9
+ let { t: b } = n(), x = (e, n, r) => t(b, e, n, r), { marketplace: S } = e(), C = S.reduce((e, t) => e + t.stockBarrels, 0), w = (e) => {
10
+ switch (e) {
11
+ case "delivered": return x("theglobalfuel.marketplace.orders.status.delivered", "delivered");
12
+ case "in-transit": return x("theglobalfuel.marketplace.orders.status.inTransit", "in-transit");
13
+ case "processing": return x("theglobalfuel.marketplace.orders.status.processing", "processing");
14
+ default: return e;
15
+ }
16
+ };
17
+ return /* @__PURE__ */ l("div", {
18
+ className: "space-y-6 p-6",
19
+ children: [
20
+ /* @__PURE__ */ l("div", {
21
+ className: "flex items-center justify-between",
22
+ children: [/* @__PURE__ */ l("div", { children: [/* @__PURE__ */ l("h1", {
23
+ className: "flex items-center gap-2 text-2xl font-semibold",
24
+ children: [/* @__PURE__ */ c(a, { className: "h-7 w-7 text-green-600" }), x("theglobalfuel.marketplace.title", "Energy Marketplace")]
25
+ }), /* @__PURE__ */ c("p", {
26
+ className: "mt-1 text-sm text-muted-foreground",
27
+ children: x("theglobalfuel.marketplace.description", "Crude oil, refined products, and natural gas trading platform")
28
+ })] }), /* @__PURE__ */ l(d, { children: [/* @__PURE__ */ c(a, { className: "mr-2 h-4 w-4" }), x("theglobalfuel.marketplace.actions.requestQuote", "Request Quote")] })]
29
+ }),
30
+ /* @__PURE__ */ l("div", {
31
+ className: "grid gap-4 md:grid-cols-2 lg:grid-cols-4",
32
+ children: [
33
+ /* @__PURE__ */ l(f, { children: [/* @__PURE__ */ l(m, {
34
+ className: "flex flex-row items-center justify-between space-y-0 pb-2",
35
+ children: [/* @__PURE__ */ c(h, {
36
+ className: "text-sm font-medium",
37
+ children: x("theglobalfuel.marketplace.stats.productsListed", "Products Listed")
38
+ }), /* @__PURE__ */ c(i, { className: "h-4 w-4 text-blue-600" })]
39
+ }), /* @__PURE__ */ l(p, { children: [/* @__PURE__ */ c("div", {
40
+ className: "text-2xl font-bold",
41
+ children: S.length
42
+ }), /* @__PURE__ */ c("p", {
43
+ className: "text-xs text-muted-foreground",
44
+ children: x("theglobalfuel.marketplace.stats.productsListedHint", "Crude, refined, gas")
45
+ })] })] }),
46
+ /* @__PURE__ */ l(f, { children: [/* @__PURE__ */ l(m, {
47
+ className: "flex flex-row items-center justify-between space-y-0 pb-2",
48
+ children: [/* @__PURE__ */ c(h, {
49
+ className: "text-sm font-medium",
50
+ children: x("theglobalfuel.marketplace.stats.totalInventory", "Total Inventory")
51
+ }), /* @__PURE__ */ c(r, { className: "h-4 w-4 text-amber-600" })]
52
+ }), /* @__PURE__ */ l(p, { children: [/* @__PURE__ */ l("div", {
53
+ className: "text-2xl font-bold",
54
+ children: [(C / 1e6).toFixed(1), "M bbl"]
55
+ }), /* @__PURE__ */ c("p", {
56
+ className: "text-xs text-muted-foreground",
57
+ children: x("theglobalfuel.marketplace.stats.totalInventoryHint", "Available volume")
58
+ })] })] }),
59
+ /* @__PURE__ */ l(f, { children: [/* @__PURE__ */ l(m, {
60
+ className: "flex flex-row items-center justify-between space-y-0 pb-2",
61
+ children: [/* @__PURE__ */ c(h, {
62
+ className: "text-sm font-medium",
63
+ children: x("theglobalfuel.marketplace.stats.activeOrders", "Active Orders")
64
+ }), /* @__PURE__ */ c(s, { className: "h-4 w-4 text-green-600" })]
65
+ }), /* @__PURE__ */ l(p, { children: [/* @__PURE__ */ c("div", {
66
+ className: "text-2xl font-bold",
67
+ children: "47"
68
+ }), /* @__PURE__ */ c("p", {
69
+ className: "text-xs text-muted-foreground",
70
+ children: x("theglobalfuel.marketplace.stats.activeOrdersHint", "This month")
71
+ })] })] }),
72
+ /* @__PURE__ */ l(f, { children: [/* @__PURE__ */ l(m, {
73
+ className: "flex flex-row items-center justify-between space-y-0 pb-2",
74
+ children: [/* @__PURE__ */ c(h, {
75
+ className: "text-sm font-medium",
76
+ children: x("theglobalfuel.marketplace.stats.avgRating", "Avg Rating")
77
+ }), /* @__PURE__ */ c(o, { className: "h-4 w-4 text-yellow-600" })]
78
+ }), /* @__PURE__ */ l(p, { children: [/* @__PURE__ */ c("div", {
79
+ className: "text-2xl font-bold",
80
+ children: "4.8"
81
+ }), /* @__PURE__ */ c("p", {
82
+ className: "text-xs text-muted-foreground",
83
+ children: x("theglobalfuel.marketplace.stats.avgRatingHint", "Customer satisfaction")
84
+ })] })] })
85
+ ]
86
+ }),
87
+ /* @__PURE__ */ l(g, {
88
+ defaultValue: "products",
89
+ children: [
90
+ /* @__PURE__ */ l(v, { children: [/* @__PURE__ */ c(y, {
91
+ value: "products",
92
+ children: x("theglobalfuel.marketplace.tabs.products", "Products")
93
+ }), /* @__PURE__ */ c(y, {
94
+ value: "orders",
95
+ children: x("theglobalfuel.marketplace.tabs.orders", "Orders")
96
+ })] }),
97
+ /* @__PURE__ */ c(_, {
98
+ value: "products",
99
+ className: "mt-4",
100
+ children: /* @__PURE__ */ c("div", {
101
+ className: "grid gap-4 md:grid-cols-2 lg:grid-cols-3",
102
+ children: S.map((e) => /* @__PURE__ */ l(f, { children: [/* @__PURE__ */ c(m, { children: /* @__PURE__ */ c("div", {
103
+ className: "flex items-start justify-between",
104
+ children: /* @__PURE__ */ l("div", { children: [/* @__PURE__ */ c(h, {
105
+ className: "text-lg",
106
+ children: e.name
107
+ }), /* @__PURE__ */ c(u, {
108
+ variant: "outline",
109
+ className: "mt-1 text-xs",
110
+ children: e.category
111
+ })] })
112
+ }) }), /* @__PURE__ */ l(p, {
113
+ className: "space-y-3",
114
+ children: [
115
+ /* @__PURE__ */ l("div", {
116
+ className: "flex items-baseline gap-2",
117
+ children: [/* @__PURE__ */ l("span", {
118
+ className: "text-3xl font-bold text-green-600",
119
+ children: ["$", e.pricePerBarrel]
120
+ }), /* @__PURE__ */ c("span", {
121
+ className: "text-muted-foreground",
122
+ children: x("theglobalfuel.marketplace.productCard.perBarrel", "/barrel")
123
+ })]
124
+ }),
125
+ /* @__PURE__ */ l("div", {
126
+ className: "flex items-center gap-2",
127
+ children: [[...[
128
+ ,
129
+ ,
130
+ ,
131
+ ,
132
+ ,
133
+ ]].map((t, n) => /* @__PURE__ */ c(o, { className: `h-4 w-4 ${n < Math.floor(e.rating) ? "fill-yellow-500 text-yellow-500" : "text-gray-300"}` }, n)), /* @__PURE__ */ c("span", {
134
+ className: "text-sm text-muted-foreground",
135
+ children: e.rating
136
+ })]
137
+ }),
138
+ /* @__PURE__ */ l("div", {
139
+ className: "space-y-1 text-sm",
140
+ children: [
141
+ /* @__PURE__ */ l("div", {
142
+ className: "flex justify-between",
143
+ children: [/* @__PURE__ */ c("span", {
144
+ className: "text-muted-foreground",
145
+ children: x("theglobalfuel.marketplace.productCard.apiGravity", "API Gravity")
146
+ }), /* @__PURE__ */ c("span", {
147
+ className: "font-medium",
148
+ children: e.apiGravity
149
+ })]
150
+ }),
151
+ /* @__PURE__ */ l("div", {
152
+ className: "flex justify-between",
153
+ children: [/* @__PURE__ */ c("span", {
154
+ className: "text-muted-foreground",
155
+ children: x("theglobalfuel.marketplace.productCard.sulfur", "Sulfur")
156
+ }), /* @__PURE__ */ l("span", {
157
+ className: "font-medium",
158
+ children: [e.sulfurContentPct, "%"]
159
+ })]
160
+ }),
161
+ /* @__PURE__ */ l("div", {
162
+ className: "flex justify-between",
163
+ children: [/* @__PURE__ */ c("span", {
164
+ className: "text-muted-foreground",
165
+ children: x("theglobalfuel.marketplace.productCard.stock", "Stock")
166
+ }), /* @__PURE__ */ l("span", {
167
+ className: "font-medium",
168
+ children: [(e.stockBarrels / 1e6).toFixed(1), "M bbl"]
169
+ })]
170
+ }),
171
+ /* @__PURE__ */ l("div", {
172
+ className: "flex justify-between",
173
+ children: [/* @__PURE__ */ c("span", {
174
+ className: "text-muted-foreground",
175
+ children: x("theglobalfuel.marketplace.productCard.minOrder", "Min Order")
176
+ }), /* @__PURE__ */ l("span", {
177
+ className: "font-medium",
178
+ children: [e.minOrderBarrels.toLocaleString(), " bbl"]
179
+ })]
180
+ })
181
+ ]
182
+ }),
183
+ /* @__PURE__ */ c("div", {
184
+ className: "flex flex-wrap gap-1",
185
+ children: e.certifications.map((e) => /* @__PURE__ */ c(u, {
186
+ variant: "outline",
187
+ className: "text-xs",
188
+ children: e
189
+ }, e))
190
+ }),
191
+ /* @__PURE__ */ l(d, {
192
+ className: "w-full",
193
+ children: [/* @__PURE__ */ c(a, { className: "mr-2 h-4 w-4" }), x("theglobalfuel.marketplace.actions.requestQuote", "Request Quote")]
194
+ })
195
+ ]
196
+ })] }, e.id))
197
+ })
198
+ }),
199
+ /* @__PURE__ */ c(_, {
200
+ value: "orders",
201
+ className: "mt-4",
202
+ children: /* @__PURE__ */ l(f, { children: [/* @__PURE__ */ c(m, { children: /* @__PURE__ */ c(h, { children: x("theglobalfuel.marketplace.orders.title", "Recent Orders") }) }), /* @__PURE__ */ c(p, {
203
+ className: "space-y-3",
204
+ children: [
205
+ {
206
+ id: "ORD-2025-0145",
207
+ product: "WTI Crude Oil",
208
+ volume: "125,000 bbl",
209
+ total: "$9.8M",
210
+ status: "delivered"
211
+ },
212
+ {
213
+ id: "ORD-2025-0156",
214
+ product: "ULSD Diesel",
215
+ volume: "50,000 bbl",
216
+ total: "$4.9M",
217
+ status: "in-transit"
218
+ },
219
+ {
220
+ id: "ORD-2025-0162",
221
+ product: "Jet A-1",
222
+ volume: "30,000 bbl",
223
+ total: "$3.2M",
224
+ status: "processing"
225
+ }
226
+ ].map((e) => /* @__PURE__ */ l("div", {
227
+ className: "flex items-center justify-between rounded-lg border p-4",
228
+ children: [/* @__PURE__ */ l("div", { children: [/* @__PURE__ */ l("div", {
229
+ className: "mb-1 flex items-center gap-2",
230
+ children: [/* @__PURE__ */ c("p", {
231
+ className: "font-semibold",
232
+ children: e.id
233
+ }), /* @__PURE__ */ c(u, {
234
+ variant: "outline",
235
+ className: e.status === "delivered" ? "text-green-600" : e.status === "in-transit" ? "text-blue-600" : "text-amber-600",
236
+ children: w(e.status)
237
+ })]
238
+ }), /* @__PURE__ */ l("p", {
239
+ className: "text-sm text-muted-foreground",
240
+ children: [
241
+ e.product,
242
+ " · ",
243
+ e.volume
244
+ ]
245
+ })] }), /* @__PURE__ */ c("p", {
246
+ className: "text-lg font-bold text-green-600",
247
+ children: e.total
248
+ })]
249
+ }, e.id))
250
+ })] })
251
+ })
252
+ ]
253
+ })
254
+ ]
255
+ });
256
+ }
257
+ //#endregion
258
+ export { b as MarketplacePage };
259
+
260
+ //# sourceMappingURL=MarketplacePage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MarketplacePage.js","names":[],"sources":["../../../src/theglobalfuel/pages/MarketplacePage.tsx"],"sourcesContent":["import { useI18n } from '@burdenoff/fe-libs/shared/providers/shell/I18nProvider';\nimport {\n Card,\n CardContent,\n CardHeader,\n CardTitle,\n Badge,\n Button,\n Tabs,\n TabsList,\n TabsTrigger,\n TabsContent,\n} from '@burdenoff/fe-libs/ui';\nimport { ShoppingCart, Package, Star, TrendingUp, Fuel } from 'lucide-react';\nimport { useTheGlobalFuelStore } from '../store/theglobalfuelStore';\nimport { tWithFallback } from '../utils/i18n';\n\nexport function MarketplacePage() {\n const { t } = useI18n();\n const tr = (key: string, fallback: string, params?: Record<string, string | number>): string =>\n tWithFallback(t, key, fallback, params);\n const { marketplace } = useTheGlobalFuelStore();\n const totalStock = marketplace.reduce((a, p) => a + p.stockBarrels, 0);\n\n const orderStatusLabel = (status: string): string => {\n switch (status) {\n case 'delivered':\n return tr('theglobalfuel.marketplace.orders.status.delivered', 'delivered');\n case 'in-transit':\n return tr('theglobalfuel.marketplace.orders.status.inTransit', 'in-transit');\n case 'processing':\n return tr('theglobalfuel.marketplace.orders.status.processing', 'processing');\n default:\n return status;\n }\n };\n\n return (\n <div className=\"space-y-6 p-6\">\n <div className=\"flex items-center justify-between\">\n <div>\n <h1 className=\"flex items-center gap-2 text-2xl font-semibold\">\n <ShoppingCart className=\"h-7 w-7 text-green-600\" />\n {tr('theglobalfuel.marketplace.title', 'Energy Marketplace')}\n </h1>\n <p className=\"mt-1 text-sm text-muted-foreground\">\n {tr(\n 'theglobalfuel.marketplace.description',\n 'Crude oil, refined products, and natural gas trading platform'\n )}\n </p>\n </div>\n <Button>\n <ShoppingCart className=\"mr-2 h-4 w-4\" />\n {tr('theglobalfuel.marketplace.actions.requestQuote', 'Request Quote')}\n </Button>\n </div>\n <div className=\"grid gap-4 md:grid-cols-2 lg:grid-cols-4\">\n <Card>\n <CardHeader className=\"flex flex-row items-center justify-between space-y-0 pb-2\">\n <CardTitle className=\"text-sm font-medium\">\n {tr('theglobalfuel.marketplace.stats.productsListed', 'Products Listed')}\n </CardTitle>\n <Package className=\"h-4 w-4 text-blue-600\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold\">{marketplace.length}</div>\n <p className=\"text-xs text-muted-foreground\">\n {tr('theglobalfuel.marketplace.stats.productsListedHint', 'Crude, refined, gas')}\n </p>\n </CardContent>\n </Card>\n <Card>\n <CardHeader className=\"flex flex-row items-center justify-between space-y-0 pb-2\">\n <CardTitle className=\"text-sm font-medium\">\n {tr('theglobalfuel.marketplace.stats.totalInventory', 'Total Inventory')}\n </CardTitle>\n <Fuel className=\"h-4 w-4 text-amber-600\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold\">{(totalStock / 1e6).toFixed(1)}M bbl</div>\n <p className=\"text-xs text-muted-foreground\">\n {tr('theglobalfuel.marketplace.stats.totalInventoryHint', 'Available volume')}\n </p>\n </CardContent>\n </Card>\n <Card>\n <CardHeader className=\"flex flex-row items-center justify-between space-y-0 pb-2\">\n <CardTitle className=\"text-sm font-medium\">\n {tr('theglobalfuel.marketplace.stats.activeOrders', 'Active Orders')}\n </CardTitle>\n <TrendingUp className=\"h-4 w-4 text-green-600\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold\">47</div>\n <p className=\"text-xs text-muted-foreground\">\n {tr('theglobalfuel.marketplace.stats.activeOrdersHint', 'This month')}\n </p>\n </CardContent>\n </Card>\n <Card>\n <CardHeader className=\"flex flex-row items-center justify-between space-y-0 pb-2\">\n <CardTitle className=\"text-sm font-medium\">\n {tr('theglobalfuel.marketplace.stats.avgRating', 'Avg Rating')}\n </CardTitle>\n <Star className=\"h-4 w-4 text-yellow-600\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold\">4.8</div>\n <p className=\"text-xs text-muted-foreground\">\n {tr('theglobalfuel.marketplace.stats.avgRatingHint', 'Customer satisfaction')}\n </p>\n </CardContent>\n </Card>\n </div>\n <Tabs defaultValue=\"products\">\n <TabsList>\n <TabsTrigger value=\"products\">\n {tr('theglobalfuel.marketplace.tabs.products', 'Products')}\n </TabsTrigger>\n <TabsTrigger value=\"orders\">\n {tr('theglobalfuel.marketplace.tabs.orders', 'Orders')}\n </TabsTrigger>\n </TabsList>\n <TabsContent value=\"products\" className=\"mt-4\">\n <div className=\"grid gap-4 md:grid-cols-2 lg:grid-cols-3\">\n {marketplace.map((product) => (\n <Card key={product.id}>\n <CardHeader>\n <div className=\"flex items-start justify-between\">\n <div>\n <CardTitle className=\"text-lg\">{product.name}</CardTitle>\n <Badge variant=\"outline\" className=\"mt-1 text-xs\">\n {product.category}\n </Badge>\n </div>\n </div>\n </CardHeader>\n <CardContent className=\"space-y-3\">\n <div className=\"flex items-baseline gap-2\">\n <span className=\"text-3xl font-bold text-green-600\">\n ${product.pricePerBarrel}\n </span>\n <span className=\"text-muted-foreground\">\n {tr('theglobalfuel.marketplace.productCard.perBarrel', '/barrel')}\n </span>\n </div>\n <div className=\"flex items-center gap-2\">\n {[...Array(5)].map((_, i) => (\n <Star\n key={i}\n className={`h-4 w-4 ${i < Math.floor(product.rating) ? 'fill-yellow-500 text-yellow-500' : 'text-gray-300'}`}\n />\n ))}\n <span className=\"text-sm text-muted-foreground\">{product.rating}</span>\n </div>\n <div className=\"space-y-1 text-sm\">\n <div className=\"flex justify-between\">\n <span className=\"text-muted-foreground\">\n {tr('theglobalfuel.marketplace.productCard.apiGravity', 'API Gravity')}\n </span>\n <span className=\"font-medium\">{product.apiGravity}</span>\n </div>\n <div className=\"flex justify-between\">\n <span className=\"text-muted-foreground\">\n {tr('theglobalfuel.marketplace.productCard.sulfur', 'Sulfur')}\n </span>\n <span className=\"font-medium\">{product.sulfurContentPct}%</span>\n </div>\n <div className=\"flex justify-between\">\n <span className=\"text-muted-foreground\">\n {tr('theglobalfuel.marketplace.productCard.stock', 'Stock')}\n </span>\n <span className=\"font-medium\">\n {(product.stockBarrels / 1e6).toFixed(1)}M bbl\n </span>\n </div>\n <div className=\"flex justify-between\">\n <span className=\"text-muted-foreground\">\n {tr('theglobalfuel.marketplace.productCard.minOrder', 'Min Order')}\n </span>\n <span className=\"font-medium\">\n {product.minOrderBarrels.toLocaleString()} bbl\n </span>\n </div>\n </div>\n <div className=\"flex flex-wrap gap-1\">\n {product.certifications.map((c) => (\n <Badge key={c} variant=\"outline\" className=\"text-xs\">\n {c}\n </Badge>\n ))}\n </div>\n <Button className=\"w-full\">\n <ShoppingCart className=\"mr-2 h-4 w-4\" />\n {tr('theglobalfuel.marketplace.actions.requestQuote', 'Request Quote')}\n </Button>\n </CardContent>\n </Card>\n ))}\n </div>\n </TabsContent>\n <TabsContent value=\"orders\" className=\"mt-4\">\n <Card>\n <CardHeader>\n <CardTitle>{tr('theglobalfuel.marketplace.orders.title', 'Recent Orders')}</CardTitle>\n </CardHeader>\n <CardContent className=\"space-y-3\">\n {[\n {\n id: 'ORD-2025-0145',\n product: 'WTI Crude Oil',\n volume: '125,000 bbl',\n total: '$9.8M',\n status: 'delivered',\n },\n {\n id: 'ORD-2025-0156',\n product: 'ULSD Diesel',\n volume: '50,000 bbl',\n total: '$4.9M',\n status: 'in-transit',\n },\n {\n id: 'ORD-2025-0162',\n product: 'Jet A-1',\n volume: '30,000 bbl',\n total: '$3.2M',\n status: 'processing',\n },\n ].map((o) => (\n <div key={o.id} className=\"flex items-center justify-between rounded-lg border p-4\">\n <div>\n <div className=\"mb-1 flex items-center gap-2\">\n <p className=\"font-semibold\">{o.id}</p>\n <Badge\n variant=\"outline\"\n className={\n o.status === 'delivered'\n ? 'text-green-600'\n : o.status === 'in-transit'\n ? 'text-blue-600'\n : 'text-amber-600'\n }\n >\n {orderStatusLabel(o.status)}\n </Badge>\n </div>\n <p className=\"text-sm text-muted-foreground\">\n {o.product} &middot; {o.volume}\n </p>\n </div>\n <p className=\"text-lg font-bold text-green-600\">{o.total}</p>\n </div>\n ))}\n </CardContent>\n </Card>\n </TabsContent>\n </Tabs>\n </div>\n );\n}\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function OperationsPage(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=OperationsPage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OperationsPage.d.ts","sourceRoot":"","sources":["../../../src/theglobalfuel/pages/OperationsPage.tsx"],"names":[],"mappings":"AAiBA,wBAAgB,cAAc,4CAqO7B"}