Fix inventory view display issues with campaigns having both timed and sub-based drops

This commit is contained in:
DevilXD
2025-03-02 10:26:12 +01:00
parent 6d803978a3
commit b46b77d20c
2 changed files with 8 additions and 4 deletions

10
gui.py
View File

@@ -1503,9 +1503,13 @@ class InventoryOverview:
time=drop.ends_at.astimezone().replace(microsecond=0, tzinfo=None)
)
else:
progress_text = _("gui", "inventory", "minutes_progress").format(
minutes=drop.required_minutes
)
if drop.required_minutes > 0:
progress_text = _("gui", "inventory", "minutes_progress").format(
minutes=drop.required_minutes
)
else:
# required_minutes is zero for subscription-based drops
progress_text = ''
if datetime.now(timezone.utc) < drop.starts_at > drop.campaign.starts_at:
# this drop can only be earned later than the campaign start
progress_text += '\n' + _("gui", "inventory", "starts").format(

View File

@@ -370,7 +370,7 @@ class DropsCampaign:
@cached_property
def finished(self) -> bool:
return all(d.is_claimed for d in self.drops)
return all(d.is_claimed or d.required_minutes <= 0 for d in self.drops)
@cached_property
def claimed_drops(self) -> int: