diff --git a/frontend/src/routes/[fam]/[username]/bonuses/+page.svelte b/frontend/src/routes/[fam]/[username]/bonuses/+page.svelte index 9568b57..47bf461 100644 --- a/frontend/src/routes/[fam]/[username]/bonuses/+page.svelte +++ b/frontend/src/routes/[fam]/[username]/bonuses/+page.svelte @@ -210,7 +210,7 @@ let outstandingConfigs = $derived(allBonusConfigs.filter((c: BonusConfig) => isOutstanding(c))); let doneConfigs = $derived( - allBonusConfigs.filter((c: BonusConfig) => isCompleted(c) && !isOutstanding(c)) + configs.filter((c: BonusConfig) => c.status === 'completed') as BonusConfig[] ); function isCompleted(cfg: BonusConfig): boolean { @@ -223,6 +223,7 @@ return prog.progress.every((p) => p.achieved); } + // todo - redundant? function isOutstanding(cfg: BonusConfig): boolean { if (!isCompleted(cfg)) return false; const rewards = allRewards.filter((r) => r.bonusConfigId === cfg.id); @@ -296,12 +297,10 @@

Member

{#each allBonusConfigs.filter((c) => c.target === 'individual' && !doneConfigs.includes(c)) as cfg} - {@const done = isCompleted(cfg)} - {@const outstanding = isOutstanding(cfg)}
@@ -334,14 +333,14 @@
{/if} - {p ? (outstanding ? 'Outstanding' : p.state) : 'Pending'} + {p ? (outstandingConfigs.includes(cfg) ? 'Outstanding' : p.state) : 'Pending'}
{/if} {/if} {/each}
- {#if !done} + {#if !outstandingConfigs.includes(cfg)} @@ -358,13 +357,11 @@

Competition

{#each allBonusConfigs.filter((c) => c.target === 'competitive' && !doneConfigs.includes(c)) as cfg} - {@const done = isCompleted(cfg)} - {@const outstanding = isOutstanding(cfg)} {@const prog = progressByConfigId.get(cfg.id)}
@@ -394,14 +391,14 @@
{/if} - {outstanding ? 'Outstanding' : p.state} + {outstandingConfigs.includes(cfg) ? 'Outstanding' : p.state}
{/each}
{/if}
- {#if !done} + {#if !outstandingConfigs.includes(cfg)} @@ -418,13 +415,11 @@

Collaboration

{#each allBonusConfigs.filter((c) => c.target === 'collaborative') as cfg} - {@const done = isCompleted(cfg)} - {@const outstanding = isOutstanding(cfg)} {@const prog = progressByConfigId.get(cfg.id)}
@@ -457,13 +452,13 @@ {cfg.type === 'threshold' ? 'pts' : 'chores'} - {team.state} + {outstandingConfigs.includes(cfg) ? 'Outstanding' : team.state}
{/if} {/if}
- {#if !done} + {#if !outstandingConfigs.includes(cfg)} @@ -775,6 +770,22 @@ > {editingConfig.status === 'disabled' ? 'Enable' : 'Disable'} + {#if editingConfig.status !== 'completed'} + + {/if}