From abad04554cc35ad70f453c92f46ebdcb8a308626 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Elias=20M=C3=BCller?= Date: Wed, 22 Feb 2023 12:58:42 +0100 Subject: [PATCH] Remove old Server logic, cleanup --- lib/app.dart | 56 +++---- lib/{dataOld => data}/accountModel.dart | 0 lib/dataOld/incomingPacket.dart | 43 ------ .../incommingPackets/authenticatePacket.dart | 19 --- lib/dataOld/incommingPackets/errorPacket.dart | 22 --- .../incommingPackets/fileListPacket.dart | 29 ---- .../incommingPackets/serverInfoPacket.dart | 25 --- .../incommingPackets/talkChatPacket.dart | 27 ---- .../incommingPackets/talkContactsPacket.dart | 45 ------ .../talkNotificationsPacket.dart | 14 -- .../incommingPackets/timetablePacket.dart | 68 -------- lib/dataOld/outgoingPacket.dart | 15 -- .../talkContactsAskPacket.dart | 9 -- lib/dataOld/socketConnection.dart | 10 -- lib/main.dart | 18 +-- lib/screen/login/login.dart | 2 +- lib/screen/pages/files/files.dart | 8 - lib/screen/pages/timetable/testTimetable.dart | 145 ------------------ lib/screen/pages/timetable/timetableOld.dart | 104 ------------- lib/screen/pages/timetable/weekView.dart | 23 +-- lib/screen/settings/settings.dart | 2 +- lib/widget/loadingPacket.dart | 29 ---- 22 files changed, 36 insertions(+), 677 deletions(-) rename lib/{dataOld => data}/accountModel.dart (100%) delete mode 100644 lib/dataOld/incomingPacket.dart delete mode 100644 lib/dataOld/incommingPackets/authenticatePacket.dart delete mode 100644 lib/dataOld/incommingPackets/errorPacket.dart delete mode 100644 lib/dataOld/incommingPackets/fileListPacket.dart delete mode 100644 lib/dataOld/incommingPackets/serverInfoPacket.dart delete mode 100644 lib/dataOld/incommingPackets/talkChatPacket.dart delete mode 100644 lib/dataOld/incommingPackets/talkContactsPacket.dart delete mode 100644 lib/dataOld/incommingPackets/talkNotificationsPacket.dart delete mode 100644 lib/dataOld/incommingPackets/timetablePacket.dart delete mode 100644 lib/dataOld/outgoingPacket.dart delete mode 100644 lib/dataOld/outgoingPackets/talkContactsAskPacket.dart delete mode 100644 lib/dataOld/socketConnection.dart delete mode 100644 lib/screen/pages/timetable/testTimetable.dart delete mode 100644 lib/screen/pages/timetable/timetableOld.dart delete mode 100644 lib/widget/loadingPacket.dart diff --git a/lib/app.dart b/lib/app.dart index 6f61b1c..9c6a021 100644 --- a/lib/app.dart +++ b/lib/app.dart @@ -3,9 +3,6 @@ import 'dart:async'; import 'package:flutter/material.dart'; import 'package:marianum_mobile/screen/pages/timetable/timetable.dart'; -import 'package:provider/provider.dart'; - -import 'dataOld/incommingPackets/talkNotificationsPacket.dart'; import 'screen/pages/files/files.dart'; import 'screen/pages/more/overhang.dart'; import 'screen/pages/talk/chatList.dart'; @@ -81,36 +78,31 @@ class _AppState extends State { BottomNavigationBarItem(icon: Stack( children: [ const Icon(Icons.chat), - - Consumer( - builder: (context, data, child) { - return Visibility( - visible: data.amount != 0, - child: Positioned( - right: 0, - child: Container( - padding: const EdgeInsets.all(1), - decoration: BoxDecoration( - color: Colors.red, - borderRadius: BorderRadius.circular(6), - ), - constraints: const BoxConstraints( - minWidth: 12, - minHeight: 12, - ), - child: Text( - "${data.amount}", - style: const TextStyle( - color: Colors.black, - fontSize: 10, - ), - textAlign: TextAlign.center, - ), - ), + Visibility( + visible: true, + child: Positioned( + right: 0, + child: Container( + padding: const EdgeInsets.all(1), + decoration: BoxDecoration( + color: Colors.red, + borderRadius: BorderRadius.circular(6), ), - ); - }, - ) + constraints: const BoxConstraints( + minWidth: 12, + minHeight: 12, + ), + child: const Text( + "1", + style: TextStyle( + color: Colors.black, + fontSize: 10, + ), + textAlign: TextAlign.center, + ), + ), + ), + ), ], ), label: "Talk"), const BottomNavigationBarItem(icon: Icon(Icons.folder), label: "Dateien"), diff --git a/lib/dataOld/accountModel.dart b/lib/data/accountModel.dart similarity index 100% rename from lib/dataOld/accountModel.dart rename to lib/data/accountModel.dart diff --git a/lib/dataOld/incomingPacket.dart b/lib/dataOld/incomingPacket.dart deleted file mode 100644 index d5fcff1..0000000 --- a/lib/dataOld/incomingPacket.dart +++ /dev/null @@ -1,43 +0,0 @@ -import 'dart:convert'; -import 'dart:developer'; - -import 'package:flutter/cupertino.dart'; -import 'package:marianum_mobile/dataOld/socketConnection.dart'; - -class IncomingPacket extends ChangeNotifier { - - String packetId; - bool useJsonDecode; - - bool _isReceived = false; - bool get isReceived => _isReceived; - - IncomingPacket(this.packetId, {this.useJsonDecode = true}) { - SocketConnection.read.listen((event) { - if(event.startsWith("$packetId:")) { - _isReceived = true; - - // THIS listener handles the incomming request - log("$packetId is handled!"); - String content = event.split("$packetId:")[1]; - handle(useJsonDecode ? jsonDecode(content) : content); - } - notifyListeners(); - }); - } - - void invoke({Object? data, bool indicateLoading = false, bool allowNotifyListeners = true}) { - data = data ?? {}; - log("$packetId is invoked with data: $data"); - SocketConnection.write.add("$packetId:${jsonEncode(data)}"); - - if(indicateLoading) { - _isReceived = false; - if(allowNotifyListeners) notifyListeners(); - } - } - - void handle(dynamic data) { - log("Warning: $packetId packet listener is registered, but no handle is defined!"); - } -} \ No newline at end of file diff --git a/lib/dataOld/incommingPackets/authenticatePacket.dart b/lib/dataOld/incommingPackets/authenticatePacket.dart deleted file mode 100644 index b2d7963..0000000 --- a/lib/dataOld/incommingPackets/authenticatePacket.dart +++ /dev/null @@ -1,19 +0,0 @@ - - -import 'package:shared_preferences/shared_preferences.dart'; - -import '../incomingPacket.dart'; - -class AuthenticatePacket extends IncomingPacket { - AuthenticatePacket() : super("authenticate"); - - @override - void handle(data) { - SharedPreferences.getInstance().then((value) => { - invoke(data: { - 'username': value.getString("username"), - 'password': value.getString("password") - }) - }); - } -} \ No newline at end of file diff --git a/lib/dataOld/incommingPackets/errorPacket.dart b/lib/dataOld/incommingPackets/errorPacket.dart deleted file mode 100644 index 83b8576..0000000 --- a/lib/dataOld/incommingPackets/errorPacket.dart +++ /dev/null @@ -1,22 +0,0 @@ - -import '../incomingPacket.dart'; - -class ErrorPacket extends IncomingPacket { - ErrorPacket() : super("error", useJsonDecode: false); - - bool _errorDismissed = true; - bool get errorDismissed => _errorDismissed; - set errorDismissed(bool value) { - _errorDismissed = value; - notifyListeners(); - } - - String _errorText = ""; - String get errorText => _errorText; - - @override - void handle(data) { - _errorDismissed = false; - _errorText = data; - } -} \ No newline at end of file diff --git a/lib/dataOld/incommingPackets/fileListPacket.dart b/lib/dataOld/incommingPackets/fileListPacket.dart deleted file mode 100644 index 48722f8..0000000 --- a/lib/dataOld/incommingPackets/fileListPacket.dart +++ /dev/null @@ -1,29 +0,0 @@ - -import '../incomingPacket.dart'; - -class FileEntry { - String name; - bool isFolder; - String path; - - FileEntry(this.name, this.isFolder, this.path); -} - -class FileListPacket extends IncomingPacket { - FileListPacket() : super("fileList"); - - List _entries = List.empty(growable: true); - List get entries => _entries; - - String _lastPath = "/"; - String get lastPath => _lastPath; - - @override - void handle(data) { - _entries = List.empty(growable: true); - _lastPath = data['backLink']; - data['files'].forEach((value) => { - _entries.add(FileEntry(value['name'], value['is_folder'], value['path'])) - }); - } -} \ No newline at end of file diff --git a/lib/dataOld/incommingPackets/serverInfoPacket.dart b/lib/dataOld/incommingPackets/serverInfoPacket.dart deleted file mode 100644 index b65386f..0000000 --- a/lib/dataOld/incommingPackets/serverInfoPacket.dart +++ /dev/null @@ -1,25 +0,0 @@ - - -import '../incomingPacket.dart'; - -class ServerInfoPacket extends IncomingPacket { - ServerInfoPacket() : super('serverInfo'); - - String _serverName = "Unbekannt"; - String _serverOwner = "Unbekannt"; - String _serverVersion = "?"; - String _legal = "Keine"; - - String get serverName => _serverName; - String get serverOwner => _serverOwner; - String get serverVersion => _serverVersion; - String get legal => _legal; - - @override - void handle(data) { - _serverName = data['name']; - _serverOwner = data['owner']; - _serverVersion = data['version']; - _legal = data['legal']; - } -} \ No newline at end of file diff --git a/lib/dataOld/incommingPackets/talkChatPacket.dart b/lib/dataOld/incommingPackets/talkChatPacket.dart deleted file mode 100644 index 1b99429..0000000 --- a/lib/dataOld/incommingPackets/talkChatPacket.dart +++ /dev/null @@ -1,27 +0,0 @@ - -import '../incomingPacket.dart'; - -class TalkMessage { - bool self; - String sender; - String content; - String date; - - TalkMessage(this.self, this.sender, this.content, this.date); -} - -class TalkChatPacket extends IncomingPacket { - TalkChatPacket() : super("talkChat"); - - List _messages = List.empty(growable: true); - List get messages => _messages; - - @override - void handle(data) { - _messages = List.empty(growable: true); - print(data); - data.forEach((message) => { - _messages.add(TalkMessage(true, message['actorId'], message['message'], message['timestamp'])) - }); - } -} \ No newline at end of file diff --git a/lib/dataOld/incommingPackets/talkContactsPacket.dart b/lib/dataOld/incommingPackets/talkContactsPacket.dart deleted file mode 100644 index d60d239..0000000 --- a/lib/dataOld/incommingPackets/talkContactsPacket.dart +++ /dev/null @@ -1,45 +0,0 @@ - -import 'package:jiffy/jiffy.dart'; - -import '../incomingPacket.dart'; - -class TalkContact { - String name; - String lastMessage; - String lastTime; - String profilePicture; - bool unreadMessages; - bool isGroup; - String userToken; - - TalkContact(this.name, this.lastMessage, this.lastTime, this.profilePicture, this.unreadMessages, this.isGroup, this.userToken); -} - -class TalkContactsPaket extends IncomingPacket { - TalkContactsPaket() : super('talkContacts'); - - List _contacts = List.empty(growable: true); - - List get contacts => _contacts; - - @override - void handle(data) { - _contacts = List.empty(growable: true); - //data["ocs"]["data"].sort((a, b) => a['lastActivity'].compareTo(b['lastActivity'])); - - data.forEach((value) async { - await Jiffy.locale("de"); - _contacts.add( - TalkContact( - value['displayName'], - value['lastMessage']['message'], - Jiffy(DateTime.fromMillisecondsSinceEpoch(value['lastActivity'] * 1000)).fromNow(), - value['name'] != null ? "https://cloud.marianum-fulda.de/avatar/${value['name']}/128" : "", - value['unreadMessages'] > 0, - value['type'] != 1, - value['token'] - ) - ); - }); - } -} \ No newline at end of file diff --git a/lib/dataOld/incommingPackets/talkNotificationsPacket.dart b/lib/dataOld/incommingPackets/talkNotificationsPacket.dart deleted file mode 100644 index 43f5b41..0000000 --- a/lib/dataOld/incommingPackets/talkNotificationsPacket.dart +++ /dev/null @@ -1,14 +0,0 @@ - -import '../incomingPacket.dart'; - -class TalkNotificationsPacket extends IncomingPacket { - TalkNotificationsPacket() : super("talkNotifications"); - - int _amount = 0; - int get amount => _amount; - - @override - void handle(data) { - _amount = data['amount']; - } -} \ No newline at end of file diff --git a/lib/dataOld/incommingPackets/timetablePacket.dart b/lib/dataOld/incommingPackets/timetablePacket.dart deleted file mode 100644 index 2693fba..0000000 --- a/lib/dataOld/incommingPackets/timetablePacket.dart +++ /dev/null @@ -1,68 +0,0 @@ - - -import '../incomingPacket.dart'; - -class TimetablePacket extends IncomingPacket { - TimetablePacket() : super('timetable'); - - TimeTableData _timeTable = TimeTableData(); - TimeTableData get timeTable => _timeTable; - - @override - void handle(data) { - _timeTable = TimeTableData(); - data.forEach((day) { - TimeTableDay dayData = TimeTableDay(List.empty(growable: true), day['title']); - day['tiles'].forEach((tile) { - dayData._entries.add(TimeTableEntry( - tile['title'], tile['title'], tile['room'], tile['title'], - TimeTableEntryTime(tile['begin']['hour'], tile['begin']['minute']), - TimeTableEntryTime(tile['end']['hour'], tile['end']['minute']) - )); - }); - - _timeTable._days.add(dayData); - }); - } -} - -class TimeTableData { - List _days = []; - - List get days => _days; - - set days(List value) { - _days = value; - } -} - -class TimeTableDay { - final List _entries; - final String _name; - - TimeTableDay(this._entries, this._name); - - List get entries => _entries; - String get name => _name; - -} - -class TimeTableEntry { - late String subject; - late String teacher; - late String room; - late String classes; - - late TimeTableEntryTime start; - late TimeTableEntryTime end; - - TimeTableEntry(this.subject, this.teacher, this.room, this.classes, - this.start, this.end); -} - -class TimeTableEntryTime { - int hour; - int minute; - - TimeTableEntryTime(this.hour, this.minute); -} \ No newline at end of file diff --git a/lib/dataOld/outgoingPacket.dart b/lib/dataOld/outgoingPacket.dart deleted file mode 100644 index d2ad0dd..0000000 --- a/lib/dataOld/outgoingPacket.dart +++ /dev/null @@ -1,15 +0,0 @@ -import 'dart:convert'; - -import 'package:marianum_mobile/dataOld/socketConnection.dart'; - - -class OutgoingPacket { - final String command; - final dynamic data; - - OutgoingPacket({required this.command, required this.data}); - - void send() { - SocketConnection.write.add("$command:${jsonEncode(data)}"); - } -} \ No newline at end of file diff --git a/lib/dataOld/outgoingPackets/talkContactsAskPacket.dart b/lib/dataOld/outgoingPackets/talkContactsAskPacket.dart deleted file mode 100644 index beacb17..0000000 --- a/lib/dataOld/outgoingPackets/talkContactsAskPacket.dart +++ /dev/null @@ -1,9 +0,0 @@ - -import '../outgoingPacket.dart'; - -class TalkContactsAskPacket extends OutgoingPacket { - TalkContactsAskPacket() : super( - command: "talkContacts", - data: {}, - ); -} \ No newline at end of file diff --git a/lib/dataOld/socketConnection.dart b/lib/dataOld/socketConnection.dart deleted file mode 100644 index fb4220c..0000000 --- a/lib/dataOld/socketConnection.dart +++ /dev/null @@ -1,10 +0,0 @@ -import 'package:web_socket_channel/web_socket_channel.dart'; - -class SocketConnection { - static final _connection = WebSocketChannel.connect( - Uri.parse('ws://localhost:1234'), - ); - - static var read = _connection.stream.asBroadcastStream(); - static var write = _connection.sink; -} \ No newline at end of file diff --git a/lib/main.dart b/lib/main.dart index 8136ba2..4eb5e2e 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -2,7 +2,7 @@ import 'dart:io'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; -import 'package:marianum_mobile/data/files/filesProps.dart'; +import 'package:jiffy/jiffy.dart'; import 'package:marianum_mobile/data/timetable/timetableProps.dart'; import 'package:marianum_mobile/screen/login/login.dart'; import 'package:marianum_mobile/widget/loadingSpinner.dart'; @@ -12,10 +12,7 @@ import 'package:shared_preferences/shared_preferences.dart'; import 'app.dart'; import 'data/chatList/chatListProps.dart'; import 'data/chatList/chatProps.dart'; -import 'dataOld/accountModel.dart'; -import 'dataOld/incommingPackets/authenticatePacket.dart'; -import 'dataOld/incommingPackets/errorPacket.dart'; -import 'dataOld/incommingPackets/talkNotificationsPacket.dart'; +import 'data/accountModel.dart'; Future main() async { WidgetsFlutterBinding.ensureInitialized(); @@ -23,23 +20,13 @@ Future main() async { ByteData data = await PlatformAssetBundle().load('assets/ca/lets-encrypt-r3.pem'); SecurityContext.defaultContext.setTrustedCertificatesBytes(data.buffer.asUint8List()); - AuthenticatePacket(); - runApp( MultiProvider( providers: [ ChangeNotifierProvider(create: (context) => AccountModel()), - ChangeNotifierProvider(create: (context) => ErrorPacket()), - // ChangeNotifierProvider(create: (context) => ServerInfoPacket()), - // ChangeNotifierProvider(create: (context) => TalkContactsPaket()), - ChangeNotifierProvider(create: (context) => TalkNotificationsPacket()), - // ChangeNotifierProvider(create: (context) => FileListPacket()), - // ChangeNotifierProvider(create: (context) => TalkChatPacket()), - // ChangeNotifierProvider(create: (context) => TimetablePacket()), ChangeNotifierProvider(create: (context) => TimetableProps()), ChangeNotifierProvider(create: (context) => ChatListProps()), ChangeNotifierProvider(create: (context) => ChatProps()), - //ChangeNotifierProvider(create: (context) => FilesProps()), ], child: const Main(), ) @@ -61,6 +48,7 @@ class _MainState extends State
{ @override void initState() { super.initState(); + Jiffy.locale("de"); _storage.then((SharedPreferences preferences) => preferences.getBool("loggedIn") ?? false).then((value) => { if(value) { Provider.of(context, listen: false).login() diff --git a/lib/screen/login/login.dart b/lib/screen/login/login.dart index fece61c..5b50c43 100644 --- a/lib/screen/login/login.dart +++ b/lib/screen/login/login.dart @@ -11,7 +11,7 @@ import 'package:shared_preferences/shared_preferences.dart'; import '../../api/webuntis/queries/authenticate/authenticateParams.dart'; import '../../api/webuntis/queries/authenticate/authenticate.dart'; -import '../../dataOld/accountModel.dart'; +import '../../data/accountModel.dart'; class Login extends StatefulWidget { const Login({Key? key}) : super(key: key); diff --git a/lib/screen/pages/files/files.dart b/lib/screen/pages/files/files.dart index 21e2a67..cc89b66 100644 --- a/lib/screen/pages/files/files.dart +++ b/lib/screen/pages/files/files.dart @@ -1,13 +1,5 @@ -import 'dart:developer'; - import 'package:flutter/material.dart'; -import 'package:marianum_mobile/api/marianumcloud/webdav/queries/listFiles/listFilesCache.dart'; -import 'package:marianum_mobile/data/files/filesProps.dart'; -import 'package:marianum_mobile/widget/loadingPacket.dart'; -import 'package:nextcloud/nextcloud.dart'; -import 'package:provider/provider.dart'; -import 'package:webdav/webdav.dart'; class Files extends StatefulWidget { const Files({Key? key}) : super(key: key); diff --git a/lib/screen/pages/timetable/testTimetable.dart b/lib/screen/pages/timetable/testTimetable.dart deleted file mode 100644 index 13aff8f..0000000 --- a/lib/screen/pages/timetable/testTimetable.dart +++ /dev/null @@ -1,145 +0,0 @@ -import 'dart:developer'; - -import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; -import 'package:jiffy/jiffy.dart'; -import 'package:marianum_mobile/api/webuntis/queries/getRooms/getRooms.dart'; -import 'package:marianum_mobile/data/timetable/timetableProps.dart'; -import 'package:marianum_mobile/widget/loadingSpinner.dart'; -import 'package:marianum_mobile/widget/offlineError.dart'; -import 'package:timetable_view/timetable_view.dart'; - -import '../../../api/webuntis/queries/getTimetable/getTimetableParams.dart'; -import '../../../api/webuntis/queries/getTimetable/getTimetableResponse.dart'; -import '../../../api/webuntis/queries/getTimetable/getTimetable.dart'; - -class TestTimeTable extends StatefulWidget { - const TestTimeTable({Key? key}) : super(key: key); - - @override - State createState() => _TestTimeTableState(); -} - -class _TestTimeTableState extends State { - - late Future data; - - @override - void initState() { - data = GetTimetable( - GetTimetableParams( - options: GetTimetableParamsOptions( - element: GetTimetableParamsOptionsElement( - id: 92, - type: 5, - keyType: GetTimetableParamsOptionsElementKeyType.id, - ), - startDate: 20230206, - endDate: 20230212, - ) - ) - ).run(); - - - GetRooms().run().then((value) => { - log(value.rawResponse.body) - }); - - super.initState(); - } - - @override - Widget build(BuildContext context) { - return FutureBuilder( - builder: (BuildContext context, AsyncSnapshot snapshot) { - if(snapshot.hasData) { - return Center( - child: TimetableView( - laneEventsList: _buildLaneEvents(snapshot.data!), - onEventTap: (TableEvent event) {}, - timetableStyle: CustomTableStyle(context), - onEmptySlotTap: (int laneIndex, TableEventTime start, TableEventTime end) => {}, - ), - ); - } else if(snapshot.hasError) { - return const OfflineBanner(text: "Der Stundenplan konnte nicht geladen werden!"); - } else { - return const Center( - child: CircularProgressIndicator(), - ); - } - }, - future: data, - ); - } - - List _buildLaneEvents(GetTimetableResponse data) { - List laneEvents = List.empty(growable: true); - Jiffy.locale("de"); - - List dayList = data.result.map((e) => e.date).toSet().toList(); - dayList.sort((a, b) => a-b); - dayList.forEach((day) { - //Every Day - - laneEvents.add( - LaneEvents( - lane: Lane( - laneIndex: day, - name: "${Jiffy(day.toString()).format("dd.MM.yy")}\n${Jiffy(day.toString()).format("EEEE")}", - textStyle: TextStyle( - color: Theme.of(context).primaryColor, - fontWeight: FontWeight.bold, - fontSize: 14 - ) - ), - events: List.generate( - data.result.where((element) => element.date == day).length, - (index) { - GetTimetableResponseObject tableEvent = data.result.where((element) => element.date == day).elementAt(index); - return TableEvent( - title: "${tableEvent.substText}", - eventId: tableEvent.id, - laneIndex: day, - startTime: parseTime(tableEvent.startTime), - endTime: parseTime(tableEvent.endTime), - padding: const EdgeInsets.all(5), - backgroundColor: Theme.of(context).primaryColor, - location: "\n${tableEvent.statflags}", - ); - } - ) - ) - ); - - }); - - return laneEvents; - } - - TableEventTime parseTime(int input) { - String time = input.toString().length < 4 ? "0$input" : input.toString(); - return TableEventTime(hour: int.parse(time.substring(0, 2)), minute: int.parse(time.substring(2, 4))); - } -} - -class CustomTableStyle extends TimetableStyle { - dynamic context; - CustomTableStyle(this.context); - - @override - int get startHour => 07; - @override - int get endHour => 17; - @override - Color get cornerColor => Theme.of(context).primaryColor; - @override - Color get timeItemTextColor => Theme.of(context).primaryColor; - @override - double get timeItemHeight => 70; - @override - double get timeItemWidth => 50; - @override - double get laneWidth => MediaQuery.of(context).size.width - timeItemWidth; - -} \ No newline at end of file diff --git a/lib/screen/pages/timetable/timetableOld.dart b/lib/screen/pages/timetable/timetableOld.dart deleted file mode 100644 index f905924..0000000 --- a/lib/screen/pages/timetable/timetableOld.dart +++ /dev/null @@ -1,104 +0,0 @@ - - -import 'package:flutter/material.dart'; -import 'package:marianum_mobile/widget/loadingPacket.dart'; -import 'package:provider/provider.dart'; -import 'package:timetable_view/timetable_view.dart'; - -import '../../../dataOld/incommingPackets/timetablePacket.dart'; - -class TimetableOld extends StatefulWidget { - const TimetableOld({Key? key}) : super(key: key); - - @override - State createState() => _TimetableOldState(); -} - -class _TimetableOldState extends State { - - @override - void initState() { - Provider.of(context, listen: false).invoke(); - super.initState(); - } - - @override - Widget build(BuildContext context) { - return Consumer( - builder: (context, data, child) { - - return LoadingPacket(packet: data, child: TimetableView( - laneEventsList: _buildLaneEvents(context, data), - onEventTap: (TableEvent event) {}, - timetableStyle: CustomTableStyle(context), - onEmptySlotTap: (int laneIndex, TableEventTime start, TableEventTime end) => {}, - )); - }, - ); - } - - List _buildLaneEvents(context, TimetablePacket data) { - List laneEvents = List.empty(growable: true); - for (var day in data.timeTable.days) { - List tableEvents = List.empty(growable: true); - - for (var element in day.entries) { - tableEvents.add( - TableEvent( - backgroundColor: Theme.of(context).primaryColor, - padding: const EdgeInsets.all(5), - title: element.subject, - location: "\n${element.room}", - eventId: tableEvents.length, - laneIndex: tableEvents.length, - startTime: TableEventTime(hour: element.start.hour, minute: element.start.minute), - endTime: TableEventTime(hour: element.end.hour, minute: element.end.minute) - ) - ); - } - - laneEvents.add( - LaneEvents( - lane: Lane(laneIndex: laneEvents.length, name: day.name, textStyle: TextStyle(color: Theme.of(context).primaryColor, fontWeight: FontWeight.bold)), - events: tableEvents - ) - ); - } - - - return laneEvents; - } - - void onEventTapCallBack(TableEvent event) { - print( - "Event Clicked!! LaneIndex ${event.laneIndex} Title: ${event.title} StartHour: ${event.startTime.hour} EndHour: ${event.endTime.hour}"); - } - - void onTimeSlotTappedCallBack( - int laneIndex, TableEventTime start, TableEventTime end) { - print( - "Empty Slot Clicked !! LaneIndex: $laneIndex StartHour: ${start.hour} EndHour: ${end.hour}"); - } -} - -class CustomTableStyle extends TimetableStyle { - dynamic context; - CustomTableStyle(context) { - this.context = context; - } - - - @override - int get startHour => 07; - @override - int get endHour => 17; - @override - double get laneWidth => 200; - @override - Color get cornerColor => Theme.of(context).primaryColor; - @override - Color get timeItemTextColor => Theme.of(context).primaryColor; - @override - // TODO: implement timeItemHeight - double get timeItemHeight => 60; -} \ No newline at end of file diff --git a/lib/screen/pages/timetable/weekView.dart b/lib/screen/pages/timetable/weekView.dart index 98f2f40..d594905 100644 --- a/lib/screen/pages/timetable/weekView.dart +++ b/lib/screen/pages/timetable/weekView.dart @@ -14,20 +14,12 @@ import '../../../data/timetable/timetableProps.dart'; extension DateHelpers on DateTime { bool isToday() { final now = DateTime.now(); - return now.day == this.day && - now.month == this.month && - now.year == this.year; - } - - bool isYesterday() { - final yesterday = DateTime.now().subtract(Duration(days: 1)); - return yesterday.day == this.day && - yesterday.month == this.month && - yesterday.year == this.year; + return now.day == day && + now.month == month && + now.year == year; } } - class WeekView extends StatefulWidget { final TimetableProps value; const WeekView(this.value, {Key? key}) : super(key: key); @@ -51,13 +43,13 @@ class _WeekViewState extends State { showModalBottomSheet(context: context, builder: (context) => Column( children: [ Padding( - padding: EdgeInsets.symmetric(vertical: 30), + padding: const EdgeInsets.symmetric(vertical: 30), child: Center( child: Column( children: [ - const Icon(Icons.info), + Icon(Icons.info, color: event.backgroundColor), const SizedBox(height: 10), - Text("${subject.alternateName} - (${subject.longName})", style: const TextStyle(fontSize: 30)), + Text("${getEventPrefix(timetableData.code)}${subject.alternateName} - (${subject.longName})", style: const TextStyle(fontSize: 30)), Text("${Jiffy(event.startTime).format("HH:mm")} - ${Jiffy(event.endTime).format("HH:mm")}", style: const TextStyle(fontSize: 15)), ], ), @@ -69,7 +61,7 @@ class _WeekViewState extends State { children: [ ListTile( leading: const Icon(Icons.notifications_active), - title: Text("Status: ${timetableData.code != null ? "Entfällt" : "Findet statt"}"), + title: Text("Status: ${timetableData.code != null ? "Geändert" : "Regulär"}"), ), ListTile( leading: const Icon(Icons.room), @@ -109,7 +101,6 @@ class _WeekViewState extends State { List _buildLaneEvents(TimetableProps data) { List laneEvents = List.empty(growable: true); - Jiffy.locale("de"); // todo move outwards GetTimetableResponse timetable = data.getTimetableResponse; GetRoomsResponse rooms = data.getRoomsResponse; diff --git a/lib/screen/settings/settings.dart b/lib/screen/settings/settings.dart index a940aaf..6a48c4a 100644 --- a/lib/screen/settings/settings.dart +++ b/lib/screen/settings/settings.dart @@ -3,7 +3,7 @@ import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import 'package:shared_preferences/shared_preferences.dart'; -import '../../dataOld/accountModel.dart'; +import '../../data/accountModel.dart'; import 'debug/debugOverview.dart'; class Settings extends StatefulWidget { diff --git a/lib/widget/loadingPacket.dart b/lib/widget/loadingPacket.dart deleted file mode 100644 index 963e697..0000000 --- a/lib/widget/loadingPacket.dart +++ /dev/null @@ -1,29 +0,0 @@ -import 'package:flutter/material.dart'; - -import '../dataOld/incomingPacket.dart'; - -class LoadingPacket extends StatefulWidget { - final Widget child; - final IncomingPacket packet; - - const LoadingPacket({Key? key, required this.child, required this.packet}) : super(key: key); - - @override - State createState() => _LoadingPacketState(); -} - -class _LoadingPacketState extends State { - @override - Widget build(BuildContext context) { - return widget.packet.isReceived ? widget.child : Center( - child: Column( - mainAxisAlignment: MainAxisAlignment.center, - crossAxisAlignment: CrossAxisAlignment.center, - children: [ - const CircularProgressIndicator(), - Padding(padding: const EdgeInsets.all(20), child: Text("Request: '${widget.packet.packetId}'")) - ] - ) - ); - } -}