anchor.diff:                        minHeight: constraints.maxHeight,
                       ),
                       child: IntrinsicHeight(
  -                      child: NavigationRail(
  -                        destinations: [
  -                          for (var destination in widget.destinations)
  -                            NavigationRailDestination(
  -                              icon: Material(
  -                                color: Colors.transparent,
  -                                child: ImageIcon(
  -                                  AssetImage(
  -                                    destination.icon,
  -                                    package: _assetsPackage,
  +                      child: ValueListenableBuilder<bool>(
  +                        valueListenable: _isExtended,
  +                        builder: (context, value, child) {
  +                          return NavigationRail(
  +                            destinations: [
  +                              for (var destination in widget.destinations)
  +                                NavigationRailDestination(
  +                                  icon: Material(
  +                                    color: Colors.transparent,
  +                                    child: ImageIcon(
  +                                      AssetImage(
  +                                        destination.icon,
  +                                        package: _assetsPackage,
  +                                      ),
  +                                    ),
                                     ),
  +                                  label: Text(destination.name),
                                   ),
  -                              ),
  -                              label: Text(destination.name),
  +                            ],
  +                            extended: _isExtended.value,
  +                            labelType: NavigationRailLabelType.none,
  +                            leading: _NavigationRailHeader(
  +                              extended: _isExtended,
                               ),
  -                        ],
  -                        extended: _isExtended,
  -                        labelType: NavigationRailLabelType.none,
  -                        leading: _NavigationRailHeader(
  -                          extended: _isExtended,
  -                          animation: _curve,
  -                          onLogoTapped: onLogoTapped,
  -                        ),
  -                        trailing: Visibility(
  -                          visible: _isExtended,
  -                          maintainState: true,
  -                          maintainAnimation: true,
  -                          child: AnimatedOpacity(
  -                            duration: _kAnimationDuration,
  -                            opacity: _isExtended ? 1 : 0,
  -                            child: _NavigationRailFolderSection(
  +                            trailing: _NavigationRailFolderSection(
                                 folders: widget.folders,
                               ),
  -                          ),
  -                        ),
  -                        selectedIndex: widget.selectedIndex,
  -                        onDestinationSelected: (index) {
  -                          widget.onItemTapped(
  -                            index,
  -                            widget.destinations[index].name,
  +                            selectedIndex: widget.selectedIndex,
  +                            onDestinationSelected: (index) {
  +                              widget.onItemTapped(
  +                                index,
  +                                widget.destinations[index].name,
  +                              );
  +                            },
                             );
                           },
                         ),
  
positive.code:                 ),
          );
          final tooltip = onMailView ? 'Reply' : 'Compose';
  
          if (isDesktop) {
            return FloatingActionButton.extended(
              heroTag: 'Rail FAB',
              tooltip: widget.extended ? null : tooltip,
              isExtended: widget.extended,
              onPressed: () {
                var onSearchPage = Provider.of<EmailStore>(
                  context,
                  listen: false,
                ).onSearchPage;
                // Navigator does not have an easy way to access the current
                // route when using a GlobalKey to keep track of NavigatorState.
                // We can use [Navigator.popUntil] in order to access the current
                // route, and check if it is a ComposePage. If it is not a
                // ComposePage and we are not on the SearchPage, then we can push
                // a ComposePage onto our navigator. We return true at the end
                // so nothing is popped.
                desktopMailNavKey.currentState.popUntil(
                  (route) {
                    var currentRoute = route.settings.name;
                    if (currentRoute != ReplyApp.composeRoute && !onSearchPage) {
                      desktopMailNavKey.currentState
                          .pushNamed(ReplyApp.composeRoute);
                    }
                    return true;
                  },
                );
              },
              label: Row(
                children: [
                  fabSwitcher,
                  if (widget.extended) ...[
                    const SizedBox(width: 16),
                    Text(
                      tooltip.toUpperCase(),
                      style: Theme.of(context).textTheme.headline5.copyWith(
                            fontSize: 16,
                            color: theme.colorScheme.onSecondary,
                          ),
                    ),
                  ]
                ],
              ),
            );
          } else {
            return OpenContainer(
  
negative.code: 
  class _DesktopNavState extends State<_DesktopNav>
      with SingleTickerProviderStateMixin {
    ValueNotifier<bool> _isExtended;
  
    @override
    void initState() {
      super.initState();
      _isExtended = ValueNotifier<bool>(widget.extended);
    }
  
    @override
  