Skip to content

Commit 4ab9c67

Browse files
authored
feat: hide hover groups on transition (#1427)
1 parent 8a9d2a8 commit 4ab9c67

File tree

2 files changed

+64
-60
lines changed

2 files changed

+64
-60
lines changed

src/components/NotificationRow.tsx

Lines changed: 30 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -124,34 +124,36 @@ export const NotificationRow: FC<INotificationRow> = ({
124124
<NotificationFooter notification={notification} />
125125
</div>
126126

127-
<HoverGroup>
128-
<InteractionButton
129-
title="Mark as Done"
130-
icon={CheckIcon}
131-
size={Size.MEDIUM}
132-
onClick={() => {
133-
setAnimateExit(!settings.delayNotificationState);
134-
setShowAsRead(settings.delayNotificationState);
135-
markNotificationDone(notification);
136-
}}
137-
/>
138-
<InteractionButton
139-
title="Mark as Read"
140-
icon={ReadIcon}
141-
size={Size.SMALL}
142-
onClick={() => {
143-
setAnimateExit(!settings.delayNotificationState);
144-
setShowAsRead(settings.delayNotificationState);
145-
markNotificationRead(notification);
146-
}}
147-
/>
148-
<InteractionButton
149-
title="Unsubscribe from Thread"
150-
icon={BellSlashIcon}
151-
size={Size.SMALL}
152-
onClick={unsubscribeFromThread}
153-
/>
154-
</HoverGroup>
127+
{!animateExit && (
128+
<HoverGroup>
129+
<InteractionButton
130+
title="Mark as Done"
131+
icon={CheckIcon}
132+
size={Size.MEDIUM}
133+
onClick={() => {
134+
setAnimateExit(!settings.delayNotificationState);
135+
setShowAsRead(settings.delayNotificationState);
136+
markNotificationDone(notification);
137+
}}
138+
/>
139+
<InteractionButton
140+
title="Mark as Read"
141+
icon={ReadIcon}
142+
size={Size.SMALL}
143+
onClick={() => {
144+
setAnimateExit(!settings.delayNotificationState);
145+
setShowAsRead(settings.delayNotificationState);
146+
markNotificationRead(notification);
147+
}}
148+
/>
149+
<InteractionButton
150+
title="Unsubscribe from Thread"
151+
icon={BellSlashIcon}
152+
size={Size.SMALL}
153+
onClick={unsubscribeFromThread}
154+
/>
155+
</HoverGroup>
156+
)}
155157
</div>
156158
);
157159
};

src/components/RepositoryNotifications.tsx

Lines changed: 34 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -78,38 +78,40 @@ export const RepositoryNotifications: FC<IRepositoryNotifications> = ({
7878
</span>
7979
</div>
8080

81-
<HoverGroup>
82-
<InteractionButton
83-
title="Mark Repository as Done"
84-
icon={CheckIcon}
85-
size={Size.MEDIUM}
86-
onClick={(event: MouseEvent<HTMLElement>) => {
87-
// Don't trigger onClick of parent element.
88-
event.stopPropagation();
89-
setAnimateExit(!settings.delayNotificationState);
90-
setShowAsRead(settings.delayNotificationState);
91-
markRepoNotificationsDone(repoNotifications[0]);
92-
}}
93-
/>
94-
<InteractionButton
95-
title="Mark Repository as Read"
96-
icon={ReadIcon}
97-
size={Size.SMALL}
98-
onClick={(event: MouseEvent<HTMLElement>) => {
99-
// Don't trigger onClick of parent element.
100-
event.stopPropagation();
101-
setAnimateExit(!settings.delayNotificationState);
102-
setShowAsRead(settings.delayNotificationState);
103-
markRepoNotificationsRead(repoNotifications[0]);
104-
}}
105-
/>
106-
<InteractionButton
107-
title={toggleRepositoryNotificationsLabel}
108-
icon={ChevronIcon}
109-
size={Size.SMALL}
110-
onClick={toggleRepositoryNotifications}
111-
/>
112-
</HoverGroup>
81+
{!animateExit && (
82+
<HoverGroup>
83+
<InteractionButton
84+
title="Mark Repository as Done"
85+
icon={CheckIcon}
86+
size={Size.MEDIUM}
87+
onClick={(event: MouseEvent<HTMLElement>) => {
88+
// Don't trigger onClick of parent element.
89+
event.stopPropagation();
90+
setAnimateExit(!settings.delayNotificationState);
91+
setShowAsRead(settings.delayNotificationState);
92+
markRepoNotificationsDone(repoNotifications[0]);
93+
}}
94+
/>
95+
<InteractionButton
96+
title="Mark Repository as Read"
97+
icon={ReadIcon}
98+
size={Size.SMALL}
99+
onClick={(event: MouseEvent<HTMLElement>) => {
100+
// Don't trigger onClick of parent element.
101+
event.stopPropagation();
102+
setAnimateExit(!settings.delayNotificationState);
103+
setShowAsRead(settings.delayNotificationState);
104+
markRepoNotificationsRead(repoNotifications[0]);
105+
}}
106+
/>
107+
<InteractionButton
108+
title={toggleRepositoryNotificationsLabel}
109+
icon={ChevronIcon}
110+
size={Size.SMALL}
111+
onClick={toggleRepositoryNotifications}
112+
/>
113+
</HoverGroup>
114+
)}
113115
</div>
114116

115117
{showRepositoryNotifications &&

0 commit comments

Comments
 (0)