diff --git a/src/components/OrbitQueueHead.tsx b/src/components/OrbitQueueHead.tsx
index 527f24aa..da8f6a85 100644
--- a/src/components/OrbitQueueHead.tsx
+++ b/src/components/OrbitQueueHead.tsx
@@ -1,5 +1,5 @@
import { useEffect, useState } from 'react';
-import { Users, WifiOff } from 'lucide-react';
+import { Users, Wifi, WifiOff } from 'lucide-react';
import { useTranslation } from 'react-i18next';
import { useOrbitStore } from '../store/orbitStore';
import type { OrbitState } from '../api/orbit';
@@ -34,18 +34,20 @@ export default function OrbitQueueHead({ state }: Props) {
}, [role]);
const names = [state.host, ...state.participants.map(p => p.user)];
- const hostAway = role === 'guest'
- && state.positionAt > 0
- && (nowMs - state.positionAt) > HOST_AWAY_THRESHOLD_MS;
+ const showPresence = role === 'guest' && state.positionAt > 0;
+ const hostAway = showPresence && (nowMs - state.positionAt) > HOST_AWAY_THRESHOLD_MS;
return (
{state.name}
- {hostAway && (
-
-
- {t('orbit.hostAway')}
+ {showPresence && (
+
+ {hostAway ? : }
+ {t(hostAway ? 'orbit.hostAway' : 'orbit.hostOnline')}
)}
diff --git a/src/locales/de.ts b/src/locales/de.ts
index 6dd86142..a08dd7e3 100644
--- a/src/locales/de.ts
+++ b/src/locales/de.ts
@@ -1485,6 +1485,7 @@ export const deTranslation = {
catchUpLabel: 'aufholen',
catchUpTooltip: 'Zur aktuellen Host-Position springen',
hostAway: 'Host offline',
+ hostOnline: 'Host online',
endTooltip: 'Session beenden',
leaveTooltip: 'Session verlassen',
participantsInviteLabel: 'Einladungslink',
diff --git a/src/locales/en.ts b/src/locales/en.ts
index f829e721..6a8b5de4 100644
--- a/src/locales/en.ts
+++ b/src/locales/en.ts
@@ -1488,6 +1488,7 @@ export const enTranslation = {
catchUpLabel: 'catch up',
catchUpTooltip: "Jump to the host's current position",
hostAway: 'Host offline',
+ hostOnline: 'Host online',
endTooltip: 'End session',
leaveTooltip: 'Leave session',
participantsInviteLabel: 'Invite link',
diff --git a/src/styles/components.css b/src/styles/components.css
index abae11ea..90ade391 100644
--- a/src/styles/components.css
+++ b/src/styles/components.css
@@ -12299,12 +12299,24 @@ html[data-psy-native-hidden="true"] *::after {
font-size: 10.5px;
font-weight: 600;
letter-spacing: 0.02em;
+ border-radius: 999px;
+ border-width: 1px;
+ border-style: solid;
+}
+.orbit-queue-head__presence--online {
+ color: var(--ctp-green, #a6e3a1);
+ background: color-mix(in srgb, var(--ctp-green, #a6e3a1) 14%, transparent);
+ border-color: color-mix(in srgb, var(--ctp-green, #a6e3a1) 40%, transparent);
+}
+.orbit-queue-head__presence--online svg {
+ color: var(--ctp-green, #a6e3a1);
+}
+.orbit-queue-head__presence--away {
color: var(--ctp-yellow, #f9e2af);
background: color-mix(in srgb, var(--ctp-yellow, #f9e2af) 14%, transparent);
- border: 1px solid color-mix(in srgb, var(--ctp-yellow, #f9e2af) 40%, transparent);
- border-radius: 999px;
+ border-color: color-mix(in srgb, var(--ctp-yellow, #f9e2af) 40%, transparent);
}
-.orbit-queue-head__presence svg {
+.orbit-queue-head__presence--away svg {
color: var(--ctp-yellow, #f9e2af);
}
.orbit-queue-head__meta {