Block empty fullscreen timetable
This commit is contained in:
@@ -9,11 +9,15 @@ import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:flutter_feather_icons/flutter_feather_icons.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:filcnaplo_mobile_ui/pages/timetable/timetable_page.i18n.dart';
|
||||
|
||||
class PremiumFSTimetableButton extends StatelessWidget {
|
||||
const PremiumFSTimetableButton({Key? key, required this.controller}) : super(key: key);
|
||||
const PremiumFSTimetableButton(
|
||||
{Key? key, required this.controller, required this.tabcontroller})
|
||||
: super(key: key);
|
||||
|
||||
final TimetableController controller;
|
||||
final TabController tabcontroller;
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
@@ -22,19 +26,32 @@ class PremiumFSTimetableButton extends StatelessWidget {
|
||||
child: IconButton(
|
||||
splashRadius: 24.0,
|
||||
onPressed: () {
|
||||
if (!Provider.of<PremiumProvider>(context, listen: false).hasScope(PremiumScopes.fsTimetable)) {
|
||||
PremiumLockedFeatureUpsell.show(context: context, feature: PremiumFeature.weeklytimetable);
|
||||
if (!Provider.of<PremiumProvider>(context, listen: false)
|
||||
.hasScope(PremiumScopes.fsTimetable)) {
|
||||
PremiumLockedFeatureUpsell.show(
|
||||
context: context, feature: PremiumFeature.weeklytimetable);
|
||||
return;
|
||||
}
|
||||
|
||||
// If timetable empty, show empty
|
||||
if (tabcontroller.length == 0) {
|
||||
ScaffoldMessenger.of(context).showSnackBar(SnackBar(
|
||||
content: Text("empty_timetable".i18n),
|
||||
duration: const Duration(seconds: 2),
|
||||
));
|
||||
return;
|
||||
}
|
||||
|
||||
Navigator.of(context, rootNavigator: true)
|
||||
.push(PageRouteBuilder(
|
||||
pageBuilder: (context, animation, secondaryAnimation) => PremiumFSTimetable(
|
||||
pageBuilder: (context, animation, secondaryAnimation) =>
|
||||
PremiumFSTimetable(
|
||||
controller: controller,
|
||||
),
|
||||
))
|
||||
.then((_) {
|
||||
SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]);
|
||||
SystemChrome.setPreferredOrientations(
|
||||
[DeviceOrientation.portraitUp]);
|
||||
setSystemChrome(context);
|
||||
});
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user