I guys, I have a News Flutter app that fetch articles from WordPress API,I have this code in my app but I don't know how to show up articles from search bar. As you can see in the body of the Home page I have a busy body homepage because there are tabs widgets to show up. I share screens to understand my case. Is there another way to show up results maybe using a search delegate?

HomePage enter image description here

searchbar page enter image description here

Empty searchbar when I search keyword, no results enter image description here

Home screen with tabs to load

class SearchBar extends StatefulWidget{
  final List<Article> posts;
  const SearchBar({Key? key, required this.posts,}) : super(key: key);
  @override
  _SearchBarState createState() => _SearchBarState();
}

class _SearchBarState extends State<SearchBar> {
  final List<Article> _searchedPost = [];
  late  List<Article> _searchedArticles = [];
  late final data;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: TextField(
          decoration: const InputDecoration(
            hintText: "Cerca Articolo",
            border: InputBorder.none,
          ),
          onChanged: (val) {
            setState(() {
              _searchedArticles = widget.posts.where((element) => element.title!.contains(val)).toList();
            });
          },
        ),
      ),
      body: _searchedArticles.isEmpty ?
      Scaffold(
        body: Padding(padding: const EdgeInsets.all(12),
          child: Column(
            children: [
              Image.asset("assets/images/search-illustration.png", height: 230,),
              const SizedBox(height: 20,),
              const Text('Nessun articolo trovato!',
                style: TextStyle(
                  fontSize: 20.0,
                  color: Colors.black,
                  fontWeight: FontWeight.w600,
                ),
              ),
              const SizedBox(height: 20,),
              const Text('Inserisci meglio le lettere o parole chiave dell’articolo che stai cercando e riprova.',
                style: TextStyle(
                    fontSize: 16.0,
                    color: Colors.black54,
                    fontWeight: FontWeight.w400,
                ),
              ),
              const SizedBox(height: 30,),
              MaterialButton(
                height: 50,
                elevation: 0,
                color: Colors.blue[900],
                shape: RoundedRectangleBorder(
                  borderRadius: BorderRadius.circular(10),
                ),
                child: Row(

                  children: const [
                    Text('Torna alla home', style: TextStyle(fontSize: 16.0, fontWeight: FontWeight.w600),),
                  ],
                ),
                onPressed: () {
                  Navigator.push(context,
                    MaterialPageRoute(builder: (context) => HomePage(),
                    ),
                  );
                },
              ),
            ],
          ),
        ),
      ) : ListView.builder(
        itemCount: _searchedArticles.length,
        itemBuilder: (context, i) {
          return Column(
            mainAxisSize: MainAxisSize.min,
            children: <Widget>[
              Card(
                margin: const EdgeInsets.all(10),
                elevation: 5,
                shadowColor: Colors.black26,

                child: InkWell(
                  child: ClipRRect(
                    borderRadius: BorderRadius.circular(10),
                    child: Column(
                      mainAxisSize: MainAxisSize.min,
                      children: [
                          //data["_embedded"]["wp:featuredmedia"][0]["link"],),
                        _searchedArticles[i].urlImage == null
                            ? const Text("Nessuna immagine caricata")
                            : Image.network(data["_embedded"]["wp:featuredmedia"][0]["link"],
                              width: double.infinity,
                              height: 220,
                              fit: BoxFit.cover,
                        ),
                        // Title article
                        Column(
                          children: [
                            Padding(
                              padding: const EdgeInsets.only(
                                  left: 16, top: 16, bottom: 16),
                              child: Row(
                                children: [
                                  Expanded(
                                    child: Text(_searchedArticles[i].title as String,
                                      maxLines: 3,
                                      overflow: TextOverflow.clip,
                                      softWrap: true,
                                      style: const TextStyle(
                                        fontSize: 18,
                                        fontWeight: FontWeight.w600,
                                        ,
                                      ),
                                    ),
                                  ),
                                ],
                              ),
                            )
                          ],
                        ),
                      ],
                    ),
                  ),
                  onTap: () {
                    if (_searchedPost[i] != null) {
                      Navigator.push(
                        context,
                        MaterialPageRoute(
                          builder: (context) => ArticlePage(
                            data: _searchedPost[i],
                          ),
                        ),
                      );
                    }
                  },
                ),
              ),
            ],
          );
        },
      ),
    );
  }
}```

Home page

    class HomePage extends StatefulWidget {
  @override
  _HomeState createState() => _HomeState();
}

class _HomeState extends State<HomePage> with SingleTickerProviderStateMixin {

  TabController? _tabController;

  final List<Tab> topTabs = <Tab>[
    const Tab(child: Text("Notizie")),
    const Tab(child: Text("Fiscalità")),
    const Tab(child: Text("Gestione")),
    const Tab(child: Text("Business")),
    const Tab(child: Text("Documentazione")),
  ];

  @override
  void initState() {
    /// Start  tabs articles
    _tabController = TabController(length: topTabs.length, initialIndex: 0, vsync: this)..addListener(() {setState(() {});});
    super.initState();
    /// End tabs articles
  }
  /// tabs
  Future<bool> _onWillPop() async {
    if (_tabController?.index == 0) {
      await SystemNavigator.pop();
    }
    Future.delayed(const Duration(microseconds: 200), () {
      _tabController?.index = 0;
    });
    return _tabController?.index == 0;
  }

  final _scaffoldKey = GlobalKey<ScaffoldState>();

  ///
  ///
  /// Search page
  final List<Article> _posts = [];

  @override
  Widget build(BuildContext context) {
    return Container(
      child: WillPopScope(
        onWillPop: _onWillPop,
        child: Scaffold(
          key: _scaffoldKey,
          extendBody: true,
          drawer: NavbarMenu(),
          backgroundColor: const Color(0xFFFAFAFA),
          appBar: AppBar(
            elevation: 0,
            leading: Builder(
              builder: (BuildContext context) {
                return GestureDetector(
                  child: Center(
                    child: IconButton(
                      icon: const Icon(
                        Icons.dehaze_outlined,
                        color: Colors.white,
                      ),
                      onPressed: () {
                        Scaffold.of(context).openDrawer();
                      },
                    ),
                  ),
                );
              },
            ),
            backgroundColor: Colors.blue[900],
            centerTitle: true,
            title: Image.asset('assets/images/bird.png', fit: BoxFit.contain, height: 32,),
            /// Action search icon
            actions: <Widget>[
              /// First search icon
              IconButton(
                icon: const Icon(Icons.search, color: Colors.white,),
                onPressed: () {
                  Navigator.of(context).push(MaterialPageRoute(
                      builder: (context)=> SearchBar(posts: _posts,)
                  ));
                },
              ),
            ],
            /// Bottom tab bar
            bottom: TabBar(
              controller: _tabController,
              indicatorColor: const Color(0xFFF9E14B),
              tabs: topTabs,
              indicator: const UnderlineTabIndicator(
                borderSide: BorderSide(
                  width: 4.0,
                  color: Color(0xFFF9E14B),
                ),
                insets: EdgeInsets.symmetric(horizontal: 10.0, vertical: 0),
              ),
              labelColor: Colors.yellow,
              unselectedLabelColor: Colors.white,
              isScrollable: true,
              labelStyle: const TextStyle(
                  fontWeight: FontWeight.w600,
                  fontSize: 16,
                  fontFamily: "Raleway"),
              unselectedLabelStyle: const TextStyle(
                fontWeight: FontWeight.w400,
                fontSize: 14,
              ),
            ),
          ),
          /// Body
          body: TabBarView(
            controller: _tabController,
            children: const [
              //SearchBar(posts: [],),
              NewsPage(),
              FiscalitaPage(),
              GestionePage(),
              BusinessPage(),
              DocumentazionePage(),
            ],
          ),
          ///

        ),
      ),
    );
  }```