fix coarse affecting stat options in created item, change sorting of requirements.
This commit is contained in:
@@ -24,7 +24,9 @@
|
||||
</OptionsRow>
|
||||
<LabeledProgressRow>
|
||||
{#each requirement.stats as stat (stat.id)}
|
||||
<LabeledProgress count={stat.acquired} target={stat.required} name={stat.name} />
|
||||
{#if !requirement.isCoarse || stat.required > 0}
|
||||
<LabeledProgress count={stat.acquired} target={stat.required} name={stat.name} />
|
||||
{/if}
|
||||
{/each}
|
||||
</LabeledProgressRow>
|
||||
{#each requirement.items as item (item.id)}
|
||||
|
||||
@@ -6,6 +6,7 @@ import (
|
||||
"git.aiterp.net/stufflog3/stufflog3/usecases/items"
|
||||
"git.aiterp.net/stufflog3/stufflog3/usecases/scopes"
|
||||
"math"
|
||||
"sort"
|
||||
"time"
|
||||
)
|
||||
|
||||
@@ -196,16 +197,29 @@ func generateRequirementResult(req entities.Requirement, scope scopes.Result, re
|
||||
resReq.Items = append(resReq.Items, item)
|
||||
}
|
||||
|
||||
// Sort items so that they're in order of created, with acquired items being in order of acquired below.
|
||||
sort.Slice(resReq.Items, func(i, j int) bool {
|
||||
ii := resReq.Items[i]
|
||||
ij := resReq.Items[j]
|
||||
if ii.AcquiredTime != nil && ij.AcquiredTime != nil {
|
||||
return ii.AcquiredTime.Before(*ij.AcquiredTime)
|
||||
} else if ii.AcquiredTime != nil && ij.AcquiredTime == nil {
|
||||
return false
|
||||
} else if ii.AcquiredTime == nil && ij.AcquiredTime != nil {
|
||||
return true
|
||||
}
|
||||
|
||||
return ii.CreatedTime.Before(ij.CreatedTime)
|
||||
})
|
||||
|
||||
for _, stat := range scope.Stats {
|
||||
if rs := resStats[stat.ID]; rs != nil && rs.Required > 0 {
|
||||
resReq.Stats = append(resReq.Stats, *rs)
|
||||
}
|
||||
}
|
||||
if !req.IsCoarse {
|
||||
for _, stat := range scope.Stats {
|
||||
if rs := resStats[stat.ID]; rs != nil && rs.Required == 0 {
|
||||
resReq.Stats = append(resReq.Stats, *rs)
|
||||
}
|
||||
for _, stat := range scope.Stats {
|
||||
if rs := resStats[stat.ID]; rs != nil && rs.Required == 0 {
|
||||
resReq.Stats = append(resReq.Stats, *rs)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user