fApp/lib/screens/settings_screen.dart
Flummi 9655f15927
All checks were successful
Flutter Schmutter / build (push) Successful in 3m37s
v1.2.0+54
- screaming_possum.gif
2025-06-13 13:55:05 +02:00

107 lines
3.4 KiB
Dart

import 'package:flutter/material.dart';
import 'package:flutter_cache_manager/flutter_cache_manager.dart';
import 'package:f0ckapp/widgets/end_drawer.dart';
import 'package:get/get.dart';
class SettingsPage extends StatefulWidget {
const SettingsPage({super.key});
@override
State<StatefulWidget> createState() => _SettingsPageState();
}
class _SettingsPageState extends State<SettingsPage> {
int _columns = 3;
bool _drawerSwipeEnabled = true;
void _showMsg(String message, BuildContext context) {
ScaffoldMessenger.of(context)
..removeCurrentSnackBar()
..showSnackBar(SnackBar(content: Text(message)));
}
@override
Widget build(BuildContext context) {
return Scaffold(
endDrawerEnableOpenDragGesture: _drawerSwipeEnabled,
endDrawer: EndDrawer(),
body: CustomScrollView(
slivers: [
SliverAppBar(
floating: false,
pinned: true,
title: const Text('Settings'),
leading: IconButton(
icon: const Icon(Icons.arrow_back),
onPressed: () {
Get.back();
},
),
),
SliverList(
delegate: SliverChildListDelegate([
/*Padding(
padding: const EdgeInsets.all(16.0),
child: Text(
"Anzahl der Spalten",
style: Theme.of(context).textTheme.titleLarge,
),
),
ListTile(
title: const Text("Spaltenanzahl"),
trailing: DropdownButton<int>(
value: mediaState.crossAxisCount,
dropdownColor: const Color.fromARGB(255, 43, 43, 43),
iconEnabledColor: Colors.white,
items: [0, 3, 4, 5].map((int value) {
return DropdownMenuItem<int>(
value: value,
child: Text(value == 0 ? 'auto' : '$value Spalten'),
);
}).toList(),
onChanged: (int? newValue) {
if (newValue != null) {
setState(() {
_columns = newValue;
mediaNotifier.setCrossAxisCount(newValue);
});
}
},
),
),*/
const Divider(),
SwitchListTile(
title: const Text("Drawer per Geste öffnen"),
subtitle: const Text(
"Wähle, ob der Drawer mit einer Wischgeste geschlossen/ geöffnet werden kann.",
),
value: _drawerSwipeEnabled,
onChanged: (bool value) {
setState(() {
_drawerSwipeEnabled = value;
});
},
),
const Divider(),
ListTile(
title: Text("Cache löschen"),
trailing: ElevatedButton(
onPressed: () async {
await DefaultCacheManager().emptyCache();
if (!mounted) return;
_showMsg('Cache wurde geleert.', context);
},
child: const Text("Löschen"),
),
),
const SizedBox(height: 20),
]),
),
],
),
);
}
}