Navbar with AI chats (#18161)

## Summary
Add Home/Chat tabs and a dedicated threads list in the navigation
drawer.

## Changes
- **Navbar tabs:** Tabs in the drawer to switch between Home and Chat
(with “New chat” button). Shown on desktop when expanded and on mobile
below the workspace selector.
- **Navbar threads list:** New `NavigationDrawerAIChatThreadsList` for
the Chat tab with date groups (Today / Yesterday / Older), thread rows
as `NavigationDrawerItem` (IconComment, title, timestamp). Shared
`useAIChatThreadClick` hook used by navbar and command menu; navbar
passes `resetNavigationStack: true`.
- **NavigationDrawerItem:** New `alwaysShowRightOptions` prop so the
timestamp is always visible (no hover-only).

---------

Co-authored-by: Etienne <45695613+etiennejouan@users.noreply.github.com>
Co-authored-by: Félix Malfait <felix@twenty.com>
Co-authored-by: Charles Bochet <charles@twenty.com>
This commit is contained in:
Abdul Rahman
2026-02-28 04:07:14 +05:30
committed by GitHub
parent 9f5a8735c9
commit e806d36099
34 changed files with 970 additions and 291 deletions
@@ -93,6 +93,6 @@ export class AgentMessagePartEntity {
@Column({ type: 'jsonb', nullable: true })
providerMetadata: Record<string, Record<string, JSONValue>> | null;
@CreateDateColumn()
@CreateDateColumn({ type: 'timestamptz' })
createdAt: Date;
}
@@ -55,6 +55,6 @@ export class AgentMessageEntity {
@OneToMany(() => AgentMessagePartEntity, (part) => part.message)
parts: Relation<AgentMessagePartEntity[]>;
@CreateDateColumn()
@CreateDateColumn({ type: 'timestamptz' })
createdAt: Date;
}
@@ -39,6 +39,6 @@ export class AgentTurnEntity {
@OneToMany(() => AgentTurnEvaluationEntity, (evaluation) => evaluation.turn)
evaluations: Relation<AgentTurnEvaluationEntity[]>;
@CreateDateColumn()
@CreateDateColumn({ type: 'timestamptz' })
createdAt: Date;
}
@@ -32,6 +32,6 @@ export class AgentTurnEvaluationEntity {
@Column({ type: 'text', nullable: true })
comment: string | null;
@CreateDateColumn()
@CreateDateColumn({ type: 'timestamptz' })
createdAt: Date;
}
@@ -57,9 +57,9 @@ export class AgentChatThreadEntity {
@OneToMany(() => AgentMessageEntity, (message) => message.thread)
messages: EntityRelation<AgentMessageEntity[]>;
@CreateDateColumn()
@CreateDateColumn({ type: 'timestamptz' })
createdAt: Date;
@UpdateDateColumn()
@UpdateDateColumn({ type: 'timestamptz' })
updatedAt: Date;
}