diff --git a/frontend/src/App.vue b/frontend/src/App.vue index 1897946..2be3c02 100644 --- a/frontend/src/App.vue +++ b/frontend/src/App.vue @@ -261,10 +261,16 @@ const pagedDevices = computed(() => devicesAll.value.slice(devicePage.value*page watch([devicesAll, () => layoutMode.value], () => { devicePage.value = 0; }); const sessionPage = ref(0); +const showActiveSessions = ref(true); const showStaleSessions = ref(false); +const showStoppedSessions = ref(false); const filteredSessions = computed(() => { - if (showStaleSessions.value) return sessions.value; - return sessions.value.filter(s => s.status !== 'stale'); + return sessions.value.filter(s => { + if (s.status === 'active' && !showActiveSessions.value) return false; + if (s.status === 'stale' && !showStaleSessions.value) return false; + if (s.status === 'stopped' && !showStoppedSessions.value) return false; + return true; + }); }); const pagedSessions = computed(() => filteredSessions.value.slice(sessionPage.value*pageSize, sessionPage.value*pageSize + pageSize)); watch([filteredSessions, () => layoutMode.value], () => { sessionPage.value = 0; }); @@ -544,14 +550,40 @@ async function handleUserFormSubmit(data) {