fix(frontend): use-tooltip の呼び出し元の UI が無くなったら自動的に削除されるようにする (#11949)
* Update use-tooltip.ts * Update CHANGELOG.md
This commit is contained in:
parent
6840434661
commit
e00fdc2d59
|
@ -20,6 +20,7 @@
|
||||||
- Enhance: AiScriptでホストのアドレスを参照する定数`SERVER_URL`を追加
|
- Enhance: AiScriptでホストのアドレスを参照する定数`SERVER_URL`を追加
|
||||||
- Enhance: モデレーションログ機能の強化
|
- Enhance: モデレーションログ機能の強化
|
||||||
- Enhance: ローカリゼーションの更新
|
- Enhance: ローカリゼーションの更新
|
||||||
|
- Fix: リアクションしたユーザ一覧のUIが稀に左上に残ってしまう不具合を修正
|
||||||
|
|
||||||
### Server
|
### Server
|
||||||
- Fix: Redisに古いバージョンのキャッシュが残っている場合、キャッシュが消えるまでの間通知が届かなくなる問題を修正
|
- Fix: Redisに古いバージョンのキャッシュが残っている場合、キャッシュが消えるまでの間通知が届かなくなる問題を修正
|
||||||
|
|
|
@ -21,6 +21,8 @@ export function useTooltip(
|
||||||
|
|
||||||
let changeShowingState: (() => void) | null;
|
let changeShowingState: (() => void) | null;
|
||||||
|
|
||||||
|
let autoHidingTimer;
|
||||||
|
|
||||||
const open = () => {
|
const open = () => {
|
||||||
close();
|
close();
|
||||||
if (!isHovering) return;
|
if (!isHovering) return;
|
||||||
|
@ -33,6 +35,16 @@ export function useTooltip(
|
||||||
changeShowingState = () => {
|
changeShowingState = () => {
|
||||||
showing.value = false;
|
showing.value = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
autoHidingTimer = window.setInterval(() => {
|
||||||
|
if (!document.body.contains(elRef.value)) {
|
||||||
|
if (!isHovering) return;
|
||||||
|
isHovering = false;
|
||||||
|
window.clearTimeout(timeoutId);
|
||||||
|
close();
|
||||||
|
window.clearInterval(autoHidingTimer);
|
||||||
|
}
|
||||||
|
}, 1000);
|
||||||
};
|
};
|
||||||
|
|
||||||
const close = () => {
|
const close = () => {
|
||||||
|
@ -53,6 +65,7 @@ export function useTooltip(
|
||||||
if (!isHovering) return;
|
if (!isHovering) return;
|
||||||
isHovering = false;
|
isHovering = false;
|
||||||
window.clearTimeout(timeoutId);
|
window.clearTimeout(timeoutId);
|
||||||
|
window.clearInterval(autoHidingTimer);
|
||||||
close();
|
close();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -67,6 +80,7 @@ export function useTooltip(
|
||||||
if (!isHovering) return;
|
if (!isHovering) return;
|
||||||
isHovering = false;
|
isHovering = false;
|
||||||
window.clearTimeout(timeoutId);
|
window.clearTimeout(timeoutId);
|
||||||
|
window.clearInterval(autoHidingTimer);
|
||||||
close();
|
close();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue