fixed a bunch of bugs, yay!!!

This commit is contained in:
Zoe
2023-01-13 03:34:54 -06:00
parent 3bad12c646
commit c39da0678d
24 changed files with 526 additions and 267 deletions

View File

@@ -1,9 +1,9 @@
import { Ref } from "vue";
import { SafeUser, IServer, IChannel } from "../types";
export const useGlobalStore = defineStore('global', {
state: () => ({
activeServer: {} as IServer,
activeServer: {} as IServer | IChannel,
activeServerType: '' as "dms" | "servers" | undefined,
user: {} as SafeUser,
dms: [] as IChannel[],
servers: [] as IServer[]
@@ -17,20 +17,38 @@ export const useGlobalStore = defineStore('global', {
this.servers.push(server)
},
addDM(dmChannel: IChannel) {
if (!this.channels || this.channels.find((e) => e.id === dmChannel.id)) return;
this.channels.push(dmChannel)
if (!this.dms || this.dms.find((e) => e.id === dmChannel.id)) return;
this.dms.push(dmChannel)
},
setActive(type: string, serverId: string) {
if (serverId === '@me') {
this.activeServer = {} as IServer
setServers(servers: Array<IServer>) {
this.servers = servers
},
setDms(dms: Array<IChannel>) {
this.dms = dms
},
setActive(type: "servers" | "dms", channelId: string) {
if (channelId === '@me') {
this.activeServer = {} as IServer | IChannel
this.activeServerType = 'dms'
return;
}
console.log(this.activeServer)
this.activeServerType = type
const searchableArray: IChannel[] | IServer[] | undefined = this[type]
if (!searchableArray) return;
this.activeServer = searchableArray.find((e: IServer | IChannel) => e.id === serverId)
console.log(this.activeServer, searchableArray.find((e: IServer | IChannel) => e.id === serverId))
let activeServerIndex: number;
if (type === 'servers') {
activeServerIndex = searchableArray.findIndex((e) => {
return e.channels.some((channel: IChannel) => channel.id === channelId)
})
} else {
activeServerIndex = searchableArray.findIndex((e) => {
return e.id === channelId
})
}
this.activeServer = this.servers[activeServerIndex]
},
},
})