mirror of
https://github.com/aljazceru/claude-code-viewer.git
synced 2026-01-18 13:04:20 +01:00
feat: implement sessions sidebar
This commit is contained in:
@@ -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,
|
||||
};
|
||||
|
||||
|
||||
@@ -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);
|
||||
}),
|
||||
};
|
||||
};
|
||||
|
||||
@@ -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 & {
|
||||
|
||||
Reference in New Issue
Block a user