title: How to navigate with the side menu with just one screen
body: <p>I have a demand to perform the navigation of this left side menu. This screen is already divided into 3, but I need the side menu only to update the second (middle). And I need the third one to receive the index data from the second (middle).</p>
  <p><a href="https://i.stack.imgur.com/umdzz.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/umdzz.png" alt="Image" /></a></p>
  <p>main_scren.dart</p>
  <pre><code>class MainScreen extends StatelessWidget {
    @override
    Widget build(BuildContext context) {
      // It provide us the width and height
      Size _size = MediaQuery.of(context).size;
      return Scaffold(
        body: Responsive(
          // Let's work on our mobile part
          mobile: ListOfChannels(),
          tablet: Row(
            children: [
              Expanded(
                flex: 6,
                child: ListOfChannels(),
              ),
              Expanded(
                flex: 9,
                child: ChannelScreen(),
              ),
            ],
          ),
          desktop: Row(
            children: [
              // Once our width is less then 1300 then it start showing errors
              // Now there is no error if our width is less then 1340
              Expanded(
                flex: _size.width &gt; 1340 ? 2 : 4,
                child: SideMenu(),
              ),
              Expanded(
                flex: _size.width &gt; 1340 ? 3 : 5,
                child: ListOfChannels(),
              ),
              Expanded(
                flex: _size.width &gt; 1340 ? 8 : 10,
                child: ChannelScreen(),
              ),
            ],
          ),
        ),
      );
    }
  }
  </code></pre>
  <p>Here is the code for my side_menu.dart</p>
  <pre><code>    @override
    Widget build(BuildContext context) {
      return Container(
        height: double.infinity,
        padding: EdgeInsets.only(top: kIsWeb ? kDefaultPadding : 0),
        color: kBgLightColor,
        child: SafeArea(
          child: SingleChildScrollView(
            padding: EdgeInsets.symmetric(horizontal: kDefaultPadding),
            child: Column(
              children: [
                Row(
                  children: [
                    Spacer(),
                    Image.asset(
                      &quot;assets/images/logo_lado.png&quot;,
                      width: 100,
                    ),
                    Spacer(),
                    // We don't want to show this close button on Desktop mood
                    if (!Responsive.isDesktop(context)) CloseButton(),
                  ],
                ),
                SizedBox(height: kDefaultPadding),
  
                SizedBox(height: kDefaultPadding),
  
                CircleAvatar(     
                          maxRadius: 65,
                          backgroundColor: Colors.transparent,
                          backgroundImage: AssetImage(&quot;assets/images/user_3.png&quot;),
                        ),
                SizedBox(height: kDefaultPadding), 
  
                SizedBox(height: kDefaultPadding),       
  
                FlatButton.icon(
                  minWidth: double.infinity,
                  padding: EdgeInsets.symmetric(
                    vertical: kDefaultPadding,
                  ),
                  shape: RoundedRectangleBorder(
                    borderRadius: BorderRadius.circular(10),
                  ),
                  color: kPrimaryColor,
                  onPressed: () {},
                  icon: WebsafeSvg.asset(&quot;assets/Icons/Edit.svg&quot;, width: 16),
                  label: Text(
                    &quot;Meu Perfil&quot;,
                    style: TextStyle(color: Colors.white),
                  ),
                ).addNeumorphism(
                  topShadowColor: Colors.white,
                  bottomShadowColor: Color(0xFF234395).withOpacity(0.2),
                ),
                SizedBox(height: kDefaultPadding),
                FlatButton.icon(
                  minWidth: double.infinity,
                  padding: EdgeInsets.symmetric(
                    vertical: kDefaultPadding,
                  ),
                  shape: RoundedRectangleBorder(
                    borderRadius: BorderRadius.circular(10),
                  ),
                  color: kBgDarkColor,
                  onPressed: () async {
                    bool saiu = await logout();
                    if (saiu) {
                      Navigator.pushReplacement(
                        context,
                        MaterialPageRoute(builder: (context) =&gt; LoginPage())
                        );
                    }
                  },
                  icon: WebsafeSvg.asset(&quot;assets/Icons/Download.svg&quot;, width: 16),
                  label: Text(
                    &quot;Sair&quot;,
                    style: TextStyle(color: kTextColor),
                  ),
                ).addNeumorphism(),
                SizedBox(height: kDefaultPadding * 2),
                // Menu Items
                SideMenuItem(
                  press: () {
                    
                  },
                  title: &quot;On Demand&quot;,
                  iconSrc: &quot;assets/Icons/new_releases_black_24dp.svg&quot;,
                  isActive: false,
                  //itemCount: 3,
                ),
                SideMenuItem(
                  press: () {},
                  title: &quot;Assistir TV&quot;,
                  iconSrc: &quot;assets/Icons/tv_black_24dp.svg&quot;,
                  isActive: true,
                ),
                SideMenuItem(
                  press: () {},
                  title: &quot;Favoritos&quot;,
                  iconSrc: &quot;assets/Icons/star_border_black_24dp.svg&quot;,
                  isActive: false,
                ),
  
                //SizedBox(height: kDefaultPadding * 2),
                // Tags
                //Tags(),
              ],
            ),
          ),
        ),
      );
  </code></pre>
  <p>And this is the screen that is in error, from which I need to receive the channel list data.
  channel_screen.dart</p>
  <pre><code>class ChannelScreen extends StatelessWidget {
    const ChannelScreen({
      Key key,
      this.channel,
    }) : super(key: key);
  
    final Channel channel;
  
    @override
    Widget build(BuildContext context) {
      return Scaffold(
        body: Container(
          color: Colors.white,
          child: SafeArea(
            child: Column(
              children: [
                //Header(),
                //Divider(thickness: 1),
                Expanded(
                  child: SingleChildScrollView(
                    padding: EdgeInsets.all(kDefaultPadding),
                    child: Row(
                      crossAxisAlignment: CrossAxisAlignment.start,
                      children: [
                        CircleAvatar(
                          maxRadius: 24,
                          backgroundColor: Colors.transparent,
                          backgroundImage: NetworkImage(channel.midiaImagemUrl),
                        ),
                        SizedBox(width: kDefaultPadding),
                        Expanded(
                          child: Column(
                            crossAxisAlignment: CrossAxisAlignment.start,
                            children: [
                              Row(
                                children: [
                                  Expanded(
                                    child: Column(
                                      crossAxisAlignment:
                                          CrossAxisAlignment.start,
                                      children: [
                                        Text.rich(
                                          TextSpan(
                                            text: channel.midiaTitulo,
                                            style: Theme.of(context)
                                                .textTheme
                                                .button,
                                            children: [
                                              TextSpan(
                                                  text:
                                                      &quot;&quot;,
                                                  style: Theme.of(context)
                                                      .textTheme
                                                      .caption),
                                            ],
                                          ),
                                        ),
                                        Text(
                                          channel.midiaTitulo,
                                          style: Theme.of(context)
                                              .textTheme
                                              .headline6,
                                        )
                                      ],
                                    ),
                                  ),
                                  SizedBox(width: kDefaultPadding / 2),
                                  Text(
                                    &quot;10:30 - 12:00&quot;,
                                    style: Theme.of(context).textTheme.caption,
                                  ),
                                ],
                              ),
                              SizedBox(height: kDefaultPadding),
                              LayoutBuilder(
                                builder: (context, constraints) =&gt; SizedBox(
                                  width: constraints.maxWidth &gt; 850
                                      ? 800
                                      : constraints.maxWidth,
                                  child: Column(
                                    crossAxisAlignment: CrossAxisAlignment.start,
                                    children: [
                                      Text(
                                        &quot;Aqui ficará o EPG List&quot;,
                                        style: TextStyle(
                                          height: 1.5,
                                          color: Color(0xFF4D5875),
                                          fontWeight: FontWeight.w300,
                                        ),
                                      ),
                                      SizedBox(height: kDefaultPadding),
                                      Divider(thickness: 1),
                                      SizedBox(height: kDefaultPadding / 2),
                                      SizedBox(
                                        height: 500,
                                        width: 500,
                                        child: StaggeredGridView.countBuilder(
                                          physics: NeverScrollableScrollPhysics(),
                                          crossAxisCount: 1,
                                          itemCount: 1,
                                          itemBuilder:
                                              (BuildContext context, int index) =&gt;
                                                  ClipRRect(
                                            borderRadius:
                                                BorderRadius.circular(8),
                                            child: Image.asset(
                                              &quot;assets/images/Img_$index.png&quot;,
                                              fit: BoxFit.cover,
                                            ),
                                          ),
                                          staggeredTileBuilder: (int index) =&gt;
                                              StaggeredTile.count(
                                            2,
                                            index.isOdd ? 2 : 1,
                                          ),
                                          mainAxisSpacing: kDefaultPadding,
                                          crossAxisSpacing: kDefaultPadding,
                                        ),
                                      )
                                    ],
                                  ),
                                ),
                              ),
                            ],
                          ),
                        ),
                      ],
                    ),
                  ),
                )
              ],
            ),
          ),
        ),
      );
    }
  }
  </code></pre>
  <p>Any help will be appreciated.</p>