2022-11-19 05:35:51 +01:00
|
|
|
import 'package:flutter/material.dart';
|
|
|
|
import 'package:hooks_riverpod/hooks_riverpod.dart';
|
|
|
|
import 'package:info_tren/models.dart';
|
|
|
|
import 'package:info_tren/pages/settings/setings_page.dart';
|
|
|
|
import 'package:info_tren/providers.dart';
|
|
|
|
|
|
|
|
class SettingsPageMaterial extends SettingsPageShared {
|
|
|
|
const SettingsPageMaterial({super.key,});
|
|
|
|
|
|
|
|
@override
|
|
|
|
Widget build(BuildContext context) {
|
|
|
|
return Scaffold(
|
|
|
|
appBar: AppBar(
|
|
|
|
title: Text(pageTitle),
|
|
|
|
centerTitle: true,
|
|
|
|
),
|
|
|
|
body: SingleChildScrollView(
|
|
|
|
child: Column(
|
|
|
|
children: [
|
|
|
|
Consumer(
|
|
|
|
builder: (context, ref, _) {
|
|
|
|
final currentUiDesign = ref.watch(uiDesignProvider);
|
|
|
|
return ListTile(
|
|
|
|
title: Text(appearanceTitle),
|
|
|
|
trailing: DropdownButton<UiDesign>(
|
|
|
|
items: UiDesign.values.map((d) => DropdownMenuItem(
|
|
|
|
value: d,
|
|
|
|
child: Text(d.userInterfaceName),
|
|
|
|
)).toList(),
|
|
|
|
value: currentUiDesign,
|
|
|
|
onChanged: (newUiDesign) {
|
|
|
|
ref.read(uiDesignProvider.notifier).set(newUiDesign);
|
|
|
|
},
|
|
|
|
),
|
|
|
|
);
|
|
|
|
},
|
|
|
|
),
|
2022-12-11 01:34:19 +01:00
|
|
|
Consumer(
|
|
|
|
builder: (context, ref, _) {
|
|
|
|
final currentTZ = ref.watch(uiTimeZoneProvider);
|
|
|
|
return ListTile(
|
|
|
|
title: Text(timeZoneTitle),
|
|
|
|
trailing: DropdownButton<UiTimeZoneType>(
|
|
|
|
items: UiTimeZoneType.values.where((tz) => tz != UiTimeZoneType.iana).map((tzt) => DropdownMenuItem(
|
|
|
|
value: tzt,
|
|
|
|
child: Text(tzt.userInterfaceName),
|
|
|
|
)).toList(),
|
|
|
|
value: currentTZ.type,
|
|
|
|
onChanged: (newTZ) {
|
|
|
|
if (newTZ != null) {
|
|
|
|
ref.read(uiTimeZoneProvider.notifier).set(UiTimeZone.fromSerString('${newTZ.name}\n'));
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
ref.read(uiTimeZoneProvider.notifier).set(null);
|
|
|
|
}
|
|
|
|
},
|
|
|
|
),
|
|
|
|
);
|
|
|
|
},
|
|
|
|
),
|
2022-11-19 05:35:51 +01:00
|
|
|
],
|
|
|
|
),
|
|
|
|
),
|
|
|
|
);
|
|
|
|
}
|
|
|
|
}
|