feat: recent activity card on Home and Retention card on Settings

This commit is contained in:
fsylvain committed 2026-10-07 16:01:28 +02:00
1 parent 35db442cd3
commit 43469ef08d
33 files changed
+2748 -204

No files matched your search

+5 -1
View File
@@ -31,6 +31,10 @@ export function useActivity() {
return request<ActivityPage>(`/v1/activity?${listQuery(filters, page, size, withActor)}`)
}
function listRecentActivity(size: number): Promise<ActivityPage> {
return request<ActivityPage>(`/v1/activity?size=${size}`)
}
function getSummary(filters: ActivityFilters): Promise<ActivitySummary> {
return request<ActivitySummary>(`/v1/activity/summary?${summaryQuery(filters)}`)
}
@@ -54,7 +58,7 @@ export function useActivity() {
}
}
return { listActivity, getSummary, exportActivity, listPeople }
return { listActivity, listRecentActivity, getSummary, exportActivity, listPeople }
}
export function downloadBlob(blob: Blob, fileName: string) {
+17 -2
View File
@@ -2,14 +2,29 @@ import { useApi } from '@/composables/useApi'
export interface WorkspaceSettings {
version: string
activity_retention_days: number
activity_last_cleanup_at: string | null
activity_last_cleanup_removed: number
activity_next_cleanup_at: string | null
}
const SETTINGS_PATH = '/v1/settings/'
const JSON_HEADERS = { 'Content-Type': 'application/json' }
export function useSettings() {
const { request } = useApi()
function getSettings(): Promise<WorkspaceSettings> {
return request<WorkspaceSettings>('/v1/settings/')
return request<WorkspaceSettings>(SETTINGS_PATH)
}
return { getSettings }
function updateRetention(days: number): Promise<WorkspaceSettings> {
return request<WorkspaceSettings>(SETTINGS_PATH, {
method: 'PATCH',
headers: JSON_HEADERS,
body: JSON.stringify({ activity_retention_days: days }),
})
}
return { getSettings, updateRetention }
}