Reply: Remove unnecessary inboxKey from AdaptiveNav (#952)
## Description
If the intent is to change the state of the MailboxBody widget based on
a change in the selected destination, I believe that the Provider
package already handles this efficiently.
Co-authored-by: Pierre-Louis <6655696+guidezpl@users.noreply.github.com>
diff --git a/lib/studies/reply/adaptive_nav.dart b/lib/studies/reply/adaptive_nav.dart
index 3cf232a..63038e0 100644
--- a/lib/studies/reply/adaptive_nav.dart
+++ b/lib/studies/reply/adaptive_nav.dart
@@ -35,8 +35,6 @@
}
class _AdaptiveNavState extends State<AdaptiveNav> {
- UniqueKey _inboxKey = UniqueKey();
-
@override
void initState() {
super.initState();
@@ -91,7 +89,6 @@
if (isDesktop) {
return _DesktopNav(
- inboxKey: _inboxKey,
extended: !isTablet,
destinations: navigationDestinations,
folders: folders,
@@ -99,7 +96,6 @@
);
} else {
return _MobileNav(
- inboxKey: _inboxKey,
destinations: navigationDestinations,
folders: folders,
onItemTapped: _onDestinationSelected,
@@ -115,10 +111,6 @@
final isDesktop = isDisplayDesktop(context);
- if (emailStore.selectedMailboxPage != destination) {
- _inboxKey = UniqueKey();
- }
-
emailStore.selectedMailboxPage = destination;
if (isDesktop) {
@@ -139,7 +131,6 @@
class _DesktopNav extends StatefulWidget {
const _DesktopNav({
- this.inboxKey,
required this.extended,
required this.destinations,
required this.folders,
@@ -147,7 +138,6 @@
});
final bool extended;
- final UniqueKey? inboxKey;
final List<_Destination> destinations;
final Map<String, String> folders;
final void Function(int, MailboxPageType) onItemTapped;
@@ -242,9 +232,9 @@
child: Center(
child: ConstrainedBox(
constraints: const BoxConstraints(maxWidth: 1340),
- child: _SharedAxisTransitionSwitcher(
+ child: const _SharedAxisTransitionSwitcher(
defaultChild: _MailNavigator(
- child: MailboxBody(key: widget.inboxKey),
+ child: MailboxBody(),
),
),
),
@@ -448,13 +438,11 @@
class _MobileNav extends StatefulWidget {
const _MobileNav({
- this.inboxKey,
required this.destinations,
required this.folders,
required this.onItemTapped,
});
- final UniqueKey? inboxKey;
final List<_Destination> destinations;
final Map<String, String> folders;
final void Function(int, MailboxPageType) onItemTapped;
@@ -618,10 +606,8 @@
children: [
NotificationListener<ScrollNotification>(
onNotification: _handleScrollNotification,
- child: _MailNavigator(
- child: MailboxBody(
- key: widget.inboxKey,
- ),
+ child: const _MailNavigator(
+ child: MailboxBody(),
),
),
MouseRegion(