mirror of
https://github.com/jagandeepbrar/lunasea.git
synced 2026-08-31 12:42:34 +00:00
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
57 lines
1.7 KiB
Dart
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;
|
|
}
|
|
} |