You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
1.2 KiB
38 lines
1.2 KiB
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}); |
|
|
|
}
|
|
|