session and activity delete
This commit is contained in:
@ -1,12 +1,25 @@
|
||||
// import 'package:drift/drift.dart' hide Column;
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:sendtrain/daos/sessions_dao.dart';
|
||||
import 'package:sendtrain/database/database.dart';
|
||||
import '../widgets/session_card.dart';
|
||||
import 'package:collection/collection.dart';
|
||||
|
||||
class SessionsScreen extends StatelessWidget {
|
||||
const SessionsScreen({super.key});
|
||||
|
||||
Widget getSessionCard(session) {
|
||||
if (session != null) {
|
||||
return SessionCard(session: session);
|
||||
} else {
|
||||
return Padding(
|
||||
padding: EdgeInsets.all(15),
|
||||
child: Icon(Icons.do_not_disturb_alt_outlined)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return FutureBuilder<List<Session>>(
|
||||
@ -17,15 +30,15 @@ class SessionsScreen extends StatelessWidget {
|
||||
final pending = sessions.where((session) =>
|
||||
session.status == SessionStatus.completed ||
|
||||
session.status == SessionStatus.missed);
|
||||
final upcoming = sessions.firstWhere(
|
||||
final upcoming = sessions.firstWhereOrNull(
|
||||
(session) => session.status == SessionStatus.pending);
|
||||
final current = sessions.firstWhere(
|
||||
final current = sessions.firstWhereOrNull(
|
||||
(session) => session.status == SessionStatus.started);
|
||||
|
||||
List<Widget> previousSessions = List.generate(pending.length,
|
||||
(i) => SessionCard(type: 1, session: pending.elementAt(i)));
|
||||
Widget upcomingSession = SessionCard(session: upcoming);
|
||||
Widget currentSession = SessionCard(session: current);
|
||||
Widget upcomingSession = getSessionCard(upcoming);
|
||||
Widget currentSession = getSessionCard(current);
|
||||
|
||||
return Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
|
Reference in New Issue
Block a user