Fix sorting and selected highlight
| @@ -7053,13 +7053,15 @@ export async function displayPastChats() { | |||
| 7053 | 7053 | ||
| 7054 | async function displayChats(searchQuery, currentChat, displayName, avatarImg, selected_group) { | 7054 | async function displayChats(searchQuery, currentChat, displayName, avatarImg, selected_group) { |
| 7055 | try { | 7055 | try { |
| 7056 | const trimExtension = (fileName) => String(fileName).replace('.jsonl', ''); | ||
| 7057 | |||
| 7056 | const response = await fetch('/api/chats/search', { | 7058 | const response = await fetch('/api/chats/search', { |
| 7057 | method: 'POST', | 7059 | method: 'POST', |
| 7058 | headers: getRequestHeaders(), | 7060 | headers: getRequestHeaders(), |
| 7059 | body: JSON.stringify({ | 7061 | body: JSON.stringify({ |
| 7060 | query: searchQuery, | 7062 | query: searchQuery, |
| 7061 | avatar_url: selected_group ? null : characters[this_chid].avatar, | 7063 | avatar_url: selected_group ? null : characters[this_chid].avatar, |
| 7062 | group_id: selected_group || null | 7064 | group_id: selected_group || null, |
| 7063 | }), | 7065 | }), |
| 7064 | }); | 7066 | }); |
| 7065 | 7067 | ||
| @@ -7070,7 +7072,10 @@ async function displayChats(searchQuery, currentChat, displayName, avatarImg, se | |||
| 7070 | const filteredData = await response.json(); | 7072 | const filteredData = await response.json(); |
| 7071 | $('#select_chat_div').empty(); | 7073 | $('#select_chat_div').empty(); |
| 7072 | 7074 | ||
| 7075 | filteredData.sort((a, b) => sortMoments(timestampToMoment(a.last_mes), timestampToMoment(b.last_mes))); | ||
| 7076 | |||
| 7073 | for (const chat of filteredData) { | 7077 | for (const chat of filteredData) { |
| 7078 | const isSelected = trimExtension(currentChat) === trimExtension(chat.file_name); | ||
| 7074 | const template = $('#past_chat_template .select_chat_block_wrapper').clone(); | 7079 | const template = $('#past_chat_template .select_chat_block_wrapper').clone(); |
| 7075 | template.find('.select_chat_block').attr('file_name', chat.file_name); | 7080 | template.find('.select_chat_block').attr('file_name', chat.file_name); |
| 7076 | template.find('.avatar img').attr('src', avatarImg); | 7081 | template.find('.avatar img').attr('src', avatarImg); |
| @@ -7081,11 +7086,11 @@ async function displayChats(searchQuery, currentChat, displayName, avatarImg, se | |||
| 7081 | template.find('.PastChat_cross').attr('file_name', chat.file_name); | 7086 | template.find('.PastChat_cross').attr('file_name', chat.file_name); |
| 7082 | template.find('.chat_messages_date').text(timestampToMoment(chat.last_mes).format('lll')); | 7087 | template.find('.chat_messages_date').text(timestampToMoment(chat.last_mes).format('lll')); |
| 7083 | 7088 | ||
| 7084 | $('#select_chat_div').append(template); | 7089 | if (isSelected) { |
| 7085 | 7090 | template.find('.select_chat_block').attr('highlight', String(true)); | |
| 7086 | if (currentChat === chat.file_name) { | ||
| 7087 | $('#select_chat_div').find('.select_chat_block:last').attr('highlight', String(true)); | ||
| 7088 | } | 7091 | } |
| 7092 | |||
| 7093 | $('#select_chat_div').append(template); | ||
| 7089 | } | 7094 | } |
| 7090 | } catch (error) { | 7095 | } catch (error) { |
| 7091 | console.error('Error loading chats:', error); | 7096 | console.error('Error loading chats:', error); |