feat: auto select medals and make badges interactive

This commit is contained in:
Tim
2025-08-10 00:25:13 +08:00
parent 594068bd5e
commit 4516f77727
4 changed files with 60 additions and 4 deletions

View File

@@ -83,6 +83,17 @@ public class MedalService {
seedUserMedal.setSelected(selected == MedalType.SEED);
medals.add(seedUserMedal);
if (user != null && medals.stream().noneMatch(MedalDto::isSelected)) {
medals.stream()
.filter(MedalDto::isCompleted)
.findFirst()
.ifPresent(m -> {
m.setSelected(true);
user.setDisplayMedal(m.getType());
userRepository.save(user);
});
}
return medals;
}