dart format

This commit is contained in:
2026-05-08 20:12:40 +02:00
parent 9e139b5704
commit 3b8da1d3d6
295 changed files with 6404 additions and 4161 deletions
@@ -4,28 +4,41 @@ import '../repository/marianum_dates_repository.dart';
import 'marianum_dates_event.dart';
import 'marianum_dates_state.dart';
class MarianumDatesBloc extends LoadableHydratedBloc<MarianumDatesEvent, MarianumDatesState, MarianumDatesRepository> {
class MarianumDatesBloc
extends
LoadableHydratedBloc<
MarianumDatesEvent,
MarianumDatesState,
MarianumDatesRepository
> {
MarianumDatesBloc() {
on<SetPastEventsVisible>((event, emit) {
add(Emit((state) => state.copyWith(showPastEvents: event.shouldBeVisible)));
add(
Emit((state) => state.copyWith(showPastEvents: event.shouldBeVisible)),
);
});
}
bool showPastEvents() => innerState?.showPastEvents ?? false;
List<MarianumDate>? getEvents() => innerState?.events
.where((e) => showPastEvents() || e.end.isAfter(DateTime.now()))
.toList() ?? [];
List<MarianumDate>? getEvents() =>
innerState?.events
.where((e) => showPastEvents() || e.end.isAfter(DateTime.now()))
.toList() ??
[];
@override
MarianumDatesState fromNothing() => const MarianumDatesState(showPastEvents: false, events: []);
MarianumDatesState fromNothing() =>
const MarianumDatesState(showPastEvents: false, events: []);
@override
MarianumDatesState fromStorage(Map<String, dynamic> json) => MarianumDatesState.fromJson(json);
MarianumDatesState fromStorage(Map<String, dynamic> json) =>
MarianumDatesState.fromJson(json);
@override
Future<void> gatherData() async {
final events = await repo.getEvents();
add(DataGathered((state) => state.copyWith(events: events)));
}
@override
MarianumDatesRepository repository() => MarianumDatesRepository();
@override
@@ -1,7 +1,8 @@
import '../../../infrastructure/utility_widgets/loadable_hydrated_bloc/loadable_hydrated_bloc_event.dart';
import 'marianum_dates_state.dart';
sealed class MarianumDatesEvent extends LoadableHydratedBlocEvent<MarianumDatesState> {}
sealed class MarianumDatesEvent
extends LoadableHydratedBlocEvent<MarianumDatesState> {}
class SetPastEventsVisible extends MarianumDatesEvent {
final bool shouldBeVisible;
@@ -11,7 +11,8 @@ abstract class MarianumDatesState with _$MarianumDatesState {
required List<MarianumDate> events,
}) = _MarianumDatesState;
factory MarianumDatesState.fromJson(Map<String, Object?> json) => _$MarianumDatesStateFromJson(json);
factory MarianumDatesState.fromJson(Map<String, Object?> json) =>
_$MarianumDatesStateFromJson(json);
}
@freezed
@@ -25,5 +26,6 @@ abstract class MarianumDate with _$MarianumDate {
required bool isAllDay,
}) = _MarianumDate;
factory MarianumDate.fromJson(Map<String, Object?> json) => _$MarianumDateFromJson(json);
factory MarianumDate.fromJson(Map<String, Object?> json) =>
_$MarianumDateFromJson(json);
}
@@ -4,12 +4,15 @@ import 'package:enough_icalendar/enough_icalendar.dart';
import '../bloc/marianum_dates_state.dart';
class MarianumDatesGetEvents {
static const String url = 'https://public-cal.marianumlan.de/cal_public/ad4c5da8-7466-9c72-89cb-8b8d9a5cf26c';
static const String url =
'https://public-cal.marianumlan.de/cal_public/ad4c5da8-7466-9c72-89cb-8b8d9a5cf26c';
final Dio _dio = Dio(BaseOptions(
connectTimeout: const Duration(seconds: 10),
receiveTimeout: const Duration(seconds: 30),
));
final Dio _dio = Dio(
BaseOptions(
connectTimeout: const Duration(seconds: 10),
receiveTimeout: const Duration(seconds: 30),
),
);
Future<List<MarianumDate>> run() async {
final response = await _dio.get<String>(url);
@@ -20,7 +23,11 @@ class MarianumDatesGetEvents {
final calendar = root is VCalendar ? root : null;
final source = calendar?.children ?? root.children;
final events = source.whereType<VEvent>().map(_toMarianumDate).whereType<MarianumDate>().toList();
final events = source
.whereType<VEvent>()
.map(_toMarianumDate)
.whereType<MarianumDate>()
.toList();
events.sort((a, b) => a.start.compareTo(b.start));
return events;
}
@@ -41,8 +48,11 @@ class MarianumDatesGetEvents {
}
static bool _isAllDay(DateTime start, DateTime end) {
final startMidnight = start.hour == 0 && start.minute == 0 && start.second == 0;
final startMidnight =
start.hour == 0 && start.minute == 0 && start.second == 0;
final endMidnight = end.hour == 0 && end.minute == 0 && end.second == 0;
return startMidnight && endMidnight && end.difference(start).inHours % 24 == 0;
return startMidnight &&
endMidnight &&
end.difference(start).inHours % 24 == 0;
}
}