refactor: replace focusedIndex with activeChildId
- Replace focusedIndex integer with activeChildId string in messages schema - Add migration to convert existing data and drop focused_index column - Add hooks for providers.updatedAt and messageParts.lastUpdatedAt - Add file size column to files table - Update message navigation to use child ID-based lookup - Simplify delete logic by removing focusedIndex math - Fix file delete endpoint filename ([id[ -> [id])
This commit is contained in:
+3
-11
@@ -22,20 +22,12 @@ export const buildFocusedMessageTree = (messages: Readonly<Message[]>): MessageE
|
||||
let focusedMessageTree: MessageEntity[] = [];
|
||||
|
||||
for (const message of messages) {
|
||||
if (message.focusedIndex) {
|
||||
if (message.focusedIndex === 0) {
|
||||
focusedMessageTree.push(message);
|
||||
continue;
|
||||
}
|
||||
|
||||
const activeChild = message.children[Math.min(Math.max(message.focusedIndex! - 1, 0), message.children.length - 1)]
|
||||
if (message.activeChildId && message.children.length > 0) {
|
||||
const activeChild = message.children.find(c => c?.id === message.activeChildId);
|
||||
if (activeChild) {
|
||||
focusedMessageTree.push(activeChild);
|
||||
} else {
|
||||
focusedMessageTree.push(message);
|
||||
continue;
|
||||
}
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
focusedMessageTree.push(message);
|
||||
|
||||
Reference in New Issue
Block a user