@geops/rvf-mobility-web-component 0.1.117 → 0.1.118
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 +7 -0
- package/index.js +39 -39
- package/package.json +1 -1
- package/src/SituationDetails/SituationDetails.tsx +59 -35
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@geops/rvf-mobility-web-component",
|
|
3
3
|
"license": "UNLICENSED",
|
|
4
4
|
"description": "Web components for rvf in the domains of mobility and logistics.",
|
|
5
|
-
"version": "0.1.
|
|
5
|
+
"version": "0.1.118",
|
|
6
6
|
"homepage": "https://rvf-mobility-web-component.vercel.app/",
|
|
7
7
|
"type": "module",
|
|
8
8
|
"main": "index.js",
|
|
@@ -64,7 +64,9 @@ function SituationDetails({
|
|
|
64
64
|
useShortMonth?: boolean;
|
|
65
65
|
}) {
|
|
66
66
|
const { locale, t } = useI18n();
|
|
67
|
-
const [
|
|
67
|
+
const [openByPublicationId, setOpenByPublicationId] = useState<
|
|
68
|
+
Record<string, boolean>
|
|
69
|
+
>({});
|
|
68
70
|
|
|
69
71
|
if (!situation) {
|
|
70
72
|
return null;
|
|
@@ -227,50 +229,72 @@ function SituationDetails({
|
|
|
227
229
|
? toShortDate(new Date(endTime), false, true, useShortMonth)
|
|
228
230
|
: undefined;
|
|
229
231
|
|
|
230
|
-
|
|
231
|
-
<
|
|
232
|
+
const renderTimeInterval = (
|
|
233
|
+
<div
|
|
232
234
|
className={twMerge(
|
|
233
|
-
"flex
|
|
234
|
-
|
|
235
|
+
"flex-1 text-left text-sm font-bold text-balance",
|
|
236
|
+
timeIntervalClassName,
|
|
235
237
|
)}
|
|
236
238
|
key={startTime}
|
|
237
|
-
onClick={() => {
|
|
238
|
-
setIsOpen(!isOpen);
|
|
239
|
-
}}
|
|
240
|
-
tabIndex={canToggle ? 0 : -1}
|
|
241
239
|
>
|
|
242
|
-
<
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
240
|
+
<span>
|
|
241
|
+
{from && to ? `${from} – ${to}` : null}
|
|
242
|
+
{from && !to ? t("from", { from }) : null}
|
|
243
|
+
</span>
|
|
244
|
+
{hasDailyTime && (
|
|
245
|
+
<span>{` (${t("daily_from_to", {
|
|
246
|
+
from: dailyStartTime,
|
|
247
|
+
to: dailyEndTime,
|
|
248
|
+
})})`}</span>
|
|
249
|
+
)}
|
|
250
|
+
</div>
|
|
251
|
+
);
|
|
252
|
+
|
|
253
|
+
if (canToggle) {
|
|
254
|
+
return (
|
|
255
|
+
<button
|
|
256
|
+
className={"flex w-full cursor-pointer items-center"}
|
|
247
257
|
key={startTime}
|
|
258
|
+
onClick={() => {
|
|
259
|
+
if (canToggle) {
|
|
260
|
+
setOpenByPublicationId({
|
|
261
|
+
...openByPublicationId,
|
|
262
|
+
[id]: !openByPublicationId[id],
|
|
263
|
+
});
|
|
264
|
+
}
|
|
265
|
+
}}
|
|
248
266
|
>
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
267
|
+
{renderTimeInterval}
|
|
268
|
+
{index == 0 && (
|
|
269
|
+
<>
|
|
270
|
+
{openByPublicationId[id] ? (
|
|
271
|
+
<ArrowUp className="text-red" />
|
|
272
|
+
) : (
|
|
273
|
+
<ArrowDown className="text-red" />
|
|
274
|
+
)}
|
|
275
|
+
</>
|
|
258
276
|
)}
|
|
277
|
+
</button>
|
|
278
|
+
);
|
|
279
|
+
} else {
|
|
280
|
+
return (
|
|
281
|
+
<div
|
|
282
|
+
className={"flex w-full items-center"}
|
|
283
|
+
key={startTime}
|
|
284
|
+
>
|
|
285
|
+
{renderTimeInterval}
|
|
259
286
|
</div>
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
{isOpen ? (
|
|
263
|
-
<ArrowUp className="text-red" />
|
|
264
|
-
) : (
|
|
265
|
-
<ArrowDown className="text-red" />
|
|
266
|
-
)}
|
|
267
|
-
</>
|
|
268
|
-
)}
|
|
269
|
-
</button>
|
|
270
|
-
);
|
|
287
|
+
);
|
|
288
|
+
}
|
|
271
289
|
},
|
|
272
290
|
)}
|
|
273
|
-
<div
|
|
291
|
+
<div
|
|
292
|
+
className={
|
|
293
|
+
!canToggle || openByPublicationId[id]
|
|
294
|
+
? "my-4 flex flex-col gap-4"
|
|
295
|
+
: "hidden"
|
|
296
|
+
}
|
|
297
|
+
>
|
|
274
298
|
{textualContent?.description && (
|
|
275
299
|
<div
|
|
276
300
|
dangerouslySetInnerHTML={{
|