fix(frontend): use-tooltip の呼び出し元の UI が無くなったら自動的に削除されるようにする (#11949)

* Update use-tooltip.ts

* Update CHANGELOG.md
This commit is contained in:
YAVIIGI 2023-10-03 11:27:51 +09:00 committed by GitHub
parent 6840434661
commit e00fdc2d59
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 15 additions and 0 deletions

View File

@ -20,6 +20,7 @@
- Enhance: AiScriptでホストのアドレスを参照する定数`SERVER_URL`を追加 - Enhance: AiScriptでホストのアドレスを参照する定数`SERVER_URL`を追加
- Enhance: モデレーションログ機能の強化 - Enhance: モデレーションログ機能の強化
- Enhance: ローカリゼーションの更新 - Enhance: ローカリゼーションの更新
- Fix: リアクションしたユーザ一覧のUIが稀に左上に残ってしまう不具合を修正
### Server ### Server
- Fix: Redisに古いバージョンのキャッシュが残っている場合、キャッシュが消えるまでの間通知が届かなくなる問題を修正 - Fix: Redisに古いバージョンのキャッシュが残っている場合、キャッシュが消えるまでの間通知が届かなくなる問題を修正

View File

@ -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();
}; };