Files
lunasea/lib/modules/lidarr/widgets/navigation_bar.dart
Jagandeep Brar 5cf33b3abd [Release/TestFlight] v4.1.0+40100001 (#266)
NEW
- [Networking] Strict TLS/SSL validation is now disabled globally
- [Routing] Hold the AppBar back button to pop back to the home page of the module
- [Settings/Sonarr] Toggle to enable Sonarr v3 features
- [Sonarr] Complete rewrite of Sonarr
- [Sonarr] State is now held across module switches
- [Sonarr/Overview] View tags applied to series
- [Sonarr/Catalogue] (v3 only) Ability to set and update language profile
- [Sonarr/Catalogue] Ability to view all, only monitored, or only unmonitored series
- [Sonarr/Releases] (v3 only) Ability to interactively search for season packs
- [Sonarr/Releases] Ability to view all, only approved, or only rejected releases

TWEAKS
- [Settings] Removed all toggles for strict TLS
- [Sonarr] Many tweaks to Sonarr's design
- [Sonarr/Add] (v3 only) Tapping an already-added series will take you to the series page
- [Sonarr/Add] Automatically navigate to newly added series
- [Sonarr/Series] Toggling monitored state of series has now been moved to the edit prompt

FIXES
- [Images] Images will now load for invalid/self-signed certificates
- [Tautulli/Activity] Fix grey screen for music activity
- [TextField] Fix TextField actions (cut, copy, paste, etc.) not showing
- [Timestamps] Fix 12:xx AM being shown as 00:xx AM
- Additional small bug fixes
2020-10-13 09:43:28 -05:00

57 lines
1.7 KiB
Dart

import 'package:flutter/material.dart';
import 'package:flutter/scheduler.dart';
import 'package:lunasea/core.dart';
import 'package:lunasea/modules/lidarr.dart';
class LidarrNavigationBar extends StatefulWidget {
static const List<IconData> icons = [
CustomIcons.music,
CustomIcons.calendar_missing,
CustomIcons.history,
];
static const List<String> titles = [
'Catalogue',
'Missing',
'History',
];
final PageController pageController;
LidarrNavigationBar({
Key key,
@required this.pageController,
}): super(key: key);
@override
State<StatefulWidget> createState() => _State();
}
class _State extends State<LidarrNavigationBar> {
void initState() {
super.initState();
SchedulerBinding.instance.scheduleFrameCallback((_) {
Provider.of<LidarrState>(context, listen: false).navigationIndex = LidarrDatabaseValue.NAVIGATION_INDEX.data;
});
}
@override
Widget build(BuildContext context) => Selector<LidarrState, int>(
selector: (_, state) => state.navigationIndex,
builder: (context, index, _) => LSBottomNavigationBar(
index: index,
icons: LidarrNavigationBar.icons,
titles: LidarrNavigationBar.titles,
onTap: _navOnTap,
),
);
Future<void> _navOnTap(int index) async {
await widget.pageController.animateToPage(
index,
duration: Duration(milliseconds: Constants.UI_NAVIGATION_SPEED),
curve: Curves.easeOutSine,
);
Provider.of<LidarrState>(context, listen: false).navigationIndex = index;
}
}