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
70547054async function displayChats(searchQuery, currentChat, displayName, avatarImg, selected_group) {
70557055 try {
7056+ const trimExtension = (fileName) => String(fileName).replace('.jsonl', '');
7057+
70567058 const response = await fetch('/api/chats/search', {
70577059 method: 'POST',
70587060 headers: getRequestHeaders(),
70597061 body: JSON.stringify({
70607062 query: searchQuery,
70617063 avatar_url: selected_group ? null : characters[this_chid].avatar,
70627064 group_id: selected_group || null,
70637065 }),
70647066 });
70657067
@@ -7070,7 +7072,10 @@ async function displayChats(searchQuery, currentChat, displayName, avatarImg, se
70707072 const filteredData = await response.json();
70717073 $('#select_chat_div').empty();
70727074
7075+ filteredData.sort((a, b) => sortMoments(timestampToMoment(a.last_mes), timestampToMoment(b.last_mes)));
7076+
70737077 for (const chat of filteredData) {
7078+ const isSelected = trimExtension(currentChat) === trimExtension(chat.file_name);
70747079 const template = $('#past_chat_template .select_chat_block_wrapper').clone();
70757080 template.find('.select_chat_block').attr('file_name', chat.file_name);
70767081 template.find('.avatar img').attr('src', avatarImg);
@@ -7081,11 +7086,11 @@ async function displayChats(searchQuery, currentChat, displayName, avatarImg, se
70817086 template.find('.PastChat_cross').attr('file_name', chat.file_name);
70827087 template.find('.chat_messages_date').text(timestampToMoment(chat.last_mes).format('lll'));
70837088
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));
70887091 }
7092+
7093+ $('#select_chat_div').append(template);
70897094 }
70907095 } catch (error) {
70917096 console.error('Error loading chats:', error);