- added license info

- fixed issues
This commit is contained in:
Denys Konovalov 2022-01-16 15:28:42 +01:00
parent ba75ce8d6d
commit 2dc41b7e24
31 changed files with 533 additions and 185 deletions

2
.gitignore vendored

@ -25,3 +25,5 @@ doc/api/
.flutter-plugins .flutter-plugins
.flutter-plugins-dependencies .flutter-plugins-dependencies
saved.dart

Binary file not shown.

@ -1,3 +1,19 @@
// GCG.MeinCantor - Die Schulplattform für Cantorianer.
// Copyright (C) 2021-2022 Georg-Cantor-Gymnasium Halle (Saale)
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published
// by the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
class AppearanceSettings extends StatelessWidget { class AppearanceSettings extends StatelessWidget {

@ -1,3 +1,19 @@
// GCG.MeinCantor - Die Schulplattform für Cantorianer.
// Copyright (C) 2021-2022 Georg-Cantor-Gymnasium Halle (Saale)
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published
// by the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
import 'package:background_fetch/background_fetch.dart'; import 'package:background_fetch/background_fetch.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:material_design_icons_flutter/material_design_icons_flutter.dart'; import 'package:material_design_icons_flutter/material_design_icons_flutter.dart';

@ -1,3 +1,19 @@
// GCG.MeinCantor - Die Schulplattform für Cantorianer.
// Copyright (C) 2021-2022 Georg-Cantor-Gymnasium Halle (Saale)
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published
// by the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_linkify/flutter_linkify.dart'; import 'package:flutter_linkify/flutter_linkify.dart';
import 'package:meincantor/const.dart'; import 'package:meincantor/const.dart';
@ -126,15 +142,16 @@ class InfoSettings extends StatelessWidget {
MaterialPageRoute( MaterialPageRoute(
builder: (context) => LicensePage( builder: (context) => LicensePage(
applicationIcon: Padding( applicationIcon: Padding(
padding: const EdgeInsets.all(5), padding: const EdgeInsets.all(5),
child: MediaQuery.of(context).platformBrightness == Brightness.light child: MediaQuery.of(context)
? Image.asset( .platformBrightness ==
"assets/images/meincantor-big.png", Brightness.light
width: 196) ? Image.asset(
: Image.asset( "assets/images/meincantor-big.png",
"assets/images/meincantor-big-dark.png", width: 196)
width: 196) : Image.asset(
), "assets/images/meincantor-big-dark.png",
width: 196)),
applicationVersion: version, applicationVersion: version,
)), )),
); );

@ -1,3 +1,19 @@
// GCG.MeinCantor - Die Schulplattform für Cantorianer.
// Copyright (C) 2021-2022 Georg-Cantor-Gymnasium Halle (Saale)
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published
// by the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
import 'dart:convert'; import 'dart:convert';
import 'package:meincantor/main.dart'; import 'package:meincantor/main.dart';

@ -1,3 +1,19 @@
// GCG.MeinCantor - Die Schulplattform für Cantorianer.
// Copyright (C) 2021-2022 Georg-Cantor-Gymnasium Halle (Saale)
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published
// by the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
class ServiceSettings extends StatelessWidget { class ServiceSettings extends StatelessWidget {

@ -1,3 +1,19 @@
// GCG.MeinCantor - Die Schulplattform für Cantorianer.
// Copyright (C) 2021-2022 Georg-Cantor-Gymnasium Halle (Saale)
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published
// by the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:material_design_icons_flutter/material_design_icons_flutter.dart'; import 'package:material_design_icons_flutter/material_design_icons_flutter.dart';
import 'package:meincantor/networking.dart'; import 'package:meincantor/networking.dart';
@ -183,15 +199,14 @@ class AccountConsole extends StatefulWidget {
} }
class AccountConsoleState extends State<AccountConsole> { class AccountConsoleState extends State<AccountConsole> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return WebViewX( return WebViewX(
height: MediaQuery.of(context).size.height, height: MediaQuery.of(context).size.height,
initialContent: 'https://mein.cantorgymnasium.de/auth/realms/GCG.MeinCantor/account/', initialContent:
'https://mein.cantorgymnasium.de/auth/realms/GCG.MeinCantor/account/',
initialSourceType: SourceType.url, initialSourceType: SourceType.url,
javascriptMode: JavascriptMode.unrestricted, javascriptMode: JavascriptMode.unrestricted,
width: MediaQuery.of(context).size.width width: MediaQuery.of(context).size.width);
);
} }
} }

@ -1,3 +1,19 @@
// GCG.MeinCantor - Die Schulplattform für Cantorianer.
// Copyright (C) 2021-2022 Georg-Cantor-Gymnasium Halle (Saale)
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published
// by the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:material_design_icons_flutter/material_design_icons_flutter.dart'; import 'package:material_design_icons_flutter/material_design_icons_flutter.dart';

@ -1,3 +1,19 @@
// GCG.MeinCantor - Die Schulplattform für Cantorianer.
// Copyright (C) 2021-2022 Georg-Cantor-Gymnasium Halle (Saale)
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published
// by the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
import 'dart:convert'; import 'dart:convert';
import 'package:flutter_local_notifications/flutter_local_notifications.dart'; import 'package:flutter_local_notifications/flutter_local_notifications.dart';

@ -1,3 +1,19 @@
// GCG.MeinCantor - Die Schulplattform für Cantorianer.
// Copyright (C) 2021-2022 Georg-Cantor-Gymnasium Halle (Saale)
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published
// by the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
import 'dart:convert'; import 'dart:convert';
import 'package:flutter_cache_manager/flutter_cache_manager.dart'; import 'package:flutter_cache_manager/flutter_cache_manager.dart';

@ -1,3 +1,19 @@
// GCG.MeinCantor - Die Schulplattform für Cantorianer.
// Copyright (C) 2021-2022 Georg-Cantor-Gymnasium Halle (Saale)
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published
// by the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
import 'dart:convert'; import 'dart:convert';
import 'dart:math'; import 'dart:math';
@ -12,7 +28,6 @@ import 'package:meincantor/networking.dart';
import 'package:meincantor/login.dart'; import 'package:meincantor/login.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/cupertino.dart';
import 'package:google_fonts/google_fonts.dart'; import 'package:google_fonts/google_fonts.dart';
import 'package:intl/intl.dart'; import 'package:intl/intl.dart';
import 'package:shared_preferences/shared_preferences.dart'; import 'package:shared_preferences/shared_preferences.dart';

@ -1,7 +1,22 @@
// GCG.MeinCantor - Die Schulplattform für Cantorianer.
// Copyright (C) 2021-2022 Georg-Cantor-Gymnasium Halle (Saale)
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published
// by the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
import 'dart:convert'; import 'dart:convert';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/cupertino.dart';
import 'package:http/http.dart'; import 'package:http/http.dart';
import 'package:material_design_icons_flutter/material_design_icons_flutter.dart'; import 'package:material_design_icons_flutter/material_design_icons_flutter.dart';
import 'package:shared_preferences/shared_preferences.dart'; import 'package:shared_preferences/shared_preferences.dart';

@ -1,3 +1,19 @@
// GCG.MeinCantor - Die Schulplattform für Cantorianer.
// Copyright (C) 2021-2022 Georg-Cantor-Gymnasium Halle (Saale)
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published
// by the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_local_notifications/flutter_local_notifications.dart'; import 'package:flutter_local_notifications/flutter_local_notifications.dart';
import 'package:shared_preferences/shared_preferences.dart'; import 'package:shared_preferences/shared_preferences.dart';
@ -28,14 +44,12 @@ void main() async {
// initialise the plugin. app_icon needs to be a added as a drawable resource to the Android head project // initialise the plugin. app_icon needs to be a added as a drawable resource to the Android head project
const AndroidInitializationSettings initializationSettingsAndroid = const AndroidInitializationSettings initializationSettingsAndroid =
AndroidInitializationSettings('app_icon'); AndroidInitializationSettings('app_icon');
const IOSInitializationSettings initializationSettingsIOS = const DarwinInitializationSettings initializationSettingsDarwin =
IOSInitializationSettings(); DarwinInitializationSettings();
const MacOSInitializationSettings initializationSettingsMacOS =
MacOSInitializationSettings();
const InitializationSettings initializationSettings = InitializationSettings( const InitializationSettings initializationSettings = InitializationSettings(
android: initializationSettingsAndroid, android: initializationSettingsAndroid,
iOS: initializationSettingsIOS, iOS: initializationSettingsDarwin,
macOS: initializationSettingsMacOS); macOS: initializationSettingsDarwin);
await flutterLocalNotificationsPlugin.initialize(initializationSettings); await flutterLocalNotificationsPlugin.initialize(initializationSettings);
BackgroundFetch.registerHeadlessTask(backgroundFetchHeadlessTask); BackgroundFetch.registerHeadlessTask(backgroundFetchHeadlessTask);
} }

@ -1,3 +1,19 @@
// GCG.MeinCantor - Die Schulplattform für Cantorianer.
// Copyright (C) 2021-2022 Georg-Cantor-Gymnasium Halle (Saale)
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published
// by the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
import 'dart:convert'; import 'dart:convert';
import 'dart:io'; import 'dart:io';

@ -1,3 +1,19 @@
// GCG.MeinCantor - Die Schulplattform für Cantorianer.
// Copyright (C) 2021-2022 Georg-Cantor-Gymnasium Halle (Saale)
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published
// by the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
import 'dart:convert'; import 'dart:convert';
import 'package:meincantor/networking.dart'; import 'package:meincantor/networking.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';

@ -1,3 +1,19 @@
// GCG.MeinCantor - Die Schulplattform für Cantorianer.
// Copyright (C) 2021-2022 Georg-Cantor-Gymnasium Halle (Saale)
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published
// by the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
Map colors = { Map colors = {

@ -1,3 +1,19 @@
// GCG.MeinCantor - Die Schulplattform für Cantorianer.
// Copyright (C) 2021-2022 Georg-Cantor-Gymnasium Halle (Saale)
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published
// by the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
dynamic subjects = { dynamic subjects = {
'---': '---', '---': '---',
'Bio': 'Biologie', 'Bio': 'Biologie',

@ -1,3 +1,19 @@
// GCG.MeinCantor - Die Schulplattform für Cantorianer.
// Copyright (C) 2021-2022 Georg-Cantor-Gymnasium Halle (Saale)
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published
// by the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
dynamic teachers = { dynamic teachers = {
'Poli': 'Herr Polity', 'Poli': 'Herr Polity',
'Zura': 'Frau Zuralski', 'Zura': 'Frau Zuralski',

@ -1,3 +1,19 @@
// GCG.MeinCantor - Die Schulplattform für Cantorianer.
// Copyright (C) 2021-2022 Georg-Cantor-Gymnasium Halle (Saale)
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published
// by the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
class RoomOverview extends StatelessWidget { class RoomOverview extends StatelessWidget {

@ -1,155 +1,153 @@
// SizedBox( // SizedBox(
// width: 170, // width: 170,
// child: GestureDetector( // child: GestureDetector(
// onTap: () async { // onTap: () async {
// Navigator.push( // Navigator.push(
// context, // context,
// MaterialPageRoute(builder: (context) => const SB()), // MaterialPageRoute(builder: (context) => const SB()),
// ); // );
// }, // },
// child: Card( // child: Card(
// shape: RoundedRectangleBorder( // shape: RoundedRectangleBorder(
// borderRadius: BorderRadius.circular(10), // borderRadius: BorderRadius.circular(10),
// ), // ),
// child: const Padding( // child: const Padding(
// padding: EdgeInsets.all(10), // padding: EdgeInsets.all(10),
// child: ListTile( // child: ListTile(
// title: Padding( // title: Padding(
// padding: EdgeInsets.fromLTRB(0, 0, 0, 10), // padding: EdgeInsets.fromLTRB(0, 0, 0, 10),
// child: Icon( // child: Icon(
// MdiIcons.libraryShelves, // MdiIcons.libraryShelves,
// color: Palette.accent, // color: Palette.accent,
// size: 48, // size: 48,
// ), // ),
// ), // ),
// subtitle: Center( // subtitle: Center(
// child: Padding( // child: Padding(
// padding: EdgeInsets.fromLTRB(0, 10, 0, 0), // padding: EdgeInsets.fromLTRB(0, 10, 0, 0),
// child: Text( // child: Text(
// 'Schulbibliothek', // 'Schulbibliothek',
// ), // ),
// ), // ),
// ), // ),
// ), // ),
// )), // )),
// ), // ),
// ), // ),
// SizedBox( // SizedBox(
// width: 170, // width: 170,
// child: GestureDetector( // child: GestureDetector(
// onTap: () async { // onTap: () async {
// Navigator.push( // Navigator.push(
// context, // context,
// MaterialPageRoute(builder: (context) => const SC()), // MaterialPageRoute(builder: (context) => const SC()),
// ); // );
// }, // },
// child: Card( // child: Card(
// shape: RoundedRectangleBorder( // shape: RoundedRectangleBorder(
// borderRadius: BorderRadius.circular(10), // borderRadius: BorderRadius.circular(10),
// ), // ),
// child: const Padding( // child: const Padding(
// padding: EdgeInsets.all(10), // padding: EdgeInsets.all(10),
// child: ListTile( // child: ListTile(
// title: Padding( // title: Padding(
// padding: EdgeInsets.fromLTRB(0, 0, 0, 10), // padding: EdgeInsets.fromLTRB(0, 0, 0, 10),
// child: Icon( // child: Icon(
// MdiIcons.laptop, // MdiIcons.laptop,
// color: Palette.accent, // color: Palette.accent,
// size: 48, // size: 48,
// ), // ),
// ), // ),
// subtitle: Center( // subtitle: Center(
// child: Padding( // child: Padding(
// padding: EdgeInsets.fromLTRB(0, 10, 0, 0), // padding: EdgeInsets.fromLTRB(0, 10, 0, 0),
// child: Text( // child: Text(
// 'Schulcomputer', // 'Schulcomputer',
// ), // ),
// ), // ),
// ), // ),
// ), // ),
// )), // )),
// ), // ),
// ), // ),
// SizedBox( // SizedBox(
// width: 170, // width: 170,
// child: GestureDetector( // child: GestureDetector(
// onTap: () async { // onTap: () async {
// Navigator.push( // Navigator.push(
// context, // context,
// MaterialPageRoute( // MaterialPageRoute(
// builder: (context) => const RoomOverview()), // builder: (context) => const RoomOverview()),
// ); // );
// }, // },
// child: Card( // child: Card(
// shape: RoundedRectangleBorder( // shape: RoundedRectangleBorder(
// borderRadius: BorderRadius.circular(10), // borderRadius: BorderRadius.circular(10),
// ), // ),
// child: const Padding( // child: const Padding(
// padding: EdgeInsets.all(10), // padding: EdgeInsets.all(10),
// child: ListTile( // child: ListTile(
// title: Padding( // title: Padding(
// padding: EdgeInsets.fromLTRB(0, 0, 0, 10), // padding: EdgeInsets.fromLTRB(0, 0, 0, 10),
// child: Icon( // child: Icon(
// MdiIcons.door, // MdiIcons.door,
// color: Palette.accent, // color: Palette.accent,
// size: 48, // size: 48,
// ), // ),
// ), // ),
// subtitle: Center( // subtitle: Center(
// child: Padding( // child: Padding(
// padding: EdgeInsets.fromLTRB(0, 10, 0, 0), // padding: EdgeInsets.fromLTRB(0, 10, 0, 0),
// child: Text( // child: Text(
// 'Raumübersicht', // 'Raumübersicht',
// ), // ),
// ), // ),
// ), // ),
// ), // ),
// )), // )),
// ), // ),
// ), // ),
// ListTile(
// leading:
// ListTile( // const Icon(MdiIcons.timetable, color: Colors.orangeAccent),
// leading: // trailing: const Icon(Icons.arrow_forward_ios, size: 16),
// const Icon(MdiIcons.timetable, color: Colors.orangeAccent), // title: const Text("Plan"),
// trailing: const Icon(Icons.arrow_forward_ios, size: 16), // subtitle: const Text("Kurse/Fächer, Farben & mehr"),
// title: const Text("Plan"), // onTap: () {
// subtitle: const Text("Kurse/Fächer, Farben & mehr"), // Navigator.push(
// onTap: () { // context,
// Navigator.push( // MaterialPageRoute(builder: (context) => const PlanSettings()),
// context, // );
// MaterialPageRoute(builder: (context) => const PlanSettings()), // },
// ); // ),
// }, // ListTile(
// ), // leading: const Icon(Icons.color_lens_outlined,
// ListTile( // color: Colors.pinkAccent),
// leading: const Icon(Icons.color_lens_outlined, // trailing: const Icon(Icons.arrow_forward_ios, size: 16),
// color: Colors.pinkAccent), // title: const Text("Aussehen"),
// trailing: const Icon(Icons.arrow_forward_ios, size: 16), // subtitle: const Text("Widgets, Design & mehr"),
// title: const Text("Aussehen"), // onTap: () {
// subtitle: const Text("Widgets, Design & mehr"), // Navigator.push(
// onTap: () { // context,
// Navigator.push( // MaterialPageRoute(
// context, // builder: (context) => const AppearanceSettings()),
// MaterialPageRoute( // );
// builder: (context) => const AppearanceSettings()), // },
// ); // ),
// }, // ListTile(
// ), // leading: const Icon(MdiIcons.server, color: Colors.lightGreen),
// ListTile( // trailing: const Icon(Icons.arrow_forward_ios, size: 16),
// leading: const Icon(MdiIcons.server, color: Colors.lightGreen), // title: const Text("Dienste"),
// trailing: const Icon(Icons.arrow_forward_ios, size: 16), // subtitle: const Text("Konten, Plattformen & mehr"),
// title: const Text("Dienste"), // onTap: () {
// subtitle: const Text("Konten, Plattformen & mehr"), // Navigator.push(
// onTap: () { // context,
// Navigator.push( // MaterialPageRoute(
// context, // builder: (context) => const ServiceSettings()),
// MaterialPageRoute( // );
// builder: (context) => const ServiceSettings()), // },
// ); // ),
// },
// ),
// class PlanSettings extends StatelessWidget { // class PlanSettings extends StatelessWidget {
// const PlanSettings({Key? key}) : super(key: key); // const PlanSettings({Key? key}) : super(key: key);

@ -1,3 +1,19 @@
// GCG.MeinCantor - Die Schulplattform für Cantorianer.
// Copyright (C) 2021-2022 Georg-Cantor-Gymnasium Halle (Saale)
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published
// by the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
import 'dart:convert'; import 'dart:convert';
import 'package:meincantor/networking.dart'; import 'package:meincantor/networking.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';

@ -1,3 +1,19 @@
// GCG.MeinCantor - Die Schulplattform für Cantorianer.
// Copyright (C) 2021-2022 Georg-Cantor-Gymnasium Halle (Saale)
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published
// by the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
class SB extends StatelessWidget { class SB extends StatelessWidget {

@ -1,3 +1,19 @@
// GCG.MeinCantor - Die Schulplattform für Cantorianer.
// Copyright (C) 2021-2022 Georg-Cantor-Gymnasium Halle (Saale)
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published
// by the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
class SC extends StatelessWidget { class SC extends StatelessWidget {

@ -1,3 +1,19 @@
// GCG.MeinCantor - Die Schulplattform für Cantorianer.
// Copyright (C) 2021-2022 Georg-Cantor-Gymnasium Halle (Saale)
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published
// by the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
import 'package:meincantor/presets/teachers.dart'; import 'package:meincantor/presets/teachers.dart';
import 'package:meincantor/presets/subjects.dart'; import 'package:meincantor/presets/subjects.dart';
import 'package:meincantor/presets/colors.dart'; import 'package:meincantor/presets/colors.dart';

@ -15,7 +15,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev
# In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion. # In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion.
# Read more about iOS versioning at # Read more about iOS versioning at
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
version: 1.0.0 version: 1.0.1
environment: environment:
sdk: ">=2.12.0 <3.0.0" sdk: ">=2.12.0 <3.0.0"
@ -32,21 +32,21 @@ dependencies:
# The following adds the Cupertino Icons font to your application. # The following adds the Cupertino Icons font to your application.
# Use with the CupertinoIcons class for iOS style icons. # Use with the CupertinoIcons class for iOS style icons.
# cupertino_icons: ^1.0.2 # cupertino_icons: ^1.0.2
shared_preferences: ^2.0.6 shared_preferences: ^2.0.12
http: ^0.13.3 http: ^0.13.4
google_fonts: ^2.1.0 google_fonts: ^2.2.0
time: ^2.0.0 time: ^2.1.0
flutter_launcher_icons: ^0.9.1 flutter_launcher_icons: ^0.9.2
material_design_icons_flutter: ^5.0.5955-rc.1 material_design_icons_flutter: ^5.0.6595
cyclop: ^0.5.2 cyclop: ^0.5.2
flutter_markdown: ^0.6.8 flutter_markdown: ^0.6.9
flutter_cache_manager: ^3.2.0 flutter_cache_manager: ^3.3.0
intl: ^0.17.0 intl: ^0.17.0
url_launcher: ^6.0.17 url_launcher: ^6.0.18
flutter_linkify: ^5.0.2 flutter_linkify: ^5.0.2
flutter_svg: ^1.0.0 flutter_svg: ^1.0.1
webviewx: ^0.2.1 webviewx: ^0.2.1
flutter_local_notifications: ^10.0.0-dev.1 flutter_local_notifications: ^10.0.0-dev.3
background_fetch: ^1.0.3 background_fetch: ^1.0.3
flutter_icons: flutter_icons:
@ -67,7 +67,7 @@ dev_dependencies:
# activated in the `analysis_options.yaml` file located at the root of your # activated in the `analysis_options.yaml` file located at the root of your
# package. See that file for information about deactivating specific lint # package. See that file for information about deactivating specific lint
# rules and activating additional ones. # rules and activating additional ones.
flutter_lints: ^1.0.0 flutter_lints: ^1.0.4
# For information on the generic Dart part of this file, see the # For information on the generic Dart part of this file, see the
# following page: https://dart.dev/tools/pub/pubspec # following page: https://dart.dev/tools/pub/pubspec

Binary file not shown.

Before

Width:  |  Height:  |  Size: 917 B

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.2 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.1 KiB

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.5 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 39 KiB