Create new group chat for the same group

This commit is contained in:
SillyLossy
2023-05-02 01:01:34 +03:00
parent c417d4bc4a
commit e8dbfbe1f1
2 changed files with 38 additions and 13 deletions

View File

@@ -41,6 +41,7 @@ import {
group_generation_id,
getGroupChat,
renameGroupMember,
createNewGroupChat,
} from "./scripts/group-chats.js";
import {
@@ -4303,18 +4304,24 @@ $(document).ready(function () {
//Make a new chat for selected character
if (
popup_type == "new_chat" &&
this_chid != undefined &&
(selected_group || this_chid !== undefined) &&
menu_type != "create"
) {
//Fix it; New chat doesn't create while open create character menu
clearChat();
chat.length = 0;
if (selected_group) {
createNewGroupChat();
}
else {
//RossAscends: added character name to new chat filenames and replaced Date.now() with humanizedDateTime;
chat_metadata = {};
characters[this_chid].chat = name2 + " - " + humanizedDateTime(); //RossAscends: added character name to new chat filenames and replaced Date.now() with humanizedDateTime;
characters[this_chid].chat = name2 + " - " + humanizedDateTime();
$("#selected_chat_pole").val(characters[this_chid].chat);
saveCharacterDebounced();
getChat();
}
}
if (dialogueResolve) {
@@ -4664,13 +4671,7 @@ $(document).ready(function () {
}
else if (id == "option_start_new_chat") {
if (selected_group) {
// will open a group creation screen
/* openNavToggle(); */
$("#rm_button_group_chats").trigger("click");
return;
}
if (this_chid != undefined && !is_send_press) {
if ((selected_group || this_chid !== undefined) && !is_send_press) {
popup_type = "new_chat";
callPopup("<h3>Start new chat?</h3>");
}

View File

@@ -1077,6 +1077,30 @@ function filterMembersByFavorites(value) {
}
}
export async function createNewGroupChat() {
const group = groups.find(x => x.id === selected_group);
if (!group) {
return;
}
const oldChatName = group.chat_id;
const newChatName = humanizedDateTime();
if (typeof group.past_metadata !== 'object') {
group.past_metadata = {};
}
group.past_metadata[oldChatName] = Object.assign({}, chat_metadata);
group.chats.push(newChatName);
group.chat_id = newChatName;
group.chat_metadata = {};
updateChatMetadata(group.chat_metadata, true);
await editGroup(group.id, true);
await getGroupChat(group.id);
}
$(document).ready(() => {
$(document).on("click", ".group_select", selectGroup);
$("#rm_group_filter").on("input", filterGroupMembers);