77ea27f5f5
Co-authored-by: Nahiyan Khan <nahiyan@squareup.com> Co-authored-by: Taylor Ho <taylorkmho@gmail.com> Co-authored-by: Lily Delalande <119957291+lily-de@users.noreply.github.com> Co-authored-by: Spence <spencrmartin@gmail.com> Co-authored-by: spencrmartin <spencermartin@squareup.com> Co-authored-by: Judson Stephenson <Jud@users.noreply.github.com> Co-authored-by: Max Novich <mnovich@squareup.com> Co-authored-by: Best Codes <106822363+The-Best-Codes@users.noreply.github.com> Co-authored-by: caroline-a-mckenzie <cmckenzie@squareup.com> Co-authored-by: Michael Neale <michael.neale@gmail.com>
27 lines
905 B
TypeScript
27 lines
905 B
TypeScript
import React from 'react';
|
|
import { Session } from '../../sessions';
|
|
import { Card } from '../ui/card';
|
|
import { formatDate } from '../../utils/date';
|
|
|
|
interface SessionItemProps {
|
|
session: Session;
|
|
extraActions?: React.ReactNode;
|
|
}
|
|
|
|
const SessionItem: React.FC<SessionItemProps> = ({ session, extraActions }) => {
|
|
return (
|
|
<Card className="p-4 mb-2 hover:bg-accent/50 cursor-pointer flex justify-between items-center">
|
|
<div>
|
|
<div className="font-medium">{session.metadata.description || `Session ${session.id}`}</div>
|
|
<div className="text-sm text-muted-foreground">
|
|
{formatDate(session.modified)} • {session.metadata.message_count} messages
|
|
</div>
|
|
<div className="text-sm text-muted-foreground">{session.metadata.working_dir}</div>
|
|
</div>
|
|
{extraActions && <div>{extraActions}</div>}
|
|
</Card>
|
|
);
|
|
};
|
|
|
|
export default SessionItem;
|