- added license info
- fixed issues
2
.gitignore
vendored
@ -25,3 +25,5 @@ doc/api/
|
|||||||
|
|
||||||
.flutter-plugins
|
.flutter-plugins
|
||||||
.flutter-plugins-dependencies
|
.flutter-plugins-dependencies
|
||||||
|
|
||||||
|
saved.dart
|
||||||
|
BIN
android.zip
@ -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';
|
||||||
@ -127,14 +143,15 @@ class InfoSettings extends StatelessWidget {
|
|||||||
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)
|
||||||
|
.platformBrightness ==
|
||||||
|
Brightness.light
|
||||||
? Image.asset(
|
? Image.asset(
|
||||||
"assets/images/meincantor-big.png",
|
"assets/images/meincantor-big.png",
|
||||||
width: 196)
|
width: 196)
|
||||||
: Image.asset(
|
: Image.asset(
|
||||||
"assets/images/meincantor-big-dark.png",
|
"assets/images/meincantor-big-dark.png",
|
||||||
width: 196)
|
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 {
|
||||||
|
298
lib/saved.dart
@ -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';
|
||||||
|
26
pubspec.yaml
@ -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
|
||||||
|
BIN
web/favicon.png
Before Width: | Height: | Size: 917 B After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 5.2 KiB After Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 8.1 KiB After Width: | Height: | Size: 39 KiB |
Before Width: | Height: | Size: 5.5 KiB After Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 39 KiB |