feat: add Discord presence status indicator in settings

Add a visual status indicator showing:
- Online/offline status with colored dot indicator
- Last seen timestamp
- Typical wake time (if available)

The indicator now displays whenever Discord notifications are enabled,
not just when presence tracking is active.
This commit is contained in:
Chelsea
2026-02-17 04:37:13 +00:00
parent a0126d0aba
commit 596467628f

View File

@@ -527,14 +527,24 @@ export default function SettingsPage() {
</p>
)}
{adaptiveMeds.presence_tracking_enabled && presence.typical_wake_time && (
{notif.discord_enabled && (
<div className="mt-3 p-3 bg-gray-50 dark:bg-gray-700 rounded-lg">
<p className="text-sm text-gray-600 dark:text-gray-400">
Typical wake time: <span className="font-medium text-gray-900 dark:text-gray-100">{presence.typical_wake_time}</span>
</p>
<p className="text-xs text-gray-500 dark:text-gray-400 mt-1">
Status: {presence.is_online ? '🟢 Online' : 'Offline'}
</p>
<div className="flex items-center justify-between">
<div className="flex items-center gap-2">
<div className={`w-2 h-2 rounded-full ${presence.is_online ? 'bg-green-500' : 'bg-gray-400'}`} />
<span className="text-sm font-medium text-gray-700 dark:text-gray-300">
{presence.is_online ? 'Online' : 'Offline'}
</span>
</div>
<span className="text-xs text-gray-500 dark:text-gray-400">
{presence.last_online_at ? `Last seen: ${new Date(presence.last_online_at).toLocaleString()}` : 'Never seen online'}
</span>
</div>
{presence.typical_wake_time && (
<p className="text-xs text-gray-500 dark:text-gray-400 mt-2">
Typical wake time: <span className="font-medium text-gray-700 dark:text-gray-300">{presence.typical_wake_time}</span>
</p>
)}
</div>
)}
</div>