diff --git a/packages/frontend/src/views/DashboardView.vue b/packages/frontend/src/views/DashboardView.vue index 8c4d772..fd7df1a 100644 --- a/packages/frontend/src/views/DashboardView.vue +++ b/packages/frontend/src/views/DashboardView.vue @@ -24,9 +24,13 @@ const { connections, isLoading: isLoadingConnections } = storeToRefs(connections const { logs: auditLogs, isLoading: isLoadingLogs, totalLogs } = storeToRefs(auditLogStore); // Removed refs from settings store -// Local state for sorting -const localSortBy = ref('last_connected_at'); -const localSortOrder = ref('desc'); +// Local state for sorting with localStorage persistence +const LS_SORT_BY_KEY = 'dashboard_connections_sort_by'; +const LS_SORT_ORDER_KEY = 'dashboard_connections_sort_order'; + +// Initialize with localStorage values or defaults +const localSortBy = ref(localStorage.getItem(LS_SORT_BY_KEY) as SortField || 'last_connected_at'); +const localSortOrder = ref(localStorage.getItem(LS_SORT_ORDER_KEY) as SortOrder || 'desc'); const maxRecentLogs = 5; @@ -83,6 +87,8 @@ const recentAuditLogs = computed(() => { }); onMounted(async () => { + // Load saved sort preferences from localStorage (already done during ref initialization) + if (connections.value.length === 0) { try { await connectionsStore.fetchConnections(); @@ -113,7 +119,14 @@ const toggleSortOrder = () => { const isAscending = computed(() => localSortOrder.value === 'asc'); // Use local state -// Removed watch for saving preferences +// Watch for changes in local sort state and save to localStorage +watch(localSortBy, (newValue) => { + localStorage.setItem(LS_SORT_BY_KEY, newValue); +}); + +watch(localSortOrder, (newValue) => { + localStorage.setItem(LS_SORT_ORDER_KEY, newValue); +}); const dateFnsLocales: Record = { 'en-US': enUS,