Skip to content

Commit c7bb28d

Browse files
fix: show hidden badge on mobile view for event types (calcom#25701)
* fix: show hidden badge on mobile view for event types * fix: update event type hidden toggle in infinite list --------- Co-authored-by: Udit Takkar <53316345+Udit-takkar@users.noreply.github.com>
1 parent 8dc8d87 commit c7bb28d

1 file changed

Lines changed: 34 additions & 6 deletions

File tree

apps/web/modules/event-types/views/event-types-listing-view.tsx

Lines changed: 34 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,7 @@ const Item = ({
174174
const parsedeventTypeColor = parseEventTypeColor(type.eventTypeColor);
175175
const eventTypeColor =
176176
parsedeventTypeColor && parsedeventTypeColor[hasDarkTheme ? "darkEventTypeColor" : "lightEventTypeColor"];
177+
const isManagedEventType = type.schedulingType === SchedulingType.MANAGED;
177178

178179
const content = () => (
179180
<div>
@@ -189,6 +190,11 @@ const Item = ({
189190
{`/${group.profile.slug}/${type.slug}`}
190191
</small>
191192
) : null}
193+
{!isManagedEventType && type.hidden && (
194+
<Badge variant="gray" className="ml-2 sm:hidden">
195+
{t("hidden")}
196+
</Badge>
197+
)}
192198
{readOnly && (
193199
<Badge variant="gray" className="ml-2" data-testid="readonly-badge">
194200
{t("readonly")}
@@ -223,6 +229,11 @@ const Item = ({
223229
{`/${group.profile.slug}/${type.slug}`}
224230
</small>
225231
) : null}
232+
{!isManagedEventType && type.hidden && (
233+
<Badge variant="gray" className="ml-2 sm:hidden">
234+
{t("hidden")}
235+
</Badge>
236+
)}
226237
{readOnly && (
227238
<Badge variant="gray" className="ml-2" data-testid="readonly-badge">
228239
{t("readonly")}
@@ -283,13 +294,30 @@ export const InfiniteEventTypeList = ({
283294
});
284295

285296
if (previousValue) {
286-
pages?.forEach((page) => {
287-
page?.eventTypes?.forEach((eventType) => {
288-
if (eventType.id === data.id) {
289-
eventType.hidden = !eventType.hidden;
297+
await utils.viewer.eventTypes.getEventTypesFromGroup.setInfiniteData(
298+
{
299+
limit: LIMIT,
300+
searchQuery: debouncedSearchTerm,
301+
group: { teamId: group?.teamId, parentId: group?.parentId },
302+
},
303+
(oldData) => {
304+
if (!oldData) {
305+
return {
306+
pages: [],
307+
pageParams: [],
308+
};
290309
}
291-
});
292-
});
310+
return {
311+
...oldData,
312+
pages: oldData.pages.map((page) => ({
313+
...page,
314+
eventTypes: page.eventTypes.map((eventType) =>
315+
eventType.id === data.id ? { ...eventType, hidden: !eventType.hidden } : eventType
316+
),
317+
})),
318+
};
319+
}
320+
);
293321
}
294322

295323
return { previousValue };

0 commit comments

Comments
 (0)