Добавить переход к элементам страницы по нажатию кнопки flutter

есть код написанный на dart, подскажите как мне по нажатию кнопки сделать переход к нужному элементу страницы. есть 4 кнопки и 4 раздела одной страницы "MAIN" "SKILS" "PROJECT" и "INFO".

import 'package:flutter/material.dart';
import 'package:my_web_portfolio/constant/colors.dart';
import 'package:my_web_portfolio/widget/drawer_mobile.dart';
import 'package:my_web_portfolio/widget/header_desctop.dart';
import 'package:my_web_portfolio/widget/header_mobile.dart';
import 'package:my_web_portfolio/widget/info_desktop.dart';
import 'package:my_web_portfolio/widget/info_mobile.dart';
import 'package:my_web_portfolio/widget/main_desctop.dart';
import 'package:my_web_portfolio/widget/main_mobile.dart';
import 'package:my_web_portfolio/widget/project_desctop.dart';
import 'package:my_web_portfolio/widget/site_logo.dart';
import 'package:my_web_portfolio/widget/skils_desctop.dart';
import 'package:my_web_portfolio/widget/skils_mobile.dart';

class HomePage extends StatefulWidget {
  const HomePage({super.key});

  @override
  State<HomePage> createState() => _HomePageState();
}

class _HomePageState extends State<HomePage> {
  final scaffoldKey = GlobalKey<ScaffoldState>();
  final scrollController = ScrollController();
  @override
  Widget build(BuildContext context) {
    return LayoutBuilder(
      builder: (context, constraints) {
        return Scaffold(
          key: scaffoldKey,
          backgroundColor: CustomColor.scaffoldBg,
          endDrawer:constraints.maxWidth >= 600?null: const DrawerMobile(),
          body: SingleChildScrollView(
            controller: scrollController,
            scrollDirection: Axis.vertical,
            child: Column(
              children: [
                //TOPBAR
                if (constraints.maxWidth >= 600)
                const HeaderDesctop() else
                HeaderMobile(
                  onLogoTab: (){
                  },
                  onMenuTab: (){
                    scaffoldKey.currentState?.openEndDrawer();
                },),
                //MAIN
                if (constraints.maxWidth >= 750)
                  const MainDesctop() else
                    MainMobile(),
                //SKILS
                if (constraints.maxWidth >= 930)
                  const SkilsDesctop() else
                  SkilsMobile(),
                //PROJECT
                ProjectDesctop(),
                //INFO
                if (constraints.maxWidth >= 750)
                  const InfoDesktop() else
                  InfoMobile(),
              ],
            ),
          ),
        );
      }
    );
  }
}

Ответы (0 шт):