calendar_state.dart 1.1 KB

123456789101112131415161718192021222324252627282930313233343536
  1. import 'package:intl/intl.dart';
  2. import 'package:get/get.dart';
  3. import '../people_photo/photo_group.dart';
  4. class CalendarState {
  5. static final RxList<PhotoGroup> monthlyAlbums = <PhotoGroup>[].obs;
  6. // 格式化月份
  7. static String formatMonth(String month) {
  8. try {
  9. DateTime date = DateFormat('yyyy-MM').parse(month);
  10. return DateFormat('MMM , yyyy').format(date); // 转换为 "Nov, 2024" 格式
  11. } catch (e) {
  12. return month; // 如果解析失败,返回原始字符串
  13. }
  14. }
  15. static String formatDuration(int seconds) {
  16. int minutes = seconds ~/ 60;
  17. int secs = seconds % 60;
  18. return '${minutes.toString().padLeft(2, '0')}:${secs.toString().padLeft(2, '0')}';
  19. }
  20. static void removePhotosData(Set<String> selectedPhotosIds) {
  21. monthlyAlbums.removeWhere((album) {
  22. album.images
  23. .removeWhere((element) => selectedPhotosIds.contains(element.id));
  24. album.selectedPhotosIds
  25. .removeWhere((element) => selectedPhotosIds.contains(element));
  26. // 如果images为空,删除该 album
  27. return album.images.isEmpty;
  28. });
  29. }
  30. }