feat: implement sessions sidebar

This commit is contained in:
d-kimsuon
2025-08-30 16:00:10 +09:00
parent 6cbb7fba7c
commit 14b074c03c
8 changed files with 195 additions and 52 deletions

View File

@@ -96,7 +96,7 @@ export const getSessionMeta = async (
messageCount: lines.length,
firstCommand: getFirstCommand(jsonlFilePath, lines),
lastModifiedAt: lastModifiedUnixTime
? new Date(lastModifiedUnixTime)
? new Date(lastModifiedUnixTime).toISOString()
: null,
};

View File

@@ -5,6 +5,11 @@ import { decodeProjectId } from "../project/id";
import type { Session } from "../types";
import { getSessionMeta } from "./getSessionMeta";
const getTime = (date: string | null) => {
if (date === null) return 0;
return new Date(date).getTime();
};
export const getSessions = async (
projectId: string,
): Promise<{ sessions: Session[] }> => {
@@ -27,10 +32,7 @@ export const getSessions = async (
return {
sessions: sessions.sort((a, b) => {
return (
(b.meta.lastModifiedAt?.getTime() ?? 0) -
(a.meta.lastModifiedAt?.getTime() ?? 0)
);
return getTime(b.meta.lastModifiedAt) - getTime(a.meta.lastModifiedAt);
}),
};
};

View File

@@ -23,7 +23,7 @@ export type Session = {
export type SessionMeta = {
messageCount: number;
firstCommand: ParsedCommand | null;
lastModifiedAt: Date | null;
lastModifiedAt: string | null;
};
export type SessionDetail = Session & {