From 41e221f1b32334fbbc4f8b09b90bb29288a6f6e0 Mon Sep 17 00:00:00 2001 From: Haileyesus Date: Tue, 5 May 2026 21:12:20 +0300 Subject: [PATCH] refactor(session): simplify session date and time retrieval logic --- src/components/sidebar/utils/utils.ts | 43 ++++++++------------------- 1 file changed, 12 insertions(+), 31 deletions(-) diff --git a/src/components/sidebar/utils/utils.ts b/src/components/sidebar/utils/utils.ts index 2602a633..7ac15afe 100644 --- a/src/components/sidebar/utils/utils.ts +++ b/src/components/sidebar/utils/utils.ts @@ -1,4 +1,5 @@ import type { TFunction } from 'i18next'; + import type { Project } from '../../../types/app'; import type { ProjectSortOrder, SettingsProject, SessionViewModel, SessionWithProvider } from '../types/types'; @@ -52,44 +53,24 @@ export const clearLegacyStarredProjectIds = () => { } }; +const getCreatedTimestamp = (session: SessionWithProvider): string => { + return String(session.createdAt || session.created_at || ''); +}; + +const getUpdatedTimestamp = (session: SessionWithProvider): string => { + return String(session.lastActivity || session.updated_at || ''); +}; + export const getSessionDate = (session: SessionWithProvider): Date => { - if (session.__provider === 'cursor') { - return new Date(session.createdAt || 0); - } - - if (session.__provider === 'codex') { - return new Date(session.createdAt || session.lastActivity || 0); - } - - return new Date(session.lastActivity || session.createdAt || 0); + return new Date(getUpdatedTimestamp(session) || getCreatedTimestamp(session) || 0); }; export const getSessionName = (session: SessionWithProvider, t: TFunction): string => { - if (session.__provider === 'cursor') { - return session.summary || session.name || t('projects.untitledSession'); - } - - if (session.__provider === 'codex') { - return session.summary || session.name || t('projects.codexSession'); - } - - if (session.__provider === 'gemini') { - return session.summary || session.name || t('projects.newSession'); - } - - return session.summary || t('projects.newSession'); + return session.summary || session.name || t('projects.newSession'); }; export const getSessionTime = (session: SessionWithProvider): string => { - if (session.__provider === 'cursor') { - return String(session.createdAt || ''); - } - - if (session.__provider === 'codex') { - return String(session.createdAt || session.lastActivity || ''); - } - - return String(session.lastActivity || session.createdAt || ''); + return getUpdatedTimestamp(session) || getCreatedTimestamp(session); }; export const createSessionViewModel = (