@eclass/ui-kit 1.58.1 → 1.58.3
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/dist/eclass-ui-kit.es.js +44 -11
- package/dist/eclass-ui-kit.es.js.map +1 -1
- package/dist/eclass-ui-kit.umd.js +30 -30
- package/dist/eclass-ui-kit.umd.js.map +1 -1
- package/dist/organisms/Calendar/Dropdown/CalendarDropdown/services/parseEvents.d.ts.map +1 -1
- package/dist/organisms/Calendar/EventsList/EventsList.d.ts.map +1 -1
- package/dist/tsconfig.types.tsbuildinfo +1 -1
- package/package.json +1 -1
package/dist/eclass-ui-kit.es.js
CHANGED
|
@@ -9602,6 +9602,38 @@ function validateTimezone(_hours, minutes) {
|
|
|
9602
9602
|
const STORAGE_TODAY_EVENT = "todayEvents";
|
|
9603
9603
|
const STORAGE_SEEN_EVENT = "seenEvents";
|
|
9604
9604
|
const STORAGE_HAS_NEW = "hasNewEvents";
|
|
9605
|
+
const getStorage = () => {
|
|
9606
|
+
if (typeof window === "undefined")
|
|
9607
|
+
return null;
|
|
9608
|
+
try {
|
|
9609
|
+
return window.localStorage;
|
|
9610
|
+
} catch {
|
|
9611
|
+
return null;
|
|
9612
|
+
}
|
|
9613
|
+
};
|
|
9614
|
+
const readStorageArray = (key) => {
|
|
9615
|
+
const storage = getStorage();
|
|
9616
|
+
if (!storage)
|
|
9617
|
+
return [];
|
|
9618
|
+
try {
|
|
9619
|
+
const value = storage.getItem(key);
|
|
9620
|
+
if (!value)
|
|
9621
|
+
return [];
|
|
9622
|
+
const parsed = JSON.parse(value);
|
|
9623
|
+
return Array.isArray(parsed) ? parsed : [];
|
|
9624
|
+
} catch {
|
|
9625
|
+
return [];
|
|
9626
|
+
}
|
|
9627
|
+
};
|
|
9628
|
+
const writeStorageValue = (key, value) => {
|
|
9629
|
+
const storage = getStorage();
|
|
9630
|
+
if (!storage)
|
|
9631
|
+
return;
|
|
9632
|
+
try {
|
|
9633
|
+
storage.setItem(key, JSON.stringify(value));
|
|
9634
|
+
} catch {
|
|
9635
|
+
}
|
|
9636
|
+
};
|
|
9605
9637
|
const useParseEvents = (events, now) => {
|
|
9606
9638
|
const [todayEvents, setTodayEvents] = useState([]);
|
|
9607
9639
|
const [tomorrowEvents, setTomorrowEvents] = useState([]);
|
|
@@ -9609,12 +9641,11 @@ const useParseEvents = (events, now) => {
|
|
|
9609
9641
|
const [hasNew, setHasNew] = useState(false);
|
|
9610
9642
|
const [hasMoreNext, setHasMoreNext] = useState(false);
|
|
9611
9643
|
useEffect(() => {
|
|
9612
|
-
var _a, _b;
|
|
9613
9644
|
const parseNow = parseISO(now);
|
|
9614
9645
|
const today = startOfDay(parseNow);
|
|
9615
9646
|
const tomorrow = addDays(today, 1);
|
|
9616
|
-
const storedTodayEvent =
|
|
9617
|
-
const storedSeenEvent =
|
|
9647
|
+
const storedTodayEvent = readStorageArray(STORAGE_TODAY_EVENT);
|
|
9648
|
+
const storedSeenEvent = readStorageArray(STORAGE_SEEN_EVENT);
|
|
9618
9649
|
let newEvents = false;
|
|
9619
9650
|
const todayList = [];
|
|
9620
9651
|
const tomorrowList = [];
|
|
@@ -9642,20 +9673,21 @@ const useParseEvents = (events, now) => {
|
|
|
9642
9673
|
if (nextList.length > 5) {
|
|
9643
9674
|
setHasMoreNext(true);
|
|
9644
9675
|
next = next.slice(0, 5);
|
|
9676
|
+
} else {
|
|
9677
|
+
setHasMoreNext(false);
|
|
9645
9678
|
}
|
|
9646
9679
|
setNextEvents(next);
|
|
9647
9680
|
setHasNew(newEvents);
|
|
9648
|
-
|
|
9649
|
-
|
|
9681
|
+
writeStorageValue(STORAGE_TODAY_EVENT, storedTodayEvent);
|
|
9682
|
+
writeStorageValue(STORAGE_HAS_NEW, newEvents);
|
|
9650
9683
|
}, [events, now]);
|
|
9651
9684
|
const closeAndMarkSeen = () => {
|
|
9652
|
-
|
|
9653
|
-
const storedSeenEvent = JSON.parse((_a = localStorage.getItem(STORAGE_SEEN_EVENT)) != null ? _a : "[]");
|
|
9685
|
+
const storedSeenEvent = readStorageArray(STORAGE_SEEN_EVENT);
|
|
9654
9686
|
const updatedSeenEvents = Array.from(
|
|
9655
9687
|
/* @__PURE__ */ new Set([...storedSeenEvent, ...todayEvents.map((e2) => e2.id)])
|
|
9656
9688
|
);
|
|
9657
|
-
|
|
9658
|
-
|
|
9689
|
+
writeStorageValue(STORAGE_SEEN_EVENT, updatedSeenEvents);
|
|
9690
|
+
writeStorageValue(STORAGE_HAS_NEW, false);
|
|
9659
9691
|
setTimeout(() => {
|
|
9660
9692
|
setTodayEvents(todayEvents.map((el) => ({ ...el, isNew: false })));
|
|
9661
9693
|
}, 300);
|
|
@@ -10242,6 +10274,7 @@ const EventsList = ({
|
|
|
10242
10274
|
}) => {
|
|
10243
10275
|
var _a, _b;
|
|
10244
10276
|
const border = `1px solid ${(_a = vars("colors-neutral-platinum")) != null ? _a : "#E8E8E8"}`;
|
|
10277
|
+
const isClickable = Boolean(onClick);
|
|
10245
10278
|
const initOrEnd = ["end-course", "init-course", "init-course-flexible", "end-course-flexible"].includes(type);
|
|
10246
10279
|
const dateTextStyle = {
|
|
10247
10280
|
color: vars("colors-neutral-white"),
|
|
@@ -10259,11 +10292,11 @@ const EventsList = ({
|
|
|
10259
10292
|
return /* @__PURE__ */ jsxs(Box, {
|
|
10260
10293
|
className: "eventsList",
|
|
10261
10294
|
borderTop: border,
|
|
10262
|
-
cursor: onClick ? "pointer" : "default",
|
|
10263
|
-
p: "16px",
|
|
10264
10295
|
display: "flex",
|
|
10265
10296
|
gap: "12px",
|
|
10297
|
+
cursor: isClickable ? "pointer" : "default",
|
|
10266
10298
|
onClick,
|
|
10299
|
+
p: "16px",
|
|
10267
10300
|
children: [/* @__PURE__ */ jsxs(Box, {
|
|
10268
10301
|
bg: color,
|
|
10269
10302
|
minW: "88px",
|