This repository has been archived on 2023-06-24. You can view files and clone it, but cannot push or open issues or pull requests.
meincantor-app/lib/Settings/dashboard.dart

137 lines
5.4 KiB
Dart
Raw Normal View History

2022-01-16 15:28:42 +01:00
// 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:material_design_icons_flutter/material_design_icons_flutter.dart';
import 'package:meincantor/Settings/Pages/dev_settings.dart';
import 'package:meincantor/Settings/Pages/info_settings.dart';
import 'package:meincantor/Settings/Pages/plan_settings.dart';
import 'package:meincantor/Settings/Pages/user_settings.dart';
class Settings extends StatelessWidget {
const Settings({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text("Einstellungen"),
centerTitle: true,
),
body: ListView(
padding: const EdgeInsets.fromLTRB(5, 5, 5, 5),
children: [
Padding(
padding: const EdgeInsets.all(5),
child: ListTile(
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(15.0)),
leading: const Icon(MdiIcons.accountSettingsOutline,
color: Colors.cyan),
trailing: const Icon(Icons.arrow_forward_ios, size: 16),
title: const Text("Benutzer"),
subtitle: const Text("Profilbild, Klasse & mehr"),
onTap: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => const UserSettings()),
);
},
),
),
Padding(
padding: const EdgeInsets.all(5),
child: ListTile(
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(15.0)),
leading: const Icon(Icons.list_alt_outlined, color: Colors.red),
trailing: const Icon(Icons.arrow_forward_ios, size: 16),
title: const Text("Kurse"),
subtitle: const Text("Konfiguration der Kurse"),
onTap: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => const WhitelistSettings()),
);
},
),
),
Padding(
padding: const EdgeInsets.all(5),
child: ListTile(
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(15.0)),
leading:
const Icon(Icons.color_lens_outlined, color: Colors.teal),
trailing: const Icon(Icons.arrow_forward_ios, size: 16),
title: const Text("Farben"),
subtitle:
const Text("Konfiguration der Farben für die Plankacheln"),
onTap: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => const PlanColorSettings()),
);
},
),
),
Padding(
padding: const EdgeInsets.all(5),
child: ListTile(
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(15.0)),
leading: const Icon(Icons.developer_mode_outlined,
color: Colors.deepOrangeAccent),
trailing: const Icon(Icons.arrow_forward_ios, size: 16),
title: const Text("Entwickleroptionen"),
subtitle: const Text("API, Benutzerdaten & mehr"),
onTap: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => const DevSettings()),
);
},
),
),
Padding(
padding: const EdgeInsets.all(5),
child: ListTile(
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(15.0)),
leading:
const Icon(Icons.info_outlined, color: Colors.greenAccent),
trailing: const Icon(Icons.arrow_forward_ios, size: 16),
title: const Text("Informationen"),
subtitle: const Text("Version, Lizenzen & mehr"),
onTap: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => const InfoSettings()),
);
},
),
),
],
));
}
}