fix: dynamically add report targets

Part-of: <https://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/2456>
This commit is contained in:
Kasper Seweryn 2023-06-01 10:14:11 +02:00 committed by Marge
parent d8d3de23ca
commit 6d1597637b
1 changed files with 2 additions and 3 deletions

View File

@ -61,9 +61,7 @@ interface TargetType {
} }
type Targets = Exclude<StateTarget, undefined>['type'] type Targets = Exclude<StateTarget, undefined>['type']
const targets = reactive({ const targets = reactive<Record<Targets, Record<string, TargetType>>>(Object.create(null))
track: {}
}) as Record<Targets, Record<string, TargetType>>
const fetchTargets = async () => { const fetchTargets = async () => {
// we request target data via the API so we can display previous state // we request target data via the API so we can display previous state
@ -96,6 +94,7 @@ const fetchTargets = async () => {
}) })
for (const payload of response?.data?.results ?? []) { for (const payload of response?.data?.results ?? []) {
targets[key as keyof typeof targets] ??= Object.create(null)
targets[key as keyof typeof targets][payload.id] = { targets[key as keyof typeof targets][payload.id] = {
payload, payload,
currentState: configs[key as keyof typeof targets].fields.reduce((state, field) => { currentState: configs[key as keyof typeof targets].fields.reduce((state, field) => {