* feat(#439): enrich sessions tab with dashboard features Add session stats (total/active counts), per-session source icons, active session badges, inline rename, bulk selection with toolbar, prune old sessions dialog with configurable days threshold, session prompt copy, single-session delete, and search highlighting. - SessionInfo model: add source field - New models: SessionStatsResponse, SessionRenameRequest, BulkDeleteRequest, PruneRequest, SessionPromptResponse - HermesApiService: add stats, rename, bulk delete, prune, prompt endpoints - SessionsViewModel: stats loading, bulk select, rename, delete, prune - SessionsScreen: stats row, source icons, active border, rename inline, bulk mode with animated toolbar, prune dialog, search highlight - strings.xml: new resources for all sessions UI features * fix(#439): resolve CI compile errors - Add explicit icon imports for Code, Language, Terminal - Add missing clickable import - Make highlightText non-composable by passing color params - Fix combinedClickable usage on SessionCard * fix(#439): address review findings - Remove unused background import - Add dedicated DELETE /api/sessions/{id} endpoint - Refactor deleteSession to use dedicated endpoint - Add confirmation dialogs for both single-session and bulk delete - Surface statsError in the UI when stats load fails - Add string resources for delete confirmation dialogs * fix(#439): fix delegated property smart cast errors - Capture statsError, errorMessage, sessionToDeleteConfirm in local vals before null checks to avoid 'Smart cast impossible' on delegated props * fix(#439): remove copy and rename buttons, keep delete only * fix(#439): restore CheckCircle import --------- Co-authored-by: M57 <hy4ri@users.noreply.github.com>
This commit is contained in:
1 parent
41fde55c11
commit
e2349eca22
5 files changed
+981
-77
No files matched your search
@@ -15,4 +15,28 @@ data class SessionInfo(
|
||||
val status: String?,
|
||||
val preview: String? = null,
|
||||
val started_at: Double? = null,
|
||||
val source: String? = null,
|
||||
)
|
||||
|
||||
data class SessionStatsResponse(
|
||||
val total: Int = 0,
|
||||
val active: Int = 0,
|
||||
)
|
||||
|
||||
data class SessionRenameRequest(
|
||||
val title: String,
|
||||
)
|
||||
|
||||
data class BulkDeleteRequest(
|
||||
val ids: List<String>,
|
||||
val delete_all: Boolean = false,
|
||||
)
|
||||
|
||||
data class PruneRequest(
|
||||
val days: Int,
|
||||
)
|
||||
|
||||
data class SessionPromptResponse(
|
||||
val prompt: String? = null,
|
||||
val id: String? = null,
|
||||
)
|
||||
Reference in new issue
Block a user