diff --git a/src/components/OrbitSessionBar.tsx b/src/components/OrbitSessionBar.tsx index 5c18f648..f0933b4c 100644 --- a/src/components/OrbitSessionBar.tsx +++ b/src/components/OrbitSessionBar.tsx @@ -96,10 +96,11 @@ export default function OrbitSessionBar() { }; const onExit = () => { - // Guests in an active session get a confirm — leaving is voluntary and - // a fat-finger shouldn't drop them out. Host-end and post-end/kicked - // dismissals exit immediately (the session is already over there). - if (role === 'guest' && phase === 'active') { + // Active-session exits get a confirm — guests don't want to drop out on + // a fat-finger, and the host's X ends the session for everyone, so + // accidentally clicking it is even worse. Post-end/kicked dismissals + // skip the confirm (the session is already over there). + if (phase === 'active' && (role === 'guest' || role === 'host')) { setConfirmLeave(true); return; } @@ -239,10 +240,17 @@ export default function OrbitSessionBar() { { setConfirmLeave(false); void performExit(); }} onCancel={() => setConfirmLeave(false)} /> diff --git a/src/locales/de.ts b/src/locales/de.ts index 2276c093..8bdc3275 100644 --- a/src/locales/de.ts +++ b/src/locales/de.ts @@ -1511,6 +1511,9 @@ export const deTranslation = { confirmLeaveTitle: 'Session verlassen?', confirmLeaveBody: '„{{name}}" wirklich verlassen? Du kannst jederzeit über {{host}}s Einladungslink wieder beitreten.', confirmLeaveConfirm: 'Verlassen', + confirmEndTitle: 'Session für alle beenden?', + confirmEndBody: '„{{name}}" wird für alle Teilnehmer geschlossen. Die Session-Playlists werden automatisch aufgeräumt.', + confirmEndConfirm: 'Session beenden', invalidLinkTitle: 'Einladungslink ist nicht mehr gültig', invalidLinkBody: 'Diese Orbit-Session existiert nicht mehr oder wurde bereits beendet. Bitte den Gastgeber um einen neuen Einladungslink.', settingsTitle: 'Session-Einstellungen', diff --git a/src/locales/en.ts b/src/locales/en.ts index 1a52cf12..ece1410f 100644 --- a/src/locales/en.ts +++ b/src/locales/en.ts @@ -1514,6 +1514,9 @@ export const enTranslation = { confirmLeaveTitle: 'Leave session?', confirmLeaveBody: 'Leave "{{name}}"? You can re-join via {{host}}\'s invite link any time.', confirmLeaveConfirm: 'Leave', + confirmEndTitle: 'End session for everyone?', + confirmEndBody: '"{{name}}" will close for all participants. The session\'s playlists are cleaned up automatically.', + confirmEndConfirm: 'End session', invalidLinkTitle: 'Invite link is no longer valid', invalidLinkBody: 'This Orbit session doesn\'t exist any more or has already ended. Ask the host for a fresh invite link.', settingsTitle: 'Session settings',