fixed a bunch of bugs, yay!!!
This commit is contained in:
@@ -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]
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user