공부시간에 초단위 표시 + 백품타 출석 인정 기준(1시간) 안내 문구 추가

랭킹, 공부 타이머 통계, 그룹 멤버 카드에 초단위까지 표시하고,
출석 달력/그룹 화면에 "1시간 이상 공부해야 출석 인정" 안내를 추가.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-29 06:40:32 +00:00
co-authored by Claude Sonnet 5
parent b6e77ad1fa
commit 37f67540dd
5 changed files with 37 additions and 7 deletions
@@ -13,6 +13,7 @@ class StudyCalendarController extends ChangeNotifier {
bool _isBusy = false;
int _currentStreak = 0;
int _longestStreak = 0;
int _attendanceThresholdSeconds = 3600;
Set<String> _studiedDates = {};
Map<String, dynamic> _events = {}; // date -> {title, description}
DateTime _visibleMonth = DateTime.now();
@@ -22,6 +23,7 @@ class StudyCalendarController extends ChangeNotifier {
bool get isBusy => _isBusy;
int get currentStreak => _currentStreak;
int get longestStreak => _longestStreak;
int get attendanceThresholdSeconds => _attendanceThresholdSeconds;
Set<String> get studiedDates => _studiedDates;
Map<String, dynamic> get events => _events;
DateTime get visibleMonth => _visibleMonth;
@@ -68,6 +70,8 @@ class StudyCalendarController extends ChangeNotifier {
final data = jsonDecode(utf8.decode(response.bodyBytes));
_currentStreak = (data['currentStreak'] as num?)?.toInt() ?? 0;
_longestStreak = (data['longestStreak'] as num?)?.toInt() ?? 0;
_attendanceThresholdSeconds =
(data['attendanceThresholdSeconds'] as num?)?.toInt() ?? 3600;
_studiedDates = ((data['studiedDates'] as List<dynamic>?) ?? [])
.map((d) => d.toString())
.toSet();