Skip to content

Commit d5eaef4

Browse files
committed
微修正
1 parent dcdfa0b commit d5eaef4

File tree

2 files changed

+13
-14
lines changed

2 files changed

+13
-14
lines changed

src/cart/Cart.tsx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ interface CartItem {
1212

1313
const Cart = () => {
1414
const [cartItems, setCartItems] = useState<CartItem[]>([]);
15-
// const cartRef = useRef<HTMLButtonElement>(null);
1615
const dropdownRef = useRef<HTMLDivElement>(null);
1716

1817
/**
@@ -53,7 +52,7 @@ const Cart = () => {
5352
);
5453

5554
const cartRef = useCallback(
56-
(element: HTMLDivElement) => {
55+
(element: HTMLButtonElement | null) => {
5756
if (!element) {
5857
return;
5958
}

src/fetch/index.ts

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import type { InterestEvent } from "../types";
22

3-
let showPreview = false;
3+
let isWaiting = false;
44

55
const previewElement = document.querySelector<HTMLElement>(".preview");
66
const previewImageElement = previewElement?.querySelector<HTMLImageElement>(".ogpImage");
@@ -16,10 +16,9 @@ previewElement?.addEventListener("interest", async (event: InterestEvent) => {
1616
if (previewElement) {
1717
previewElement.style.positionAnchor = sourceElement.style.anchorName;
1818
}
19-
19+
isWaiting = false;
2020
const response = await fetch(url);
2121
const html = await response.text();
22-
showPreview = true;
2322

2423
// DOMParserでHTMLをパース
2524
const parser = new DOMParser();
@@ -49,18 +48,19 @@ previewElement?.addEventListener("interest", async (event: InterestEvent) => {
4948

5049
previewElement?.addEventListener("loseinterest", async () => {
5150
if (previewElement && previewImageElement && previewTitleElement && previewDescriptionElement) {
51+
isWaiting = true;
5252
// アニメーションを待つために250ms待つ
5353
await new Promise((resolve) => setTimeout(resolve, 250));
54-
if (showPreview) {
55-
return; // プレビューが表示されている場合は何もしない
56-
}
57-
// データをクリア
58-
previewImageElement.src = "";
59-
previewTitleElement.textContent = "";
60-
previewDescriptionElement.textContent = "";
54+
6155
// プレビューを非表示
62-
previewElement?.hidePopover?.();
63-
showPreview = false;
56+
if (isWaiting) {
57+
// データをクリア
58+
previewImageElement.src = "";
59+
previewTitleElement.textContent = "";
60+
previewDescriptionElement.textContent = "";
61+
previewElement?.hidePopover?.();
62+
isWaiting = false;
63+
}
6464
}
6565
});
6666

0 commit comments

Comments
 (0)