info_tren/lib/main.dart

87 lines
2.4 KiB
Dart
Raw Normal View History

2019-09-15 02:33:07 +03:00
import 'dart:io' show Platform;
import 'package:flutter/cupertino.dart';
2019-07-23 16:56:51 +03:00
import 'package:flutter/material.dart';
// import 'package:flutter_redux/flutter_redux.dart';
import 'package:info_tren/models/ui_design.dart';
import 'package:info_tren/pages/main/main_page.dart';
2021-08-28 04:35:58 +03:00
import 'package:info_tren/pages/station_arrdep_page/select_station/select_station.dart';
import 'package:info_tren/pages/station_arrdep_page/view_station/view_station.dart';
import 'package:info_tren/pages/train_info_page/view_train/train_info.dart';
import 'package:info_tren/pages/train_info_page/select_train/select_train.dart';
2019-07-23 16:56:51 +03:00
void main() {
// final store = createStore();
// runApp(
// StoreProvider(
// store: store,
// child: StartPoint(),
// )
// );
runApp(
StartPoint(),
);
}
Map<String, WidgetBuilder> routesByUiDesign(UiDesign uiDesign) => {
Navigator.defaultRouteName: (context) {
return MainPage(uiDesign: uiDesign,);
},
SelectTrainPage.routeName: (context) {
return SelectTrainPage(uiDesign: uiDesign);
},
TrainInfo.routeName: (context) {
return TrainInfo(
trainNumber: ModalRoute.of(context)!.settings.arguments as String,
uiDesign: uiDesign,
2021-08-28 04:35:58 +03:00
);
},
SelectStationPage.routeName: (context) {
return SelectStationPage(uiDesign: uiDesign,);
},
ViewStationPage.routeName: (context) {
return ViewStationPage(
stationName: ModalRoute.of(context)!.settings.arguments as String,
uiDesign: uiDesign,
);
},
};
2019-07-23 16:56:51 +03:00
2019-09-15 02:33:07 +03:00
class StartPoint extends StatelessWidget {
final String appTitle = 'Info Tren';
2019-07-23 16:56:51 +03:00
@override
Widget build(BuildContext context) {
2021-08-28 00:55:07 +03:00
if (Platform.isIOS || Platform.isMacOS) {
return CupertinoApp(
title: appTitle,
theme: CupertinoThemeData(
primaryColor: Colors.blue.shade600,
brightness: Brightness.dark,
// textTheme: CupertinoTextThemeData(
// textStyle: TextStyle(
// fontFamily: 'Atkinson Hyperlegible',
// ),
// ),
),
routes: routesByUiDesign(UiDesign.CUPERTINO),
);
}
else {
2019-09-15 02:33:07 +03:00
return MaterialApp(
title: appTitle,
2019-09-15 02:33:07 +03:00
theme: ThemeData(
primarySwatch: Colors.blue,
brightness: Brightness.dark,
primaryColor: Colors.blue.shade600,
accentColor: Colors.blue.shade700,
// fontFamily: 'Atkinson Hyperlegible',
2019-09-15 02:33:07 +03:00
),
routes: routesByUiDesign(UiDesign.MATERIAL),
2019-09-15 02:33:07 +03:00
);
}
2019-07-23 16:56:51 +03:00
}
}