Fix sorting and selected highlight

547c4f6757f29107440805e5337785a96bec0eef

Cohee <18619528+Cohee1207@users.noreply.github.com>

1 files changed, +10 -5Ignore whitespace
public/script.js+10 -5
@@ -7053,13 +7053,15 @@ export async function displayPastChats() {
70537053
7054async function displayChats(searchQuery, currentChat, displayName, avatarImg, selected_group) {7054async 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 || null7064 group_id: selected_group || null,
7063 }),7065 }),
7064 });7066 });
70657067
@@ -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();
70727074
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'));
70837088
7084 $('#select_chat_div').append(template);7089 if (isSelected) {
70857090 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);