mirror of
https://github.com/siteboon/claudecodeui.git
synced 2026-06-10 07:35:56 +08:00
fix: address notification review feedback
This commit is contained in:
@@ -94,15 +94,33 @@
|
||||
"git": "Git",
|
||||
"apiTokens": "API & Token",
|
||||
"tasks": "Aufgaben",
|
||||
"notifications": "Benachrichtigungen",
|
||||
"plugins": "Plugins",
|
||||
"about": "Info"
|
||||
},
|
||||
"notifications": {
|
||||
"title": "Benachrichtigungen",
|
||||
"description": "Lege fest, welche Benachrichtigungen du erhältst.",
|
||||
"webPush": {
|
||||
"title": "Web-Push-Benachrichtigungen",
|
||||
"enable": "Push-Benachrichtigungen aktivieren",
|
||||
"disable": "Push-Benachrichtigungen deaktivieren",
|
||||
"enabled": "Push-Benachrichtigungen sind aktiviert",
|
||||
"loading": "Wird aktualisiert...",
|
||||
"unsupported": "Push-Benachrichtigungen werden in diesem Browser nicht unterstützt.",
|
||||
"denied": "Push-Benachrichtigungen sind blockiert. Bitte erlaube sie in den Browsereinstellungen."
|
||||
},
|
||||
"sound": {
|
||||
"title": "Ton",
|
||||
"description": "Spielt einen kurzen Ton ab, wenn ein Chat-Lauf abgeschlossen ist.",
|
||||
"enabled": "Aktiviert",
|
||||
"test": "Ton testen"
|
||||
},
|
||||
"events": {
|
||||
"title": "Ereignistypen",
|
||||
"actionRequired": "Aktion erforderlich",
|
||||
"stop": "Lauf gestoppt",
|
||||
"error": "Lauf fehlgeschlagen"
|
||||
}
|
||||
},
|
||||
"appearanceSettings": {
|
||||
|
||||
@@ -94,15 +94,33 @@
|
||||
"git": "Git",
|
||||
"apiTokens": "API и токены",
|
||||
"tasks": "Задачи",
|
||||
"notifications": "Уведомления",
|
||||
"plugins": "Плагины",
|
||||
"about": "О программе"
|
||||
},
|
||||
"notifications": {
|
||||
"title": "Уведомления",
|
||||
"description": "Управляйте тем, какие события уведомлений вы получаете.",
|
||||
"webPush": {
|
||||
"title": "Web Push уведомления",
|
||||
"enable": "Включить Push уведомления",
|
||||
"disable": "Отключить Push уведомления",
|
||||
"enabled": "Push уведомления включены",
|
||||
"loading": "Обновление...",
|
||||
"unsupported": "Push уведомления не поддерживаются в этом браузере.",
|
||||
"denied": "Push уведомления заблокированы. Разрешите их в настройках браузера."
|
||||
},
|
||||
"sound": {
|
||||
"title": "Звук",
|
||||
"description": "Воспроизводить короткий сигнал при завершении запуска чата.",
|
||||
"enabled": "Включено",
|
||||
"test": "Проверить звук"
|
||||
},
|
||||
"events": {
|
||||
"title": "Типы событий",
|
||||
"actionRequired": "Требуется действие",
|
||||
"stop": "Запуск остановлен",
|
||||
"error": "Запуск завершился с ошибкой"
|
||||
}
|
||||
},
|
||||
"appearanceSettings": {
|
||||
|
||||
@@ -33,12 +33,17 @@ const clearTitleIndicator = (): void => {
|
||||
}
|
||||
|
||||
removeReturnListeners();
|
||||
removePageInactiveListener();
|
||||
|
||||
if (document.title.startsWith(getIndicatorPrefix())) {
|
||||
document.title = stripIndicator(document.title);
|
||||
}
|
||||
};
|
||||
|
||||
const removePageInactiveListener = (): void => {
|
||||
document.removeEventListener('visibilitychange', handlePageInactive);
|
||||
};
|
||||
|
||||
const scheduleClear = (): void => {
|
||||
if (clearTimer !== null) {
|
||||
window.clearTimeout(clearTimer);
|
||||
@@ -47,6 +52,9 @@ const scheduleClear = (): void => {
|
||||
clearTimer = window.setTimeout(() => {
|
||||
clearTitleIndicator();
|
||||
}, TITLE_INDICATOR_CLEAR_DELAY_MS);
|
||||
|
||||
removePageInactiveListener();
|
||||
document.addEventListener('visibilitychange', handlePageInactive, { once: true });
|
||||
};
|
||||
|
||||
function handleUserReturn(): void {
|
||||
@@ -59,6 +67,24 @@ function handleUserReturn(): void {
|
||||
scheduleClear();
|
||||
}
|
||||
|
||||
function handlePageInactive(): void {
|
||||
if (document.visibilityState !== 'hidden') {
|
||||
return;
|
||||
}
|
||||
|
||||
if (clearTimer !== null) {
|
||||
window.clearTimeout(clearTimer);
|
||||
clearTimer = null;
|
||||
}
|
||||
|
||||
if (!returnListenersAttached) {
|
||||
document.addEventListener('visibilitychange', handleUserReturn);
|
||||
window.addEventListener('focus', handleUserReturn, true);
|
||||
window.addEventListener('click', handleUserReturn, true);
|
||||
returnListenersAttached = true;
|
||||
}
|
||||
}
|
||||
|
||||
export const showCompletionTitleIndicator = (): void => {
|
||||
if (typeof document === 'undefined' || typeof window === 'undefined') {
|
||||
return;
|
||||
|
||||
Reference in New Issue
Block a user