diff --git a/.idea/libraries/Dart_Packages.xml b/.idea/libraries/Dart_Packages.xml
index 97476de..ea10ad6 100644
--- a/.idea/libraries/Dart_Packages.xml
+++ b/.idea/libraries/Dart_Packages.xml
@@ -744,6 +744,13 @@
+
+
+
+
+
+
+
@@ -1304,6 +1311,7 @@
+
diff --git a/lib/api/marianumcloud/talk/chat/getChat.dart b/lib/api/marianumcloud/talk/chat/getChat.dart
index 5c23004..314c108 100644
--- a/lib/api/marianumcloud/talk/chat/getChat.dart
+++ b/lib/api/marianumcloud/talk/chat/getChat.dart
@@ -1,11 +1,11 @@
import 'dart:convert';
import 'package:http/http.dart' as http;
-import 'package:http/src/response.dart';
-import 'package:marianum_mobile/api/marianumcloud/talk/chat/getChatResponse.dart';
-import 'package:marianum_mobile/api/marianumcloud/talk/talkApi.dart';
+import 'package:http/http.dart';
+import '../talkApi.dart';
import 'getChatParams.dart';
+import 'getChatResponse.dart';
class GetChat extends TalkApi {
String chatToken;
diff --git a/lib/api/marianumcloud/talk/chat/getChatCache.dart b/lib/api/marianumcloud/talk/chat/getChatCache.dart
index cdf65d2..421726e 100644
--- a/lib/api/marianumcloud/talk/chat/getChatCache.dart
+++ b/lib/api/marianumcloud/talk/chat/getChatCache.dart
@@ -1,9 +1,9 @@
import 'dart:convert';
-import 'package:marianum_mobile/api/marianumcloud/talk/chat/getChat.dart';
-import 'package:marianum_mobile/api/marianumcloud/talk/chat/getChatParams.dart';
-import 'package:marianum_mobile/api/marianumcloud/talk/chat/getChatResponse.dart';
-import 'package:marianum_mobile/api/requestCache.dart';
+import '../../../requestCache.dart';
+import 'getChat.dart';
+import 'getChatParams.dart';
+import 'getChatResponse.dart';
class GetChatCache extends RequestCache {
String chatToken;
diff --git a/lib/api/marianumcloud/talk/chat/getChatParams.dart b/lib/api/marianumcloud/talk/chat/getChatParams.dart
index 5644e18..02ea362 100644
--- a/lib/api/marianumcloud/talk/chat/getChatParams.dart
+++ b/lib/api/marianumcloud/talk/chat/getChatParams.dart
@@ -1,5 +1,6 @@
import 'package:json_annotation/json_annotation.dart';
-import 'package:marianum_mobile/api/apiParams.dart';
+
+import '../../../apiParams.dart';
part 'getChatParams.g.dart';
diff --git a/lib/api/marianumcloud/talk/chat/getChatResponse.dart b/lib/api/marianumcloud/talk/chat/getChatResponse.dart
index 4564d0a..7bbe2ba 100644
--- a/lib/api/marianumcloud/talk/chat/getChatResponse.dart
+++ b/lib/api/marianumcloud/talk/chat/getChatResponse.dart
@@ -1,6 +1,7 @@
import 'package:json_annotation/json_annotation.dart';
-import 'package:marianum_mobile/api/apiResponse.dart';
-import 'package:marianum_mobile/api/marianumcloud/talk/room/getRoomResponse.dart';
+
+import '../../../apiResponse.dart';
+import '../room/getRoomResponse.dart';
part 'getChatResponse.g.dart';
diff --git a/lib/api/marianumcloud/talk/chat/richObjectStringProcessor.dart b/lib/api/marianumcloud/talk/chat/richObjectStringProcessor.dart
index 0ae3834..a1fea08 100644
--- a/lib/api/marianumcloud/talk/chat/richObjectStringProcessor.dart
+++ b/lib/api/marianumcloud/talk/chat/richObjectStringProcessor.dart
@@ -1,5 +1,5 @@
-import 'package:marianum_mobile/api/marianumcloud/talk/chat/getChatResponse.dart';
+import 'getChatResponse.dart';
class RichObjectStringProcessor {
static String parseToString(String message, Map? data) {
diff --git a/lib/api/marianumcloud/talk/room/getRoom.dart b/lib/api/marianumcloud/talk/room/getRoom.dart
index 115567b..1de236f 100644
--- a/lib/api/marianumcloud/talk/room/getRoom.dart
+++ b/lib/api/marianumcloud/talk/room/getRoom.dart
@@ -1,10 +1,10 @@
import 'dart:convert';
import 'package:http/http.dart' as http;
-import 'package:marianum_mobile/api/marianumcloud/talk/room/getRoomResponse.dart';
-import 'package:marianum_mobile/api/marianumcloud/talk/talkApi.dart';
+import '../talkApi.dart';
import 'getRoomParams.dart';
+import 'getRoomResponse.dart';
class GetRoom extends TalkApi {
diff --git a/lib/api/marianumcloud/talk/room/getRoomCache.dart b/lib/api/marianumcloud/talk/room/getRoomCache.dart
index 03b1419..7f80abb 100644
--- a/lib/api/marianumcloud/talk/room/getRoomCache.dart
+++ b/lib/api/marianumcloud/talk/room/getRoomCache.dart
@@ -1,10 +1,10 @@
import 'dart:convert';
-import 'package:marianum_mobile/api/marianumcloud/talk/room/getRoomParams.dart';
-import 'package:marianum_mobile/api/marianumcloud/talk/room/getRoomResponse.dart';
-import 'package:marianum_mobile/api/requestCache.dart';
+import '../../../requestCache.dart';
import 'getRoom.dart';
+import 'getRoomParams.dart';
+import 'getRoomResponse.dart';
class GetRoomCache extends RequestCache {
GetRoomCache({onUpdate, renew}) : super(RequestCache.cacheMinute, onUpdate, renew: renew) {
diff --git a/lib/api/marianumcloud/talk/room/getRoomResponse.dart b/lib/api/marianumcloud/talk/room/getRoomResponse.dart
index dfcb4bb..7a03bdc 100644
--- a/lib/api/marianumcloud/talk/room/getRoomResponse.dart
+++ b/lib/api/marianumcloud/talk/room/getRoomResponse.dart
@@ -1,6 +1,6 @@
import 'package:json_annotation/json_annotation.dart';
-import 'package:marianum_mobile/api/apiResponse.dart';
+import '../../../apiResponse.dart';
import '../chat/getChatResponse.dart';
part 'getRoomResponse.g.dart';
diff --git a/lib/api/marianumcloud/talk/sendMessage/sendMessage.dart b/lib/api/marianumcloud/talk/sendMessage/sendMessage.dart
index f692779..825ad1a 100644
--- a/lib/api/marianumcloud/talk/sendMessage/sendMessage.dart
+++ b/lib/api/marianumcloud/talk/sendMessage/sendMessage.dart
@@ -1,9 +1,9 @@
import 'package:http/http.dart' as http;
-import 'package:http/src/response.dart';
-import 'package:marianum_mobile/api/marianumcloud/talk/sendMessage/sendMessageParams.dart';
-import 'package:marianum_mobile/api/marianumcloud/talk/talkApi.dart';
+import 'package:http/http.dart';
import '../../../apiParams.dart';
+import '../talkApi.dart';
+import 'sendMessageParams.dart';
class SendMessage extends TalkApi {
String chatToken;
diff --git a/lib/api/marianumcloud/talk/sendMessage/sendMessageParams.dart b/lib/api/marianumcloud/talk/sendMessage/sendMessageParams.dart
index a4c7e51..9cbeff6 100644
--- a/lib/api/marianumcloud/talk/sendMessage/sendMessageParams.dart
+++ b/lib/api/marianumcloud/talk/sendMessage/sendMessageParams.dart
@@ -1,5 +1,6 @@
import 'package:json_annotation/json_annotation.dart';
-import 'package:marianum_mobile/api/apiParams.dart';
+
+import '../../../apiParams.dart';
part 'sendMessageParams.g.dart';
diff --git a/lib/api/marianumcloud/talk/sendMessage/sendMessageResponse.dart b/lib/api/marianumcloud/talk/sendMessage/sendMessageResponse.dart
index 384e95d..52fe5c4 100644
--- a/lib/api/marianumcloud/talk/sendMessage/sendMessageResponse.dart
+++ b/lib/api/marianumcloud/talk/sendMessage/sendMessageResponse.dart
@@ -1,4 +1,4 @@
-import 'package:marianum_mobile/api/apiResponse.dart';
+import '../../../apiResponse.dart';
class SendMessageResponse extends ApiResponse {
diff --git a/lib/api/marianumcloud/talk/talkApi.dart b/lib/api/marianumcloud/talk/talkApi.dart
index 6e86b04..ce37004 100644
--- a/lib/api/marianumcloud/talk/talkApi.dart
+++ b/lib/api/marianumcloud/talk/talkApi.dart
@@ -1,9 +1,9 @@
import 'package:http/http.dart' as http;
-import 'package:marianum_mobile/api/apiError.dart';
-import 'package:marianum_mobile/api/apiRequest.dart';
import 'package:shared_preferences/shared_preferences.dart';
+import '../../apiError.dart';
import '../../apiParams.dart';
+import '../../apiRequest.dart';
enum TalkApiMethod {
get,
diff --git a/lib/api/marianumcloud/webdav/queries/downloadFile/downloadFile.dart b/lib/api/marianumcloud/webdav/queries/downloadFile/downloadFile.dart
index 01f54b5..3bfd5ba 100644
--- a/lib/api/marianumcloud/webdav/queries/downloadFile/downloadFile.dart
+++ b/lib/api/marianumcloud/webdav/queries/downloadFile/downloadFile.dart
@@ -1,7 +1,8 @@
-import 'package:marianum_mobile/api/apiResponse.dart';
-import 'package:marianum_mobile/api/marianumcloud/webdav/queries/downloadFile/downloadFileParams.dart';
-import 'package:marianum_mobile/api/marianumcloud/webdav/webdavApi.dart';
+
+import '../../../../apiResponse.dart';
+import '../../webdavApi.dart';
+import 'downloadFileParams.dart';
class DownloadFile extends WebdavApi {
DownloadFileParams params;
diff --git a/lib/api/marianumcloud/webdav/queries/downloadFile/downloadFileParams.dart b/lib/api/marianumcloud/webdav/queries/downloadFile/downloadFileParams.dart
index 2f2c569..48317d3 100644
--- a/lib/api/marianumcloud/webdav/queries/downloadFile/downloadFileParams.dart
+++ b/lib/api/marianumcloud/webdav/queries/downloadFile/downloadFileParams.dart
@@ -1,5 +1,6 @@
import 'package:json_annotation/json_annotation.dart';
-import 'package:marianum_mobile/api/apiParams.dart';
+
+import '../../../../apiParams.dart';
part 'downloadFileParams.g.dart';
diff --git a/lib/api/marianumcloud/webdav/queries/listFiles/listFiles.dart b/lib/api/marianumcloud/webdav/queries/listFiles/listFiles.dart
index 50618ab..df71a76 100644
--- a/lib/api/marianumcloud/webdav/queries/listFiles/listFiles.dart
+++ b/lib/api/marianumcloud/webdav/queries/listFiles/listFiles.dart
@@ -1,10 +1,11 @@
-import 'package:marianum_mobile/api/marianumcloud/webdav/queries/listFiles/cacheableFile.dart';
-import 'package:marianum_mobile/api/marianumcloud/webdav/queries/listFiles/listFilesParams.dart';
-import 'package:marianum_mobile/api/marianumcloud/webdav/queries/listFiles/listFilesResponse.dart';
-import 'package:marianum_mobile/api/marianumcloud/webdav/webdavApi.dart';
import 'package:nextcloud/nextcloud.dart';
+import '../../webdavApi.dart';
+import 'cacheableFile.dart';
+import 'listFilesParams.dart';
+import 'listFilesResponse.dart';
+
class ListFiles extends WebdavApi {
ListFilesParams params;
diff --git a/lib/api/marianumcloud/webdav/queries/listFiles/listFilesCache.dart b/lib/api/marianumcloud/webdav/queries/listFiles/listFilesCache.dart
index aa9e25d..b076392 100644
--- a/lib/api/marianumcloud/webdav/queries/listFiles/listFilesCache.dart
+++ b/lib/api/marianumcloud/webdav/queries/listFiles/listFilesCache.dart
@@ -1,9 +1,10 @@
import 'dart:convert';
import 'package:crypto/crypto.dart';
-import 'package:marianum_mobile/api/marianumcloud/webdav/queries/listFiles/listFiles.dart';
-import 'package:marianum_mobile/api/marianumcloud/webdav/queries/listFiles/listFilesParams.dart';
-import 'package:marianum_mobile/api/marianumcloud/webdav/queries/listFiles/listFilesResponse.dart';
-import 'package:marianum_mobile/api/requestCache.dart';
+
+import '../../../../requestCache.dart';
+import 'listFiles.dart';
+import 'listFilesParams.dart';
+import 'listFilesResponse.dart';
class ListFilesCache extends RequestCache {
String path;
diff --git a/lib/api/marianumcloud/webdav/queries/listFiles/listFilesResponse.dart b/lib/api/marianumcloud/webdav/queries/listFiles/listFilesResponse.dart
index 80bab99..6a2ea37 100644
--- a/lib/api/marianumcloud/webdav/queries/listFiles/listFilesResponse.dart
+++ b/lib/api/marianumcloud/webdav/queries/listFiles/listFilesResponse.dart
@@ -1,6 +1,6 @@
import 'package:json_annotation/json_annotation.dart';
-import 'package:marianum_mobile/api/apiResponse.dart';
+import '../../../../apiResponse.dart';
import 'cacheableFile.dart';
part 'listFilesResponse.g.dart';
diff --git a/lib/api/marianumcloud/webdav/webdavApi.dart b/lib/api/marianumcloud/webdav/webdavApi.dart
index b003370..67c5723 100644
--- a/lib/api/marianumcloud/webdav/webdavApi.dart
+++ b/lib/api/marianumcloud/webdav/webdavApi.dart
@@ -1,7 +1,7 @@
-import 'package:marianum_mobile/api/apiRequest.dart';
import 'package:nextcloud/nextcloud.dart';
import 'package:shared_preferences/shared_preferences.dart';
+import '../../apiRequest.dart';
import '../../apiResponse.dart';
abstract class WebdavApi extends ApiRequest {
diff --git a/lib/api/mhsl/message/getMessages/getMessages.dart b/lib/api/mhsl/message/getMessages/getMessages.dart
index db5a813..99338ff 100644
--- a/lib/api/mhsl/message/getMessages/getMessages.dart
+++ b/lib/api/mhsl/message/getMessages/getMessages.dart
@@ -1,8 +1,9 @@
import 'dart:convert';
import 'package:http/http.dart' as http;
-import 'package:marianum_mobile/api/mhsl/message/getMessages/getMessagesResponse.dart';
-import 'package:marianum_mobile/api/mhsl/message/messageApi.dart';
+
+import '../messageApi.dart';
+import 'getMessagesResponse.dart';
class GetMessages extends MessageApi {
diff --git a/lib/api/mhsl/message/getMessages/getMessagesCache.dart b/lib/api/mhsl/message/getMessages/getMessagesCache.dart
index d009e9f..081f737 100644
--- a/lib/api/mhsl/message/getMessages/getMessagesCache.dart
+++ b/lib/api/mhsl/message/getMessages/getMessagesCache.dart
@@ -1,9 +1,8 @@
import 'dart:convert';
-import 'package:marianum_mobile/api/mhsl/message/getMessages/getMessagesResponse.dart';
-import 'package:marianum_mobile/api/requestCache.dart';
-
+import '../../../requestCache.dart';
import 'getMessages.dart';
+import 'getMessagesResponse.dart';
class GetMessagesCache extends RequestCache {
GetMessagesCache({onUpdate, renew}) : super(RequestCache.cacheMinute, onUpdate, renew: renew) {
diff --git a/lib/api/mhsl/message/getMessages/getMessagesResponse.dart b/lib/api/mhsl/message/getMessages/getMessagesResponse.dart
index 314928a..107c492 100644
--- a/lib/api/mhsl/message/getMessages/getMessagesResponse.dart
+++ b/lib/api/mhsl/message/getMessages/getMessagesResponse.dart
@@ -1,5 +1,6 @@
import 'package:json_annotation/json_annotation.dart';
-import 'package:marianum_mobile/api/apiResponse.dart';
+
+import '../../../apiResponse.dart';
part 'getMessagesResponse.g.dart';
diff --git a/lib/api/requestCache.dart b/lib/api/requestCache.dart
index a5152d2..b07ce40 100644
--- a/lib/api/requestCache.dart
+++ b/lib/api/requestCache.dart
@@ -1,7 +1,8 @@
import 'dart:convert';
import 'package:localstore/localstore.dart';
-import 'package:marianum_mobile/api/webuntis/webuntisError.dart';
+
+import 'webuntis/webuntisError.dart';
abstract class RequestCache {
static const int cacheNothing = 0;
diff --git a/lib/api/webuntis/queries/authenticate/authenticate.dart b/lib/api/webuntis/queries/authenticate/authenticate.dart
index 514717a..cdd5f2c 100644
--- a/lib/api/webuntis/queries/authenticate/authenticate.dart
+++ b/lib/api/webuntis/queries/authenticate/authenticate.dart
@@ -2,9 +2,9 @@ import 'dart:async';
import 'dart:convert';
import 'dart:developer';
-import 'package:marianum_mobile/api/webuntis/webuntisApi.dart';
import 'package:shared_preferences/shared_preferences.dart';
+import '../../webuntisApi.dart';
import 'authenticateParams.dart';
import 'authenticateResponse.dart';
diff --git a/lib/api/webuntis/queries/authenticate/authenticateParams.dart b/lib/api/webuntis/queries/authenticate/authenticateParams.dart
index cab8111..5e6fb48 100644
--- a/lib/api/webuntis/queries/authenticate/authenticateParams.dart
+++ b/lib/api/webuntis/queries/authenticate/authenticateParams.dart
@@ -1,5 +1,6 @@
import 'package:json_annotation/json_annotation.dart';
-import 'package:marianum_mobile/api/apiParams.dart';
+
+import '../../../apiParams.dart';
part 'authenticateParams.g.dart';
diff --git a/lib/api/webuntis/queries/authenticate/authenticateResponse.dart b/lib/api/webuntis/queries/authenticate/authenticateResponse.dart
index d0b7d56..f76ddad 100644
--- a/lib/api/webuntis/queries/authenticate/authenticateResponse.dart
+++ b/lib/api/webuntis/queries/authenticate/authenticateResponse.dart
@@ -1,5 +1,6 @@
import 'package:json_annotation/json_annotation.dart';
-import 'package:marianum_mobile/api/apiResponse.dart';
+
+import '../../../apiResponse.dart';
part 'authenticateResponse.g.dart';
diff --git a/lib/api/webuntis/queries/getHolidays/getHolidays.dart b/lib/api/webuntis/queries/getHolidays/getHolidays.dart
index a953c24..3c280f8 100644
--- a/lib/api/webuntis/queries/getHolidays/getHolidays.dart
+++ b/lib/api/webuntis/queries/getHolidays/getHolidays.dart
@@ -1,7 +1,6 @@
import 'dart:convert';
-import 'package:marianum_mobile/api/webuntis/webuntisApi.dart';
-
+import '../../webuntisApi.dart';
import 'getHolidaysResponse.dart';
class GetHolidays extends WebuntisApi {
diff --git a/lib/api/webuntis/queries/getHolidays/getHolidaysCache.dart b/lib/api/webuntis/queries/getHolidays/getHolidaysCache.dart
index 2accf6b..e205749 100644
--- a/lib/api/webuntis/queries/getHolidays/getHolidaysCache.dart
+++ b/lib/api/webuntis/queries/getHolidays/getHolidaysCache.dart
@@ -1,8 +1,8 @@
import 'dart:convert';
-import 'package:marianum_mobile/api/requestCache.dart';
-import 'package:marianum_mobile/api/webuntis/queries/getHolidays/getHolidays.dart';
-import 'package:marianum_mobile/api/webuntis/queries/getHolidays/getHolidaysResponse.dart';
+import '../../../requestCache.dart';
+import 'getHolidays.dart';
+import 'getHolidaysResponse.dart';
class GetHolidaysCache extends RequestCache {
GetHolidaysCache({onUpdate}) : super(RequestCache.cacheDay, onUpdate) {
diff --git a/lib/api/webuntis/queries/getHolidays/getHolidaysResponse.dart b/lib/api/webuntis/queries/getHolidays/getHolidaysResponse.dart
index 46790ec..7e93fab 100644
--- a/lib/api/webuntis/queries/getHolidays/getHolidaysResponse.dart
+++ b/lib/api/webuntis/queries/getHolidays/getHolidaysResponse.dart
@@ -1,5 +1,6 @@
import 'package:json_annotation/json_annotation.dart';
-import 'package:marianum_mobile/api/apiResponse.dart';
+
+import '../../../apiResponse.dart';
part 'getHolidaysResponse.g.dart';
diff --git a/lib/api/webuntis/queries/getRooms/getRooms.dart b/lib/api/webuntis/queries/getRooms/getRooms.dart
index 0118d18..4b56f24 100644
--- a/lib/api/webuntis/queries/getRooms/getRooms.dart
+++ b/lib/api/webuntis/queries/getRooms/getRooms.dart
@@ -1,7 +1,6 @@
import 'dart:convert';
-import 'package:marianum_mobile/api/webuntis/webuntisApi.dart';
-
+import '../../webuntisApi.dart';
import 'getRoomsResponse.dart';
class GetRooms extends WebuntisApi {
diff --git a/lib/api/webuntis/queries/getRooms/getRoomsCache.dart b/lib/api/webuntis/queries/getRooms/getRoomsCache.dart
index 6c0687e..4e71266 100644
--- a/lib/api/webuntis/queries/getRooms/getRoomsCache.dart
+++ b/lib/api/webuntis/queries/getRooms/getRoomsCache.dart
@@ -1,9 +1,8 @@
import 'dart:convert';
-import 'package:marianum_mobile/api/requestCache.dart';
-import 'package:marianum_mobile/api/webuntis/queries/getRooms/getRoomsResponse.dart';
-
+import '../../../requestCache.dart';
import 'getRooms.dart';
+import 'getRoomsResponse.dart';
class GetRoomsCache extends RequestCache {
GetRoomsCache({onUpdate}) : super(RequestCache.cacheHour, onUpdate) {
diff --git a/lib/api/webuntis/queries/getRooms/getRoomsResponse.dart b/lib/api/webuntis/queries/getRooms/getRoomsResponse.dart
index 9c96cd0..91db146 100644
--- a/lib/api/webuntis/queries/getRooms/getRoomsResponse.dart
+++ b/lib/api/webuntis/queries/getRooms/getRoomsResponse.dart
@@ -1,5 +1,6 @@
import 'package:json_annotation/json_annotation.dart';
-import 'package:marianum_mobile/api/apiResponse.dart';
+
+import '../../../apiResponse.dart';
part 'getRoomsResponse.g.dart';
diff --git a/lib/api/webuntis/queries/getSubjects/getSubjects.dart b/lib/api/webuntis/queries/getSubjects/getSubjects.dart
index f135ad7..eb965b5 100644
--- a/lib/api/webuntis/queries/getSubjects/getSubjects.dart
+++ b/lib/api/webuntis/queries/getSubjects/getSubjects.dart
@@ -1,7 +1,6 @@
import 'dart:convert';
-import 'package:marianum_mobile/api/webuntis/webuntisApi.dart';
-
+import '../../webuntisApi.dart';
import 'getSubjectsResponse.dart';
class GetSubjects extends WebuntisApi {
diff --git a/lib/api/webuntis/queries/getSubjects/getSubjectsCache.dart b/lib/api/webuntis/queries/getSubjects/getSubjectsCache.dart
index 3c2d9d6..b07d1fd 100644
--- a/lib/api/webuntis/queries/getSubjects/getSubjectsCache.dart
+++ b/lib/api/webuntis/queries/getSubjects/getSubjectsCache.dart
@@ -1,9 +1,8 @@
import 'dart:convert';
-import 'package:marianum_mobile/api/requestCache.dart';
-import 'package:marianum_mobile/api/webuntis/queries/getSubjects/getSubjectsResponse.dart';
-
+import '../../../requestCache.dart';
import 'getSubjects.dart';
+import 'getSubjectsResponse.dart';
class GetSubjectsCache extends RequestCache {
GetSubjectsCache({onUpdate}) : super(RequestCache.cacheHour, onUpdate) {
diff --git a/lib/api/webuntis/queries/getSubjects/getSubjectsResponse.dart b/lib/api/webuntis/queries/getSubjects/getSubjectsResponse.dart
index 4fd6aad..2db8261 100644
--- a/lib/api/webuntis/queries/getSubjects/getSubjectsResponse.dart
+++ b/lib/api/webuntis/queries/getSubjects/getSubjectsResponse.dart
@@ -1,5 +1,6 @@
import 'package:json_annotation/json_annotation.dart';
-import 'package:marianum_mobile/api/apiResponse.dart';
+
+import '../../../apiResponse.dart';
part 'getSubjectsResponse.g.dart';
diff --git a/lib/api/webuntis/queries/getTimetable/getTimetable.dart b/lib/api/webuntis/queries/getTimetable/getTimetable.dart
index 84da93e..37eab80 100644
--- a/lib/api/webuntis/queries/getTimetable/getTimetable.dart
+++ b/lib/api/webuntis/queries/getTimetable/getTimetable.dart
@@ -1,7 +1,6 @@
import 'dart:convert';
-import 'package:marianum_mobile/api/webuntis/webuntisApi.dart';
-
+import '../../webuntisApi.dart';
import 'getTimetableParams.dart';
import 'getTimetableResponse.dart';
diff --git a/lib/api/webuntis/queries/getTimetable/getTimetableCache.dart b/lib/api/webuntis/queries/getTimetable/getTimetableCache.dart
index 72cd106..f44b768 100644
--- a/lib/api/webuntis/queries/getTimetable/getTimetableCache.dart
+++ b/lib/api/webuntis/queries/getTimetable/getTimetableCache.dart
@@ -1,7 +1,6 @@
import 'dart:convert';
-import 'package:marianum_mobile/api/requestCache.dart';
-
+import '../../../requestCache.dart';
import '../authenticate/authenticate.dart';
import 'getTimetable.dart';
import 'getTimetableParams.dart';
diff --git a/lib/api/webuntis/queries/getTimetable/getTimetableParams.dart b/lib/api/webuntis/queries/getTimetable/getTimetableParams.dart
index efb3726..25dc3ed 100644
--- a/lib/api/webuntis/queries/getTimetable/getTimetableParams.dart
+++ b/lib/api/webuntis/queries/getTimetable/getTimetableParams.dart
@@ -1,5 +1,6 @@
import 'package:json_annotation/json_annotation.dart';
-import 'package:marianum_mobile/api/apiParams.dart';
+
+import '../../../apiParams.dart';
part 'getTimetableParams.g.dart';
diff --git a/lib/api/webuntis/queries/getTimetable/getTimetableResponse.dart b/lib/api/webuntis/queries/getTimetable/getTimetableResponse.dart
index b32c1b9..d3f438c 100644
--- a/lib/api/webuntis/queries/getTimetable/getTimetableResponse.dart
+++ b/lib/api/webuntis/queries/getTimetable/getTimetableResponse.dart
@@ -1,5 +1,6 @@
import 'package:json_annotation/json_annotation.dart';
-import 'package:marianum_mobile/api/apiResponse.dart';
+
+import '../../../apiResponse.dart';
part 'getTimetableResponse.g.dart';
diff --git a/lib/api/webuntis/webuntisApi.dart b/lib/api/webuntis/webuntisApi.dart
index 731beb0..dbfb226 100644
--- a/lib/api/webuntis/webuntisApi.dart
+++ b/lib/api/webuntis/webuntisApi.dart
@@ -1,11 +1,11 @@
import 'dart:convert';
-import 'package:marianum_mobile/api/apiRequest.dart';
import 'package:http/http.dart' as http;
-import 'package:marianum_mobile/api/webuntis/webuntisError.dart';
-import 'package:marianum_mobile/api/apiResponse.dart';
import '../apiParams.dart';
+import '../apiRequest.dart';
+import '../apiResponse.dart';
import 'queries/authenticate/authenticate.dart';
+import 'webuntisError.dart';
abstract class WebuntisApi extends ApiRequest {
Uri endpoint = Uri.parse("https://peleus.webuntis.com/WebUntis/jsonrpc.do?school=marianum-fulda");
diff --git a/lib/app.dart b/lib/app.dart
index 6ba169f..1ec154e 100644
--- a/lib/app.dart
+++ b/lib/app.dart
@@ -2,16 +2,16 @@
import 'dart:async';
import 'package:flutter/material.dart';
-import 'package:marianum_mobile/data/chatList/chatListProps.dart';
-import 'package:marianum_mobile/screen/pages/timetable/timetable.dart';
import 'package:persistent_bottom_nav_bar/persistent_tab_view.dart';
import 'package:provider/provider.dart';
-import 'screen/pages/files/files.dart';
-import 'screen/pages/more/overhang.dart';
-import 'screen/pages/talk/chatList.dart';
-
import 'package:badges/badges.dart' as badges;
+import 'model/chatList/chatListProps.dart';
+import 'view/pages/files/files.dart';
+import 'view/pages/more/overhang.dart';
+import 'view/pages/talk/chatList.dart';
+import 'view/pages/timetable/timetable.dart';
+
class App extends StatefulWidget {
const App({Key? key}) : super(key: key);
@@ -74,7 +74,7 @@ class _AppState extends State {
position: badges.BadgePosition.topEnd(top: -3, end: -3),
stackFit: StackFit.loose,
badgeStyle: badges.BadgeStyle(
- padding: EdgeInsets.all(3),
+ padding: const EdgeInsets.all(3),
badgeColor: Theme.of(context).primaryColor,
elevation: 1,
),
diff --git a/lib/main.dart b/lib/main.dart
index 5e7419f..917e826 100644
--- a/lib/main.dart
+++ b/lib/main.dart
@@ -3,22 +3,22 @@ import 'dart:io';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:jiffy/jiffy.dart';
-import 'package:marianum_mobile/data/appTheme.dart';
-import 'package:marianum_mobile/data/timetable/timetableProps.dart';
-import 'package:marianum_mobile/screen/login/login.dart';
-import 'package:marianum_mobile/theming/darkAppTheme.dart';
-import 'package:marianum_mobile/theming/lightAppTheme.dart';
-import 'package:marianum_mobile/widget/errorView.dart';
import 'package:provider/provider.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:flutter_localizations/flutter_localizations.dart';
import 'app.dart';
-import 'data/chatList/chatListProps.dart';
-import 'data/chatList/chatProps.dart';
-import 'data/accountModel.dart';
-import 'data/files/filesProps.dart';
-import 'data/message/messageProps.dart';
+import 'model/accountModel.dart';
+import 'model/appTheme.dart';
+import 'model/chatList/chatListProps.dart';
+import 'model/chatList/chatProps.dart';
+import 'model/files/filesProps.dart';
+import 'model/message/messageProps.dart';
+import 'model/timetable/timetableProps.dart';
+import 'theming/darkAppTheme.dart';
+import 'theming/lightAppTheme.dart';
+import 'view/login/login.dart';
+import 'widget/errorView.dart';
Future main() async {
WidgetsFlutterBinding.ensureInitialized();
diff --git a/lib/data/accountModel.dart b/lib/model/accountModel.dart
similarity index 100%
rename from lib/data/accountModel.dart
rename to lib/model/accountModel.dart
diff --git a/lib/data/appTheme.dart b/lib/model/appTheme.dart
similarity index 100%
rename from lib/data/appTheme.dart
rename to lib/model/appTheme.dart
diff --git a/lib/data/chatList/chatListProps.dart b/lib/model/chatList/chatListProps.dart
similarity index 67%
rename from lib/data/chatList/chatListProps.dart
rename to lib/model/chatList/chatListProps.dart
index 654d144..876d235 100644
--- a/lib/data/chatList/chatListProps.dart
+++ b/lib/model/chatList/chatListProps.dart
@@ -1,9 +1,8 @@
-import 'package:marianum_mobile/api/marianumcloud/talk/room/getRoomCache.dart';
-import 'package:marianum_mobile/api/marianumcloud/talk/room/getRoomResponse.dart';
-import 'package:marianum_mobile/data/dataHolder.dart';
-
import '../../api/apiResponse.dart';
+import '../../api/marianumcloud/talk/room/getRoomCache.dart';
+import '../../api/marianumcloud/talk/room/getRoomResponse.dart';
+import '../dataHolder.dart';
class ChatListProps extends DataHolder {
GetRoomResponse? _getRoomResponse;
diff --git a/lib/data/chatList/chatProps.dart b/lib/model/chatList/chatProps.dart
similarity index 67%
rename from lib/data/chatList/chatProps.dart
rename to lib/model/chatList/chatProps.dart
index 8a8f8c9..cdc4073 100644
--- a/lib/data/chatList/chatProps.dart
+++ b/lib/model/chatList/chatProps.dart
@@ -1,7 +1,7 @@
-import 'package:marianum_mobile/api/apiResponse.dart';
-import 'package:marianum_mobile/api/marianumcloud/talk/chat/getChatCache.dart';
-import 'package:marianum_mobile/api/marianumcloud/talk/chat/getChatResponse.dart';
-import 'package:marianum_mobile/data/dataHolder.dart';
+import '../../api/apiResponse.dart';
+import '../../api/marianumcloud/talk/chat/getChatCache.dart';
+import '../../api/marianumcloud/talk/chat/getChatResponse.dart';
+import '../dataHolder.dart';
class ChatProps extends DataHolder {
String _queryToken = "";
diff --git a/lib/data/dataHolder.dart b/lib/model/dataHolder.dart
similarity index 100%
rename from lib/data/dataHolder.dart
rename to lib/model/dataHolder.dart
diff --git a/lib/data/files/filesProps.dart b/lib/model/files/filesProps.dart
similarity index 78%
rename from lib/data/files/filesProps.dart
rename to lib/model/files/filesProps.dart
index 9046a96..4c94874 100644
--- a/lib/data/files/filesProps.dart
+++ b/lib/model/files/filesProps.dart
@@ -1,8 +1,8 @@
-import 'package:marianum_mobile/api/apiResponse.dart';
-import 'package:marianum_mobile/api/marianumcloud/webdav/queries/listFiles/listFilesCache.dart';
-import 'package:marianum_mobile/api/marianumcloud/webdav/queries/listFiles/listFilesResponse.dart';
-import 'package:marianum_mobile/data/dataHolder.dart';
+import '../../api/apiResponse.dart';
+import '../../api/marianumcloud/webdav/queries/listFiles/listFilesCache.dart';
+import '../../api/marianumcloud/webdav/queries/listFiles/listFilesResponse.dart';
+import '../dataHolder.dart';
extension ExtendedList on List {
T indexOrNull(int index) => index +1 <= length ? this[index] : null;
diff --git a/lib/data/message/messageProps.dart b/lib/model/message/messageProps.dart
similarity index 68%
rename from lib/data/message/messageProps.dart
rename to lib/model/message/messageProps.dart
index 2776e31..80644b8 100644
--- a/lib/data/message/messageProps.dart
+++ b/lib/model/message/messageProps.dart
@@ -1,9 +1,8 @@
-import 'package:marianum_mobile/api/mhsl/message/getMessages/getMessagesCache.dart';
-import 'package:marianum_mobile/api/mhsl/message/getMessages/getMessagesResponse.dart';
-import 'package:marianum_mobile/data/dataHolder.dart';
-
import '../../api/apiResponse.dart';
+import '../../api/mhsl/message/getMessages/getMessagesCache.dart';
+import '../../api/mhsl/message/getMessages/getMessagesResponse.dart';
+import '../dataHolder.dart';
class MessageProps extends DataHolder {
GetMessagesResponse? _getMessagesResponse;
diff --git a/lib/data/timetable/timetableProps.dart b/lib/model/timetable/timetableProps.dart
similarity index 82%
rename from lib/data/timetable/timetableProps.dart
rename to lib/model/timetable/timetableProps.dart
index 3704c98..1e38930 100644
--- a/lib/data/timetable/timetableProps.dart
+++ b/lib/model/timetable/timetableProps.dart
@@ -1,17 +1,16 @@
-
import 'package:intl/intl.dart';
-import 'package:marianum_mobile/api/apiResponse.dart';
-import 'package:marianum_mobile/api/webuntis/queries/getHolidays/getHolidaysCache.dart';
-import 'package:marianum_mobile/api/webuntis/queries/getHolidays/getHolidaysResponse.dart';
-import 'package:marianum_mobile/api/webuntis/queries/getRooms/getRoomsCache.dart';
-import 'package:marianum_mobile/api/webuntis/queries/getRooms/getRoomsResponse.dart';
-import 'package:marianum_mobile/api/webuntis/queries/getSubjects/getSubjectsCache.dart';
-import 'package:marianum_mobile/api/webuntis/queries/getSubjects/getSubjectsResponse.dart';
-import 'package:marianum_mobile/data/dataHolder.dart';
+import '../../api/apiResponse.dart';
+import '../../api/webuntis/queries/getHolidays/getHolidaysCache.dart';
+import '../../api/webuntis/queries/getHolidays/getHolidaysResponse.dart';
+import '../../api/webuntis/queries/getRooms/getRoomsCache.dart';
+import '../../api/webuntis/queries/getRooms/getRoomsResponse.dart';
+import '../../api/webuntis/queries/getSubjects/getSubjectsCache.dart';
+import '../../api/webuntis/queries/getSubjects/getSubjectsResponse.dart';
import '../../api/webuntis/queries/getTimetable/getTimetableCache.dart';
import '../../api/webuntis/queries/getTimetable/getTimetableResponse.dart';
import '../../api/webuntis/webuntisError.dart';
+import '../dataHolder.dart';
extension DateTimeExtension on DateTime {
DateTime jumpToNextWeekDay(int day) {
diff --git a/lib/screen/login/login.dart b/lib/view/login/login.dart
similarity index 95%
rename from lib/screen/login/login.dart
rename to lib/view/login/login.dart
index f2d0a59..67a3bd4 100644
--- a/lib/screen/login/login.dart
+++ b/lib/view/login/login.dart
@@ -3,14 +3,14 @@ import 'dart:developer';
import 'package:flutter/material.dart';
import 'package:flutter_login/flutter_login.dart';
-import 'package:marianum_mobile/api/apiError.dart';
-import 'package:marianum_mobile/api/webuntis/webuntisError.dart';
import 'package:provider/provider.dart';
import 'package:shared_preferences/shared_preferences.dart';
+import '../../api/apiError.dart';
import '../../api/webuntis/queries/authenticate/authenticateParams.dart';
import '../../api/webuntis/queries/authenticate/authenticate.dart';
-import '../../data/accountModel.dart';
+import '../../api/webuntis/webuntisError.dart';
+import '../../model/accountModel.dart';
class Login extends StatefulWidget {
const Login({Key? key}) : super(key: key);
diff --git a/lib/screen/pages/files/fileElement.dart b/lib/view/pages/files/fileElement.dart
similarity index 94%
rename from lib/screen/pages/files/fileElement.dart
rename to lib/view/pages/files/fileElement.dart
index da56e59..a67725e 100644
--- a/lib/screen/pages/files/fileElement.dart
+++ b/lib/view/pages/files/fileElement.dart
@@ -4,16 +4,15 @@ import 'dart:io';
import 'package:better_open_file/better_open_file.dart';
import 'package:filesize/filesize.dart';
import 'package:flowder/flowder.dart';
-import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:jiffy/jiffy.dart';
-import 'package:marianum_mobile/api/marianumcloud/webdav/queries/listFiles/cacheableFile.dart';
-import 'package:marianum_mobile/screen/pages/files/files.dart';
-import 'package:marianum_mobile/widget/confirmDialog.dart';
-import 'package:marianum_mobile/widget/unimplementedDialog.dart';
import 'package:path_provider/path_provider.dart';
+import '../../../api/marianumcloud/webdav/queries/listFiles/cacheableFile.dart';
import '../../../api/marianumcloud/webdav/webdavApi.dart';
+import '../../../widget/confirmDialog.dart';
+import '../../../widget/unimplementedDialog.dart';
+import 'files.dart';
class FileElement extends StatefulWidget {
final CacheableFile file;
diff --git a/lib/screen/pages/files/fileUploadDialog.dart b/lib/view/pages/files/fileUploadDialog.dart
similarity index 100%
rename from lib/screen/pages/files/fileUploadDialog.dart
rename to lib/view/pages/files/fileUploadDialog.dart
diff --git a/lib/screen/pages/files/files.dart b/lib/view/pages/files/files.dart
similarity index 97%
rename from lib/screen/pages/files/files.dart
rename to lib/view/pages/files/files.dart
index 8b858d8..fbe445e 100644
--- a/lib/screen/pages/files/files.dart
+++ b/lib/view/pages/files/files.dart
@@ -4,13 +4,13 @@ import 'dart:io';
import 'package:flutter/material.dart';
import 'package:loader_overlay/loader_overlay.dart';
-import 'package:marianum_mobile/api/marianumcloud/webdav/queries/listFiles/cacheableFile.dart';
-import 'package:marianum_mobile/widget/errorView.dart';
+import '../../../api/marianumcloud/webdav/queries/listFiles/cacheableFile.dart';
import '../../../api/marianumcloud/webdav/queries/listFiles/listFilesCache.dart';
import '../../../api/marianumcloud/webdav/queries/listFiles/listFilesResponse.dart';
import '../../../api/marianumcloud/webdav/webdavApi.dart';
-import '../../../data/files/filesProps.dart';
+import '../../../model/files/filesProps.dart';
+import '../../../widget/errorView.dart';
import '../../../widget/filePick.dart';
import 'fileUploadDialog.dart';
import 'fileElement.dart';
diff --git a/lib/screen/pages/more/countdown/addTimerDialog.dart b/lib/view/pages/more/countdown/addTimerDialog.dart
similarity index 85%
rename from lib/screen/pages/more/countdown/addTimerDialog.dart
rename to lib/view/pages/more/countdown/addTimerDialog.dart
index 8db64cb..15a4dc3 100644
--- a/lib/screen/pages/more/countdown/addTimerDialog.dart
+++ b/lib/view/pages/more/countdown/addTimerDialog.dart
@@ -14,11 +14,11 @@ class _AddTimerDialogState extends State {
@override
Widget build(BuildContext context) {
return AlertDialog(
- title: Text("Timer hinzufügen"),
+ title: const Text("Timer hinzufügen"),
content: Column(
mainAxisSize: MainAxisSize.min,
children: [
- TextField(
+ const TextField(
decoration: InputDecoration(
labelText: "Timer Name"
),
@@ -32,7 +32,7 @@ class _AddTimerDialogState extends State {
selected = selectedDate;
});
- }, child: Text("Datum auswählen")),
+ }, child: const Text("Datum auswählen")),
TextButton(onPressed: () async {
TimeOfDay? selectedTime = await showTimePicker(context: context, initialTime: TimeOfDay.fromDateTime(DateTime.now()));
@@ -41,7 +41,7 @@ class _AddTimerDialogState extends State {
setState(() {
selected = selected.copyWith(hour: selectedTime.hour, minute: selectedTime.minute);
});
- }, child: Text("Zeit auswählen")),
+ }, child: const Text("Zeit auswählen")),
Text(selected.toString())
],
@@ -49,10 +49,10 @@ class _AddTimerDialogState extends State {
actions: [
TextButton(onPressed: () {
Navigator.of(context).pop();
- }, child: Text("Abbrechen")),
+ }, child: const Text("Abbrechen")),
TextButton(onPressed: () {
// TODO add timer
- }, child: Text("Hinzufügen")),
+ }, child: const Text("Hinzufügen")),
],
);
}
diff --git a/lib/screen/pages/more/countdown/animatedTime.dart b/lib/view/pages/more/countdown/animatedTime.dart
similarity index 96%
rename from lib/screen/pages/more/countdown/animatedTime.dart
rename to lib/view/pages/more/countdown/animatedTime.dart
index 0be7851..045f0d6 100644
--- a/lib/screen/pages/more/countdown/animatedTime.dart
+++ b/lib/view/pages/more/countdown/animatedTime.dart
@@ -46,7 +46,7 @@ class _AnimatedTimeState extends State {
AnimatedDigitWidget buildWidget(int value) {
return AnimatedDigitWidget(
value: value,
- duration: Duration(milliseconds: 100),
+ duration: const Duration(milliseconds: 100),
textStyle: const TextStyle(fontSize: 15),
);
}
diff --git a/lib/screen/pages/more/countdown/countdown.dart b/lib/view/pages/more/countdown/countdown.dart
similarity index 83%
rename from lib/screen/pages/more/countdown/countdown.dart
rename to lib/view/pages/more/countdown/countdown.dart
index 3565bd0..2351949 100644
--- a/lib/screen/pages/more/countdown/countdown.dart
+++ b/lib/view/pages/more/countdown/countdown.dart
@@ -1,7 +1,7 @@
-import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
-import 'package:marianum_mobile/screen/pages/more/countdown/addTimerDialog.dart';
-import 'package:marianum_mobile/screen/pages/more/countdown/timer.dart';
+
+import 'addTimerDialog.dart';
+import 'timer.dart';
class Countdown extends StatefulWidget {
const Countdown({Key? key}) : super(key: key);
@@ -30,14 +30,14 @@ class _CountdownState extends State {
title: const Text("Countdown"),
actions: [
IconButton(onPressed: () {
- showDialog(context: context, builder: (context) => AddTimerDialog());
+ showDialog(context: context, builder: (context) => const AddTimerDialog());
}, icon: const Icon(Icons.add)),
],
),
body: ReorderableListView(
shrinkWrap: true,
footer: Container(
- padding: EdgeInsets.only(top: 30),
+ padding: const EdgeInsets.only(top: 30),
child: Center(
child: Text("Halte und Ziehe ein Element um es umzusortieren.", style: TextStyle(color: Theme.of(context).disabledColor)),
),
diff --git a/lib/screen/pages/more/countdown/timer.dart b/lib/view/pages/more/countdown/timer.dart
similarity index 92%
rename from lib/screen/pages/more/countdown/timer.dart
rename to lib/view/pages/more/countdown/timer.dart
index 1239d48..a01f514 100644
--- a/lib/screen/pages/more/countdown/timer.dart
+++ b/lib/view/pages/more/countdown/timer.dart
@@ -1,6 +1,7 @@
import 'package:flutter/material.dart';
-import 'package:marianum_mobile/screen/pages/more/countdown/animatedTime.dart';
+
+import 'animatedTime.dart';
class Timer extends StatefulWidget {
final DateTime target;
@@ -36,7 +37,7 @@ class _TimerState extends State {
children: [
if(!isLocal) Row(
children: [
- Text("5"),
+ const Text("5"),
IconButton(onPressed: () {
}, icon: const Icon(Icons.thumb_up_outlined)),
diff --git a/lib/screen/pages/more/gradeAverages/gradeAverage.dart b/lib/view/pages/more/gradeAverages/gradeAverage.dart
similarity index 100%
rename from lib/screen/pages/more/gradeAverages/gradeAverage.dart
rename to lib/view/pages/more/gradeAverages/gradeAverage.dart
diff --git a/lib/screen/pages/more/message/message.dart b/lib/view/pages/more/message/message.dart
similarity index 90%
rename from lib/screen/pages/more/message/message.dart
rename to lib/view/pages/more/message/message.dart
index e000ff3..82b5e31 100644
--- a/lib/screen/pages/more/message/message.dart
+++ b/lib/view/pages/more/message/message.dart
@@ -1,10 +1,11 @@
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
-import 'package:marianum_mobile/api/mhsl/message/getMessages/getMessagesResponse.dart';
-import 'package:marianum_mobile/screen/pages/more/message/messageView.dart';
import 'package:provider/provider.dart';
-import '../../../../data/message/messageProps.dart';
+import '../../../../api/mhsl/message/getMessages/getMessagesResponse.dart';
+import '../../../../model/message/messageProps.dart';
+import 'messageView.dart';
+
class Message extends StatefulWidget {
const Message({Key? key}) : super(key: key);
diff --git a/lib/screen/pages/more/message/messageView.dart b/lib/view/pages/more/message/messageView.dart
similarity index 95%
rename from lib/screen/pages/more/message/messageView.dart
rename to lib/view/pages/more/message/messageView.dart
index da42385..e7eb410 100644
--- a/lib/screen/pages/more/message/messageView.dart
+++ b/lib/view/pages/more/message/messageView.dart
@@ -1,8 +1,9 @@
import 'package:flutter/material.dart';
-import 'package:marianum_mobile/api/mhsl/message/getMessages/getMessagesResponse.dart';
import 'package:syncfusion_flutter_pdfviewer/pdfviewer.dart';
import 'package:url_launcher/url_launcher.dart';
+import '../../../../api/mhsl/message/getMessages/getMessagesResponse.dart';
+
class MessageView extends StatefulWidget {
final String basePath;
final GetMessagesResponseObject message;
diff --git a/lib/screen/pages/more/overhang.dart b/lib/view/pages/more/overhang.dart
similarity index 80%
rename from lib/screen/pages/more/overhang.dart
rename to lib/view/pages/more/overhang.dart
index c9e7178..af5d7ed 100644
--- a/lib/screen/pages/more/overhang.dart
+++ b/lib/view/pages/more/overhang.dart
@@ -1,14 +1,14 @@
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
-import 'package:marianum_mobile/screen/pages/more/countdown/countdown.dart';
-import 'package:marianum_mobile/screen/pages/more/gradeAverages/gradeAverage.dart';
-import 'package:marianum_mobile/screen/pages/more/roomplan/roomplan.dart';
-import 'package:marianum_mobile/screen/settings/settings.dart';
import 'package:persistent_bottom_nav_bar/persistent_tab_view.dart';
import '../../../widget/ListItem.dart';
+import '../../settings/settings.dart';
+import 'countdown/countdown.dart';
+import 'gradeAverages/gradeAverage.dart';
import 'message/message.dart';
+import 'roomplan/roomplan.dart';
class Overhang extends StatelessWidget {
const Overhang({Key? key}) : super(key: key);
diff --git a/lib/screen/pages/more/roomplan/roomplan.dart b/lib/view/pages/more/roomplan/roomplan.dart
similarity index 100%
rename from lib/screen/pages/more/roomplan/roomplan.dart
rename to lib/view/pages/more/roomplan/roomplan.dart
diff --git a/lib/screen/pages/talk/chatBubble.dart b/lib/view/pages/talk/chatBubble.dart
similarity index 98%
rename from lib/screen/pages/talk/chatBubble.dart
rename to lib/view/pages/talk/chatBubble.dart
index 21ac175..17983f2 100644
--- a/lib/screen/pages/talk/chatBubble.dart
+++ b/lib/view/pages/talk/chatBubble.dart
@@ -1,14 +1,13 @@
import 'package:better_open_file/better_open_file.dart';
import 'package:bubble/bubble.dart';
import 'package:flowder/flowder.dart';
-import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:jiffy/jiffy.dart';
-import 'package:marianum_mobile/data/appTheme.dart';
import '../../../api/marianumcloud/talk/chat/getChatResponse.dart';
import '../../../api/marianumcloud/talk/room/getRoomResponse.dart';
+import '../../../model/appTheme.dart';
import '../../settings/debug/jsonViewer.dart';
import '../files/fileElement.dart';
import 'chatMessage.dart';
diff --git a/lib/screen/pages/talk/chatList.dart b/lib/view/pages/talk/chatList.dart
similarity index 92%
rename from lib/screen/pages/talk/chatList.dart
rename to lib/view/pages/talk/chatList.dart
index f4751d1..bd50424 100644
--- a/lib/screen/pages/talk/chatList.dart
+++ b/lib/view/pages/talk/chatList.dart
@@ -2,14 +2,14 @@
import 'dart:async';
import 'package:flutter/material.dart';
import 'package:jiffy/jiffy.dart';
-import 'package:marianum_mobile/api/marianumcloud/talk/chat/richObjectStringProcessor.dart';
-import 'package:marianum_mobile/api/marianumcloud/talk/room/getRoomResponse.dart';
-import 'package:marianum_mobile/data/chatList/chatListProps.dart';
-import 'package:marianum_mobile/widget/unimplementedDialog.dart';
import 'package:persistent_bottom_nav_bar/persistent_tab_view.dart';
import 'package:provider/provider.dart';
import 'package:shared_preferences/shared_preferences.dart';
+import '../../../api/marianumcloud/talk/chat/richObjectStringProcessor.dart';
+import '../../../api/marianumcloud/talk/room/getRoomResponse.dart';
+import '../../../model/chatList/chatListProps.dart';
+import '../../../widget/unimplementedDialog.dart';
import 'chatView.dart';
class ChatList extends StatefulWidget {
diff --git a/lib/screen/pages/talk/chatMessage.dart b/lib/view/pages/talk/chatMessage.dart
similarity index 95%
rename from lib/screen/pages/talk/chatMessage.dart
rename to lib/view/pages/talk/chatMessage.dart
index 1be542a..95fd3a4 100644
--- a/lib/screen/pages/talk/chatMessage.dart
+++ b/lib/view/pages/talk/chatMessage.dart
@@ -3,11 +3,11 @@ import 'dart:convert';
import 'package:cached_network_image/cached_network_image.dart';
import 'package:flutter/material.dart';
import 'package:flutter_linkify/flutter_linkify.dart';
-import 'package:marianum_mobile/api/marianumcloud/talk/chat/richObjectStringProcessor.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:url_launcher/url_launcher_string.dart';
import '../../../api/marianumcloud/talk/chat/getChatResponse.dart';
+import '../../../api/marianumcloud/talk/chat/richObjectStringProcessor.dart';
class ChatMessage {
String originalMessage;
diff --git a/lib/screen/pages/talk/chatTextfield.dart b/lib/view/pages/talk/chatTextfield.dart
similarity index 96%
rename from lib/screen/pages/talk/chatTextfield.dart
rename to lib/view/pages/talk/chatTextfield.dart
index 29f7d36..5acad82 100644
--- a/lib/screen/pages/talk/chatTextfield.dart
+++ b/lib/view/pages/talk/chatTextfield.dart
@@ -3,16 +3,16 @@ import 'dart:io';
import 'package:flutter/material.dart';
import 'package:loader_overlay/loader_overlay.dart';
-import 'package:marianum_mobile/widget/filePick.dart';
import 'package:provider/provider.dart';
import '../../../api/marianumcloud/talk/sendMessage/sendMessage.dart';
import '../../../api/marianumcloud/talk/sendMessage/sendMessageParams.dart';
-import '../../../data/chatList/chatProps.dart';
+import '../../../model/chatList/chatProps.dart';
+import '../../../widget/filePick.dart';
class ChatTextfield extends StatefulWidget {
- String sendToToken;
- ChatTextfield(this.sendToToken, {Key? key}) : super(key: key);
+ final String sendToToken;
+ const ChatTextfield(this.sendToToken, {Key? key}) : super(key: key);
@override
State createState() => _ChatTextfieldState();
diff --git a/lib/screen/pages/talk/chatView.dart b/lib/view/pages/talk/chatView.dart
similarity index 89%
rename from lib/screen/pages/talk/chatView.dart
rename to lib/view/pages/talk/chatView.dart
index 67dc063..98bc3a3 100644
--- a/lib/screen/pages/talk/chatView.dart
+++ b/lib/view/pages/talk/chatView.dart
@@ -2,14 +2,15 @@
import 'package:flutter/material.dart';
import 'package:jiffy/jiffy.dart';
import 'package:loader_overlay/loader_overlay.dart';
-import 'package:marianum_mobile/api/marianumcloud/talk/chat/getChatResponse.dart';
-import 'package:marianum_mobile/api/marianumcloud/talk/room/getRoomResponse.dart';
-import 'package:marianum_mobile/data/appTheme.dart';
-import 'package:marianum_mobile/data/chatList/chatProps.dart';
-import 'package:marianum_mobile/screen/pages/talk/chatBubble.dart';
-import 'package:marianum_mobile/screen/pages/talk/chatTextfield.dart';
import 'package:provider/provider.dart';
+import '../../../api/marianumcloud/talk/chat/getChatResponse.dart';
+import '../../../api/marianumcloud/talk/room/getRoomResponse.dart';
+import '../../../model/appTheme.dart';
+import '../../../model/chatList/chatProps.dart';
+import 'chatBubble.dart';
+import 'chatTextfield.dart';
+
class ChatView extends StatefulWidget {
final GetRoomResponseObject room;
final String selfId;
diff --git a/lib/screen/pages/timetable/CrossPainter.dart b/lib/view/pages/timetable/CrossPainter.dart
similarity index 76%
rename from lib/screen/pages/timetable/CrossPainter.dart
rename to lib/view/pages/timetable/CrossPainter.dart
index c4bb084..49c2418 100644
--- a/lib/screen/pages/timetable/CrossPainter.dart
+++ b/lib/view/pages/timetable/CrossPainter.dart
@@ -1,4 +1,3 @@
-import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
class CrossPainter extends CustomPainter {
@@ -8,7 +7,7 @@ class CrossPainter extends CustomPainter {
..color = Colors.red.withAlpha(200)
..strokeWidth = 2.0;
- canvas.drawLine(Offset(0, 0), Offset(size.width, size.height), paint);
+ canvas.drawLine(const Offset(0, 0), Offset(size.width, size.height), paint);
canvas.drawLine(Offset(size.width, 0), Offset(0, size.height), paint);
}
diff --git a/lib/screen/pages/timetable/appointmenetComponent.dart b/lib/view/pages/timetable/appointmenetComponent.dart
similarity index 95%
rename from lib/screen/pages/timetable/appointmenetComponent.dart
rename to lib/view/pages/timetable/appointmenetComponent.dart
index be22f9f..b61d3f0 100644
--- a/lib/screen/pages/timetable/appointmenetComponent.dart
+++ b/lib/view/pages/timetable/appointmenetComponent.dart
@@ -1,10 +1,10 @@
-import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
-import 'package:marianum_mobile/api/webuntis/queries/getTimetable/getTimetableResponse.dart';
-import 'package:marianum_mobile/screen/pages/timetable/CrossPainter.dart';
import 'package:syncfusion_flutter_calendar/calendar.dart';
+import '../../../api/webuntis/queries/getTimetable/getTimetableResponse.dart';
+import 'CrossPainter.dart';
+
class AppointmentComponent extends StatefulWidget {
final CalendarAppointmentDetails details;
final bool crossedOut;
diff --git a/lib/screen/pages/timetable/appointmentDetails.dart b/lib/view/pages/timetable/appointmentDetails.dart
similarity index 94%
rename from lib/screen/pages/timetable/appointmentDetails.dart
rename to lib/view/pages/timetable/appointmentDetails.dart
index e5b5831..a16ed88 100644
--- a/lib/screen/pages/timetable/appointmentDetails.dart
+++ b/lib/view/pages/timetable/appointmentDetails.dart
@@ -1,14 +1,13 @@
-import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:jiffy/jiffy.dart';
-import 'package:marianum_mobile/api/webuntis/queries/getTimetable/getTimetableResponse.dart';
-import 'package:marianum_mobile/data/timetable/timetableProps.dart';
import 'package:persistent_bottom_nav_bar/persistent_tab_view.dart';
import 'package:syncfusion_flutter_calendar/calendar.dart';
import '../../../api/webuntis/queries/getRooms/getRoomsResponse.dart';
import '../../../api/webuntis/queries/getSubjects/getSubjectsResponse.dart';
+import '../../../api/webuntis/queries/getTimetable/getTimetableResponse.dart';
+import '../../../model/timetable/timetableProps.dart';
import '../../../widget/unimplementedDialog.dart';
import '../../settings/debug/jsonViewer.dart';
import '../more/roomplan/roomplan.dart';
diff --git a/lib/screen/pages/timetable/timeRegionComponent.dart b/lib/view/pages/timetable/timeRegionComponent.dart
similarity index 97%
rename from lib/screen/pages/timetable/timeRegionComponent.dart
rename to lib/view/pages/timetable/timeRegionComponent.dart
index cbbd007..bbb2d41 100644
--- a/lib/screen/pages/timetable/timeRegionComponent.dart
+++ b/lib/view/pages/timetable/timeRegionComponent.dart
@@ -1,4 +1,3 @@
-import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:syncfusion_flutter_calendar/calendar.dart';
diff --git a/lib/screen/pages/timetable/timetable.dart b/lib/view/pages/timetable/timetable.dart
similarity index 94%
rename from lib/screen/pages/timetable/timetable.dart
rename to lib/view/pages/timetable/timetable.dart
index 0fe7a05..6708894 100644
--- a/lib/screen/pages/timetable/timetable.dart
+++ b/lib/view/pages/timetable/timetable.dart
@@ -1,21 +1,19 @@
import 'dart:developer';
-import 'package:flutter/cupertino.dart';
-import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
-import 'package:marianum_mobile/screen/pages/timetable/appointmenetComponent.dart';
-import 'package:marianum_mobile/screen/pages/timetable/timeRegionComponent.dart';
-import 'package:marianum_mobile/screen/pages/timetable/timetableEvents.dart';
-import 'package:marianum_mobile/widget/errorView.dart';
import 'package:provider/provider.dart';
import 'package:syncfusion_flutter_calendar/calendar.dart';
import '../../../api/webuntis/queries/getHolidays/getHolidaysResponse.dart';
import '../../../api/webuntis/queries/getRooms/getRoomsResponse.dart';
import '../../../api/webuntis/queries/getSubjects/getSubjectsResponse.dart';
-import '../../../data/timetable/timetableProps.dart';
+import '../../../model/timetable/timetableProps.dart';
+import '../../../widget/errorView.dart';
+import 'appointmenetComponent.dart';
import 'appointmentDetails.dart';
+import 'timeRegionComponent.dart';
+import 'timetableEvents.dart';
class Timetable extends StatefulWidget {
const Timetable({Key? key}) : super(key: key);
diff --git a/lib/screen/pages/timetable/timetableEvents.dart b/lib/view/pages/timetable/timetableEvents.dart
similarity index 100%
rename from lib/screen/pages/timetable/timetableEvents.dart
rename to lib/view/pages/timetable/timetableEvents.dart
diff --git a/lib/screen/settings/about/about.dart b/lib/view/settings/about/about.dart
similarity index 100%
rename from lib/screen/settings/about/about.dart
rename to lib/view/settings/about/about.dart
diff --git a/lib/screen/settings/debug/debugOverview.dart b/lib/view/settings/debug/debugOverview.dart
similarity index 98%
rename from lib/screen/settings/debug/debugOverview.dart
rename to lib/view/settings/debug/debugOverview.dart
index 666a87b..c834bb1 100644
--- a/lib/screen/settings/debug/debugOverview.dart
+++ b/lib/view/settings/debug/debugOverview.dart
@@ -5,7 +5,8 @@ import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:jiffy/jiffy.dart';
import 'package:localstore/localstore.dart';
-import 'package:marianum_mobile/screen/settings/debug/jsonViewer.dart';
+
+import 'jsonViewer.dart';
class DebugOverview extends StatefulWidget {
const DebugOverview({Key? key}) : super(key: key);
diff --git a/lib/screen/settings/debug/jsonViewer.dart b/lib/view/settings/debug/jsonViewer.dart
similarity index 89%
rename from lib/screen/settings/debug/jsonViewer.dart
rename to lib/view/settings/debug/jsonViewer.dart
index 6b4ad19..1bc562e 100644
--- a/lib/screen/settings/debug/jsonViewer.dart
+++ b/lib/view/settings/debug/jsonViewer.dart
@@ -3,10 +3,10 @@ import 'package:flutter/services.dart';
import 'package:pretty_json/pretty_json.dart';
class JsonViewer extends StatelessWidget {
- String title;
- Map data;
+ final String title;
+ final Map data;
- JsonViewer({Key? key, required this.title, required this.data}) : super(key: key);
+ const JsonViewer({Key? key, required this.title, required this.data}) : super(key: key);
@override
Widget build(BuildContext context) {
@@ -30,7 +30,7 @@ class JsonViewer extends StatelessWidget {
showDialog(context: context, builder: (context) {
return AlertDialog(
scrollable: true,
- title: Row(children: const [Icon(Icons.bug_report_outlined), Text("Rohdaten")]),
+ title: const Row(children: [Icon(Icons.bug_report_outlined), Text("Rohdaten")]),
content: Text(JsonViewer.format(dataMap)),
actions: [
TextButton(onPressed: () {
diff --git a/lib/screen/settings/settings.dart b/lib/view/settings/settings.dart
similarity index 97%
rename from lib/screen/settings/settings.dart
rename to lib/view/settings/settings.dart
index b15fe5b..ec295a4 100644
--- a/lib/screen/settings/settings.dart
+++ b/lib/view/settings/settings.dart
@@ -5,8 +5,8 @@ import 'package:provider/provider.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:url_launcher/url_launcher.dart';
-import '../../data/accountModel.dart';
-import '../../data/appTheme.dart';
+import '../../model/accountModel.dart';
+import '../../model/appTheme.dart';
import 'debug/debugOverview.dart';
class Settings extends StatefulWidget {
@@ -108,7 +108,7 @@ class _SettingsState extends State {
onTap: () async {
final appInfo = await PackageInfo.fromPlatform();
- if(!context.mounted) return;
+ if(!context.mounted) return; // TODO Fix context used in async
showAboutDialog(
context: context,
applicationIcon: const Icon(Icons.apps),
diff --git a/lib/widget/unimplementedDialog.dart b/lib/widget/unimplementedDialog.dart
index 1aa6830..f90e0db 100644
--- a/lib/widget/unimplementedDialog.dart
+++ b/lib/widget/unimplementedDialog.dart
@@ -1,4 +1,3 @@
-import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
class UnimplementedDialog {