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