Skip to main content
Version: Next

AIConversationHistory

AIConversationHistory provides an interactive panel to organize conversation sessions. It automatically categorizes sessions chronologically ("Today", "Yesterday", "Last 7 Days", "Older"), supports filtering via search inputs, and provides click handlers to select, delete, or rename sessions.

History

Today

React state URL sync hook
Organic B2B SaaS growth ideas

Yesterday

Docusaurus sidebar layout custom

Last 7 Days

Framer motion spring troubleshooting

Older

Old Ignix UI components list review
Ignix UI • Premium Side Panels

Installation

ignix add component ai-conversation-history

Usage

Import the component:

import { AIConversationHistory } from '@mindfiredigital/ignix-ui';

Basic Example

import { useState } from "react";
import { AIConversationHistory } from "@mindfiredigital/ignix-ui";

const sessions = [
{
id: "1",
title: "React Router Hook",
timestamp: new Date(),
},
{
id: "2",
title: "SaaS Growth Ideas",
timestamp: new Date(Date.now() - 86400000),
},
];

export default function Example() {
const [search, setSearch] = useState("");

return (
<AIConversationHistory
sessions={sessions}
searchQuery={search}
onSearchChange={setSearch}
activeSessionId="1"
onSessionSelect={(id) => console.log(id)}
onNewChat={() => console.log("New Chat")}
/>
);
}

Props

PropTypeDefaultDescription
sessionsConversationSession[][]List of historical sessions. Each session contains id, title, timestamp (Date/string), and summary.
activeSessionIdstring-Highlights the session item corresponding to the active ID.
searchQuerystring-The search/filter value.
onSearchChange(query: string) => void-Callback fired when the search box is typed in.
onSessionSelect(sessionId: string) => void-Callback fired when a session item is clicked.
onSessionRename(sessionId: string, newTitle: string) => void-Callback fired when a session title is renamed.
onSessionDelete(sessionId: string) => void-Callback fired when a session is deleted.
onNewChat() => void-Callback fired when the "New Chat" button is pressed.
variant'default' | 'dark' | 'glass' | 'minimal''default'Visual theme variants.
titlestring'History'Title label rendered in the header.
footerSlotReactNode-Placed component footer at the bottom of the sidebar.