(stats): Assorted bugfixes and UI tweaks.
This commit is contained in:
@@ -7,6 +7,7 @@ from gui.cards import WeeklyGoalCard, MonthlyGoalCard
|
||||
from gui.base import CardMode
|
||||
from tracking.text.data import TextTrackerData
|
||||
|
||||
from .. import logger
|
||||
from ..data import StatsData
|
||||
from ..lib import extract_weekid, extract_monthid, apply_week_offset, apply_month_offset
|
||||
|
||||
@@ -49,7 +50,7 @@ async def get_goals_card(
|
||||
goals = await goal_model.fetch(*key.values())
|
||||
if not goals:
|
||||
from collections import defaultdict
|
||||
goals = defaultdict(lambda: -1)
|
||||
goals = defaultdict(lambda: 0)
|
||||
|
||||
task_rows = await tasks_model.fetch_where(**key)
|
||||
tasks = [(i, row.content, bool(row.completed)) for i, row in enumerate(task_rows)]
|
||||
|
||||
@@ -21,20 +21,15 @@ async def get_leaderboard_card(
|
||||
names = {}
|
||||
missing = []
|
||||
for userid, _, _ in entry_data:
|
||||
hash = name = None
|
||||
if guild and (member := guild.get_member(userid)):
|
||||
hash = member.avatar.key
|
||||
name = member.display_name
|
||||
avatars[userid] = member.avatar.key if member.avatar else None
|
||||
names[userid] = member.display_name
|
||||
elif (user := bot.get_user(userid)):
|
||||
hash = user.avatar.key
|
||||
name = user.name
|
||||
avatars[userid] = user.avatar.key if user.avatar else None
|
||||
names[userid] = user.display_name
|
||||
elif (user_data := bot.core.data.User._cache_.get((userid,))):
|
||||
hash = user_data.avatar_hash
|
||||
name = user_data.name
|
||||
|
||||
if hash:
|
||||
avatars[userid] = hash
|
||||
names[userid] = name or 'Unknown'
|
||||
avatars[userid] = user_data.avatar_hash
|
||||
names[userid] = user_data.name
|
||||
else:
|
||||
missing.append(userid)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user