fixing bugs for re-order

This commit is contained in:
MathMan05 2024-09-02 16:55:27 -05:00
parent 19f08a6408
commit e79e4affb4
6 changed files with 74 additions and 44 deletions

View file

@ -321,16 +321,16 @@ class Channel {
let position = -1;
const build = [];
for (const thing of this.children) {
const thisthing = { id: thing.snowflake, position: undefined, parent_id: undefined };
const thisthing = { id: thing.id, position: undefined, parent_id: undefined };
if (thing.position < position) {
thing.position = thisthing.position = position + 1;
}
position = thing.position;
if (thing.move_id && thing.move_id !== thing.parent_id) {
thing.parent_id = thing.move_id;
thisthing.parent_id = thing.parent_id;
thisthing.parent_id = thing.parent?.id;
thing.move_id = null;
console.log(this.guild.channelids[thisthing.parent_id.id]);
//console.log(this.guild.channelids[thisthing.parent_id.id]);
}
if (thisthing.position || thisthing.parent_id) {
build.push(thisthing);
@ -929,8 +929,15 @@ class Channel {
updateChannel(json) {
this.type = json.type;
this.name = json.name;
this.parent_id = SnowFlake.getSnowFlakeFromID(json.parent_id, Channel);
this.parent = null;
const parent = this.guild.channelids[json.parent_id];
if (parent) {
this.parent = parent;
this.parent_id = parent.snowflake;
}
else {
this.parent = null;
this.parent_id = null;
}
this.children = [];
this.guild_id = json.guild_id;
this.messageids = new Map();

View file

@ -204,7 +204,7 @@ class Guild {
let position = -1;
const build = [];
for (const thing of this.headchannels) {
const thisthing = { id: thing.snowflake, position: undefined, parent_id: undefined };
const thisthing = { id: thing.id, position: undefined, parent_id: undefined };
if (thing.position <= position) {
thing.position = (thisthing.position = position + 1);
}
@ -212,7 +212,7 @@ class Guild {
console.log(position);
if (thing.move_id && thing.move_id !== thing.parent_id) {
thing.parent_id = thing.move_id;
thisthing.parent_id = thing.parent_id;
thisthing.parent_id = thing.parent?.id;
thing.move_id = null;
}
if (thisthing.position || thisthing.parent_id) {
@ -234,7 +234,7 @@ class Guild {
if (serverbug) {
for (const thing of build) {
console.log(build, thing);
fetch(this.info.api + "/guilds/" + this.snowflake + "/channels", {
fetch(this.info.api + "/guilds/" + this.id + "/channels", {
method: "PATCH",
headers: this.headers,
body: JSON.stringify([thing])
@ -242,7 +242,7 @@ class Guild {
}
}
else {
fetch(this.info.api + "/guilds/" + this.snowflake + "/channels", {
fetch(this.info.api + "/guilds/" + this.id + "/channels", {
method: "PATCH",
headers: this.headers,
body: JSON.stringify(build)
@ -422,17 +422,22 @@ class Guild {
this.localuser.loadGuild(this.id);
}
updateChannel(json) {
SnowFlake.getSnowFlakeFromID(json.id, Channel).getObject().updateChannel(json);
this.headchannels = [];
for (const thing of this.channels) {
thing.children = [];
}
for (const thing of this.channels) {
if (thing.resolveparent(this)) {
this.headchannels.push(thing);
const channel = this.channelids[json.id];
if (channel) {
channel.updateChannel(json);
this.headchannels = [];
for (const thing of this.channels) {
thing.children = [];
}
this.headchannels = [];
for (const thing of this.channels) {
const parent = thing.resolveparent(this);
if (!parent) {
this.headchannels.push(thing);
}
}
this.printServers();
}
this.printServers();
}
createChannelpac(json) {
const thischannel = new Channel(json, this);

View file

@ -423,9 +423,12 @@ class Localuser {
return undefined;
}
updateChannel(json) {
SnowFlake.getSnowFlakeFromID(json.guild_id, Guild).getObject().updateChannel(json);
if (json.guild_id === this.lookingguild?.id) {
this.loadGuild(json.guild_id);
const guild = this.guildids.get(json.guild_id);
if (guild) {
guild.updateChannel(json);
if (json.guild_id === this.lookingguild?.id) {
this.loadGuild(json.guild_id);
}
}
}
createChannel(json) {