38 lines
1.2 KiB
Dart
38 lines
1.2 KiB
Dart
import 'package:flutter/widgets.dart';
|
|
import 'package:hooks_riverpod/hooks_riverpod.dart';
|
|
import 'package:info_tren/models.dart';
|
|
import 'package:info_tren/pages/settings/settings_page_cupertino.dart';
|
|
import 'package:info_tren/pages/settings/settings_page_fluent.dart';
|
|
import 'package:info_tren/pages/settings/settings_page_material.dart';
|
|
import 'package:info_tren/providers.dart';
|
|
|
|
class SettingsPage extends ConsumerWidget {
|
|
const SettingsPage({super.key,});
|
|
|
|
static const String routeName = '/settings';
|
|
|
|
@override
|
|
Widget build(BuildContext context, WidgetRef ref) {
|
|
final uiDesign = ref.watch(uiDesignProvider);
|
|
|
|
switch (uiDesign) {
|
|
case UiDesign.MATERIAL:
|
|
return const SettingsPageMaterial();
|
|
case UiDesign.CUPERTINO:
|
|
return const SettingsPageCupertino();
|
|
case UiDesign.FLUENT:
|
|
return const SettingsPageFluent();
|
|
default:
|
|
throw UnmatchedUiDesignException(uiDesign);
|
|
}
|
|
}
|
|
}
|
|
|
|
abstract class SettingsPageShared extends StatelessWidget {
|
|
final String pageTitle = 'Setări';
|
|
final String appearanceTitle = 'Aspect';
|
|
final String timeZoneTitle = 'Fus orar';
|
|
|
|
const SettingsPageShared({super.key});
|
|
|
|
}
|