Skip to content

Commit 6d7f4a2

Browse files
🐛 Fix: prevent rendering tooltip for add someday btn when dragging someday event (#528)
* chore(web): extract add someday event btn into dedicated component * fix(web): prevent rendering tooltip for add someday btn when dragging someday event
1 parent 8d74f73 commit 6d7f4a2

File tree

2 files changed

+34
-17
lines changed

2 files changed

+34
-17
lines changed
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import React from "react";
2+
import { Text } from "@web/components/Text";
3+
import { EventPlaceholder } from "@web/views/Calendar/components/Sidebar/styled";
4+
5+
export const AddSomedayEvent = () => {
6+
return (
7+
<EventPlaceholder>
8+
<Text size="l">+</Text>
9+
</EventPlaceholder>
10+
);
11+
};

packages/web/src/views/Calendar/components/Sidebar/SomedayTab/SomedayEvents/SomedayEventsContainer/SomedayEventsContainer.tsx

Lines changed: 23 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,14 @@ import {
66
COLUMN_WEEK,
77
ID_SOMEDAY_DRAFT,
88
} from "@web/common/constants/web.constants";
9-
import { Text } from "@web/components/Text";
109
import { TooltipWrapper } from "@web/components/Tooltip/TooltipWrapper";
1110
import { selectDraftCategory } from "@web/ducks/events/selectors/draft.selectors";
1211
import { useAppSelector } from "@web/store/store.hooks";
1312
import { useSidebarContext } from "@web/views/Calendar/components/Draft/sidebar/context/useSidebarContext";
1413
import { State_Sidebar } from "@web/views/Calendar/components/Draft/sidebar/hooks/useSidebarState";
15-
import { EventPlaceholder } from "../../../styled";
1614
import { DraggableSomedayEvent } from "../DraggableSomedayEvent/DraggableSomedayEvent";
1715
import { DraggableSomedayEvents } from "../DraggableSomedayEvent/DraggableSomedayEvents";
16+
import { AddSomedayEvent } from "./AddSomedayEvent";
1817
import { DropZone } from "./Dropzone";
1918

2019
const getSomedayEvents = (
@@ -55,6 +54,23 @@ export const SomedayEventsContainer: FC<Props> = ({
5554
const isDraftingThisCategory =
5655
state.isDraftingNew && category === draftCategory;
5756

57+
// Render add someday event tooltip
58+
const renderWithTooltip = (children: React.ReactNode) => {
59+
return (
60+
<TooltipWrapper
61+
description={
62+
category === Categories_Event.SOMEDAY_MONTH
63+
? "Add to month"
64+
: "Add to week"
65+
}
66+
onClick={() => onPlaceholderClick(category)}
67+
shortcut={category === Categories_Event.SOMEDAY_MONTH ? "M" : "W"}
68+
>
69+
{children}
70+
</TooltipWrapper>
71+
);
72+
};
73+
5874
return (
5975
<>
6076
<Droppable droppableId={column.id}>
@@ -79,21 +95,11 @@ export const SomedayEventsContainer: FC<Props> = ({
7995

8096
{!isDraftingNew && (
8197
<div style={{ opacity: state.isDragging ? 0 : 1 }}>
82-
<TooltipWrapper
83-
description={
84-
category === Categories_Event.SOMEDAY_MONTH
85-
? "Add to month"
86-
: "Add to week"
87-
}
88-
onClick={() => onPlaceholderClick(category)}
89-
shortcut={
90-
category === Categories_Event.SOMEDAY_MONTH ? "M" : "W"
91-
}
92-
>
93-
<EventPlaceholder>
94-
<Text size="l">+</Text>
95-
</EventPlaceholder>
96-
</TooltipWrapper>
98+
{state.isDragging ? (
99+
<AddSomedayEvent />
100+
) : (
101+
renderWithTooltip(<AddSomedayEvent />)
102+
)}
97103
</div>
98104
)}
99105

0 commit comments

Comments
 (0)