{"version":3,"file":"UserTag-0c8c0cf5.js","sources":["../../src/apollo/query/user.query.ts","../../src/store/dataloader.ts","../../src/components/utility/Paint.vue","../../src/components/utility/UserTag.vue"],"sourcesContent":["import gql from \"graphql-tag\";\nimport { User } from \"@/structures/User\";\n\nexport const UserPartialFragment = gql`\n\tfragment USER_PARTIAL_FRAGMENT on UserPartial {\n\t\tid\n\t\ttype\n\t\tusername\n\t\tdisplay_name\n\t\tcreated_at\n\t\tavatar_url\n\t\tbiography\n\t\tstyle {\n\t\t\tcolor\n\t\t\tpaint_id\n\t\t}\n\t\troles\n\t\tconnections {\n\t\t\tid\n\t\t\tplatform\n\t\t\tusername\n\t\t\tdisplay_name\n\t\t\temote_set_id\n\t\t\temote_capacity\n\t\t}\n\t}\n`;\n\nexport const userForUserPageQuery = gql`\n\tquery GetUserForUserPage($id: ObjectID!) {\n\t\tuser(id: $id) {\n\t\t\tid\n\t\t\tusername\n\t\t\tdisplay_name\n\t\t\tcreated_at\n\t\t\tavatar_url\n\t\t\tstyle {\n\t\t\t\tcolor\n\t\t\t\tpaint_id\n\t\t\t}\n\t\t\tbiography\n\t\t\teditors {\n\t\t\t\tid\n\t\t\t\tpermissions\n\t\t\t\tvisible\n\t\t\t\tuser {\n\t\t\t\t\tid\n\t\t\t\t\tusername\n\t\t\t\t\tdisplay_name\n\t\t\t\t\tavatar_url\n\t\t\t\t\tstyle {\n\t\t\t\t\t\tcolor\n\t\t\t\t\t\tpaint_id\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\temote_sets {\n\t\t\t\tid\n\t\t\t\tname\n\t\t\t\tcapacity\n\t\t\t\towner {\n\t\t\t\t\tid\n\t\t\t\t}\n\t\t\t}\n\t\t\troles\n\t\t\tconnections {\n\t\t\t\tid\n\t\t\t\tusername\n\t\t\t\tdisplay_name\n\t\t\t\tplatform\n\t\t\t\tlinked_at\n\t\t\t\temote_capacity\n\t\t\t\temote_set_id\n\t\t\t}\n\t\t}\n\t}\n`;\n\nexport namespace userForUserPageQuery {\n\texport interface Variables {\n\t\tid: string;\n\t}\n\n\texport interface Result {\n\t\tuser: User;\n\t}\n}\n\nexport const userEmoteSetsQuery = gql`\n\tquery GetUserEmoteSets($id: ObjectID!) {\n\t\tuser(id: $id) {\n\t\t\tid\n\t\t\temote_sets {\n\t\t\t\tid\n\t\t\t\tname\n\t\t\t\tflags\n\t\t\t\tcapacity\n\t\t\t\temote_count\n\t\t\t\torigins {\n\t\t\t\t\tid\n\t\t\t\t\tweight\n\t\t\t\t}\n\t\t\t\towner {\n\t\t\t\t\tid\n\t\t\t\t\tdisplay_name\n\t\t\t\t\tstyle {\n\t\t\t\t\t\tcolor\n\t\t\t\t\t}\n\t\t\t\t\tavatar_url\n\t\t\t\t\tconnections {\n\t\t\t\t\t\tid\n\t\t\t\t\t\temote_capacity\n\t\t\t\t\t\temote_set_id\n\t\t\t\t\t\tplatform\n\t\t\t\t\t\tdisplay_name\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n`;\n\nexport namespace userEmoteSetsQuery {\n\texport interface Variables {\n\t\tid: string;\n\t}\n\texport interface Result {\n\t\tuser: User;\n\t}\n}\n\nexport const userActivityQuery = gql`\n\tquery GetUserActivity($id: ObjectID!, $limit: Int) {\n\t\tuser(id: $id) {\n\t\t\tid\n\t\t\tactivity(limit: $limit) {\n\t\t\t\tid\n\t\t\t\tkind\n\t\t\t\tcreated_at\n\t\t\t\ttarget_id\n\t\t\t\ttarget_kind\n\t\t\t\tactor {\n\t\t\t\t\tid\n\t\t\t\t\tusername\n\t\t\t\t\tdisplay_name\n\t\t\t\t\tstyle {\n\t\t\t\t\t\tcolor\n\t\t\t\t\t}\n\t\t\t\t\tavatar_url\n\t\t\t\t}\n\t\t\t\tchanges {\n\t\t\t\t\tformat\n\t\t\t\t\tkey\n\t\t\t\t\tvalue\n\t\t\t\t\tarray_value {\n\t\t\t\t\t\tadded\n\t\t\t\t\t\tupdated\n\t\t\t\t\t\tremoved\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n`;\n\nexport namespace userActivityQuery {\n\texport interface Variables {\n\t\tid: string;\n\t\tlimit: number;\n\t}\n\n\texport interface Result {\n\t\tuser: User;\n\t}\n}\n\nexport const userOwnedEmotesQuery = gql`\n\tquery GetUserOwnedEmotes($id: ObjectID!, $formats: [ImageFormat!]) {\n\t\tuser(id: $id) {\n\t\t\towned_emotes {\n\t\t\t\tid\n\t\t\t\tname\n\t\t\t\tlifecycle\n\t\t\t\tflags\n\t\t\t\tstate\n\t\t\t\ttrending\n\t\t\t\thost {\n\t\t\t\t\turl\n\t\t\t\t\tfiles(formats: $formats) {\n\t\t\t\t\t\tname\n\t\t\t\t\t\tformat\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\towner {\n\t\t\t\t\tid\n\t\t\t\t\tdisplay_name\n\t\t\t\t\tstyle {\n\t\t\t\t\t\tcolor\n\t\t\t\t\t}\n\t\t\t\t\tavatar_url\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n`;\n\nexport namespace userOwnedEmotesQuery {\n\texport interface Variables {\n\t\tid: string;\n\t}\n\n\texport interface Result {\n\t\tuser: User;\n\t}\n}\n\nexport const GetUser = gql`\n\tquery GetUser($id: ObjectID!) {\n\t\tuser(id: $id) {\n\t\t\tid\n\t\t\tusername\n\t\t\tdisplay_name\n\t\t\tcreated_at\n\t\t\tavatar_url\n\t\t\tstyle {\n\t\t\t\tcolor\n\t\t\t\tpaint_id\n\t\t\t}\n\t\t\tbiography\n\t\t\teditors {\n\t\t\t\tid\n\t\t\t\tpermissions\n\t\t\t\tvisible\n\t\t\t\tuser {\n\t\t\t\t\tid\n\t\t\t\t\tusername\n\t\t\t\t\tdisplay_name\n\t\t\t\t\tavatar_url\n\t\t\t\t\tstyle {\n\t\t\t\t\t\tcolor\n\t\t\t\t\t\tpaint_id\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\troles\n\t\t\tconnections {\n\t\t\t\tid\n\t\t\t\tusername\n\t\t\t\tdisplay_name\n\t\t\t\tplatform\n\t\t\t\tlinked_at\n\t\t\t\temote_capacity\n\t\t\t\temote_set_id\n\t\t\t}\n\t\t}\n\t}\n`;\n\nexport const GetMinimalUser = gql`\n\tquery GetMinimalUser($id: ObjectID!) {\n\t\tuser(id: $id) {\n\t\t\tid\n\t\t\tdisplay_name\n\t\t\tavatar_url\n\t\t\tstyle {\n\t\t\t\tcolor\n\t\t\t}\n\t\t\troles\n\t\t}\n\t}\n`;\n\nexport const WatchUser = gql`\n\tsubscription WatchUser($id: ObjectID!) {\n\t\tuser(id: $id) {\n\t\t\t...USER_PARTIAL_FRAGMENT\n\t\t}\n\t}\n\t${UserPartialFragment}\n`;\n\nexport const SearchUsers = gql`\n\tquery SearchUsers($query: String!) {\n\t\tusers(query: $query) {\n\t\t\tid\n\t\t\tusername\n\t\t\tdisplay_name\n\t\t\troles\n\t\t\tstyle {\n\t\t\t\tcolor\n\t\t\t}\n\t\t\tavatar_url\n\t\t}\n\t}\n`;\n\nexport const GetUsers = gql`\n\tquery UsersByID($list: [ObjectID!]!) {\n\t\tusersByID(list: $list) {\n\t\t\tid\n\t\t\tusername\n\t\t\tdisplay_name\n\t\t\troles\n\t\t\tstyle {\n\t\t\t\tcolor\n\t\t\t}\n\t\t\tavatar_url\n\t\t}\n\t}\n`;\n\nexport const GetUserEditorOf = gql`\n\tquery GetUserEditorOf($id: ObjectID!) {\n\t\tuser(id: $id) {\n\t\t\tid\n\t\t\teditor_of {\n\t\t\t\tuser {\n\t\t\t\t\tid\n\t\t\t\t\tusername\n\t\t\t\t\tdisplay_name\n\t\t\t\t\troles\n\t\t\t\t\tstyle {\n\t\t\t\t\t\tcolor\n\t\t\t\t\t}\n\t\t\t\t\tavatar_url\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n`;\n\nexport interface GetUser {\n\tuser: User;\n}\n","import { useQuery } from \"@vue/apollo-composable\";\nimport { defineStore } from \"pinia\";\nimport { GetCosmetics } from \"@/apollo/query/cosmetics.query\";\nimport { GetEmotes } from \"@/apollo/query/emote.query\";\nimport { GetUsers } from \"@/apollo/query/user.query\";\nimport { ApolloQueryResult } from \"@apollo/client\";\nimport type { Cosmetic } from \"@/structures/Cosmetic\";\nimport { Emote } from \"@/structures/Emote\";\nimport { User } from \"@/structures/User\";\nimport { DocumentNode } from \"graphql\";\n\nexport interface State {\n\tusers: Cycle;\n\temotes: Cycle;\n\tcosmetics: Cycle;\n}\n\ntype Loadable = User | Emote | Cosmetic;\n\ninterface Cycle {\n\tkeys: Set;\n\titems: T[];\n\tcollectors: CollectorFunction>[];\n\tfinish: Promise | null;\n\tcache?: Record;\n}\n\ntype CollectorFunction = (r: ApolloQueryResult) => void;\n\nconst COLLECTION_TIME = 300;\n\nexport const useDataLoaders = defineStore(\"dataloaders\", {\n\tstate: () =>\n\t\t({\n\t\t\tusers: {\n\t\t\t\tkeys: new Set(),\n\t\t\t\titems: [],\n\t\t\t\tcollectors: [],\n\t\t\t\tfinish: null,\n\t\t\t},\n\t\t\temotes: {\n\t\t\t\tkeys: new Set(),\n\t\t\t\titems: [],\n\t\t\t\tcollectors: [],\n\t\t\t\tfinish: null,\n\t\t\t},\n\t\t\tcosmetics: {\n\t\t\t\tkeys: new Set(),\n\t\t\t\titems: [],\n\t\t\t\tcollectors: [],\n\t\t\t\tfinish: null,\n\t\t\t\tcache: {},\n\t\t\t},\n\t\t} as State),\n\n\tactions: {\n\t\tasync _load(\n\t\t\tc: Cycle,\n\t\t\tdoc: DocumentNode,\n\t\t\tkeys: string[],\n\t\t\tcollector: CollectorFunction>,\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\t\tresTransform?: (r: any) => any,\n\t\t) {\n\t\t\tkeys.forEach((k) => c.keys.add(k));\n\t\t\tc.collectors.push(collector as CollectorFunction>);\n\n\t\t\tconst promise =\n\t\t\t\tc.finish ??\n\t\t\t\tnew Promise((resolve, reject) =>\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tconst { onResult, onError } = useQuery(doc, { query: \"\", list: Array.from(c.keys.values()) });\n\n\t\t\t\t\t\tonResult((res) => {\n\t\t\t\t\t\t\tif (typeof resTransform === \"function\") {\n\t\t\t\t\t\t\t\tres.data = resTransform(res);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tc.collectors.forEach((collector) => collector(res));\n\n\t\t\t\t\t\t\tresolve(true);\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tonError((err) => reject(err));\n\t\t\t\t\t}, COLLECTION_TIME),\n\t\t\t\t);\n\n\t\t\tc.finish = promise;\n\t\t\tpromise.finally(() => {\n\t\t\t\tc.finish = null;\n\t\t\t\tc.keys.clear();\n\t\t\t\tc.items = [];\n\t\t\t\tc.collectors = [];\n\t\t\t});\n\n\t\t\treturn promise;\n\t\t},\n\n\t\t/**\n\t\t * Asynchronously loads users, and stacks multiple IDs to return all results in a single request\n\t\t *\n\t\t * @param keys user ids to load\n\t\t * @returns\n\t\t */\n\t\tasync loadUsers(keys: string[]): Promise {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\tconst collector: CollectorFunction> = (r) => {\n\t\t\t\t\tconst result = new Array(keys.length) as User[];\n\t\t\t\t\tconst userMap = new Map(r.data.usersByID.map((u) => [u.id, u]));\n\n\t\t\t\t\tfor (let i = 0; i < keys.length; i++) {\n\t\t\t\t\t\tconst oid = keys[i];\n\n\t\t\t\t\t\tif (!userMap.has(oid)) {\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tresult[i] = userMap.get(oid) as User;\n\t\t\t\t\t}\n\n\t\t\t\t\tresolve(result);\n\t\t\t\t};\n\n\t\t\t\tthis._load(this.users, GetUsers, keys, collector).catch((err) => reject(err));\n\t\t\t});\n\t\t},\n\n\t\t/**\n\t\t * Asynchronously loads emotes, and stacks multiple IDs to return all results in a single request\n\t\t *\n\t\t * @param keys emote ids to load\n\t\t * @returns\n\t\t */\n\t\tasync loadEmotes(keys: string[]): Promise {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\tconst collector: CollectorFunction> = (r) => {\n\t\t\t\t\tconst result = new Array(keys.length) as Emote[];\n\t\t\t\t\tconst emoteMap = new Map(r.data.emotesByID.map((u) => [u.id, u]));\n\n\t\t\t\t\tfor (let i = 0; i < keys.length; i++) {\n\t\t\t\t\t\tconst oid = keys[i];\n\n\t\t\t\t\t\tif (!emoteMap.has(oid)) {\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tresult[i] = emoteMap.get(oid) as Emote;\n\t\t\t\t\t}\n\n\t\t\t\t\tresolve(result);\n\t\t\t\t};\n\n\t\t\t\tthis._load(this.emotes, GetEmotes, keys, collector).catch((err) => reject(err));\n\t\t\t});\n\t\t},\n\n\t\tasync loadCosmetics(...keys: string[]): Promise {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\tconst cache = this.cosmetics.cache!;\n\n\t\t\t\tconst cachedResult = [] as Cosmetic[];\n\t\t\t\tfor (let i = 0; i < keys.length; i++) {\n\t\t\t\t\tconst it = cache[keys[i]];\n\t\t\t\t\tif (!it) continue;\n\n\t\t\t\t\tkeys.splice(i, 1);\n\t\t\t\t\tcachedResult.push(it);\n\t\t\t\t}\n\n\t\t\t\tconst collector: CollectorFunction> = (r) => {\n\t\t\t\t\tconst result = new Array(keys.length) as Cosmetic[];\n\t\t\t\t\tconst cosmeticMap = new Map(\n\t\t\t\t\t\t[...r.data.cosmetics, ...cachedResult].map((u) => [u.id, u]),\n\t\t\t\t\t);\n\n\t\t\t\t\tfor (let i = 0; i < keys.length; i++) {\n\t\t\t\t\t\tconst oid = keys[i];\n\n\t\t\t\t\t\tif (!cosmeticMap.has(oid)) {\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst it = cosmeticMap.get(oid) as Cosmetic;\n\n\t\t\t\t\t\tcache[it.id] = it;\n\t\t\t\t\t\tresult[i] = it;\n\t\t\t\t\t}\n\n\t\t\t\t\tresolve(result);\n\t\t\t\t};\n\n\t\t\t\tif (!keys.length) {\n\t\t\t\t\tresolve(cachedResult);\n\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tthis._load(this.cosmetics, GetCosmetics, keys, collector, (res: ApolloQueryResult) => {\n\t\t\t\t\treturn { cosmetics: [...res.data.cosmetics.badges, ...res.data.cosmetics.paints] };\n\t\t\t\t}).catch((err) => reject(err));\n\t\t\t});\n\t\t},\n\t},\n});\n","\n\n\n\n\n","\n\n\n\n\n"],"names":["UserPartialFragment","gql","userForUserPageQuery","userEmoteSetsQuery","userActivityQuery","userOwnedEmotesQuery","GetMinimalUser","SearchUsers","GetUsers","GetUserEditorOf","COLLECTION_TIME","useDataLoaders","defineStore","c","doc","keys","collector","resTransform","k","promise","resolve","reject","onResult","onError","useQuery","res","err","r","result","userMap","u","i","oid","emoteMap","GetEmotes","cache","cachedResult","it","cosmeticMap","GetCosmetics","paint","toRef","__props","cssFunction","computed","bgImage","args","funcPrefix","stop","color","ConvertDecimalRGBAToString","filter","v","UserCard","defineAsyncComponent","__vitePreload","props","ref","loadCosmetics","watch","cos","userTag","tagColor","cardVisible","toggleCard","ev"],"mappings":"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"}