Modular menus

This commit is contained in:
='fauz 2025-05-07 14:18:26 +07:00
parent f47eb88980
commit ee9c2ce4a4
2 changed files with 35 additions and 48 deletions

View File

@ -23,19 +23,6 @@ class _MainMenuState extends State<MainMenu> {
ProfileScreen(), ProfileScreen(),
]; ];
// void _onItemTapped(int index) {
// Future.delayed(Duration(milliseconds: 100), () {
// Navigator.pushReplacement(
// context,
// MaterialPageRoute(builder: (context) => _screens[index]),
// );
// });
// setState(() {
// selectedIndex = index;
// });
// }
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
final Size size = MediaQuery.of(context).size; final Size size = MediaQuery.of(context).size;
@ -44,37 +31,41 @@ class _MainMenuState extends State<MainMenu> {
return Container( return Container(
color: Colors.transparent, color: Colors.transparent,
padding: const EdgeInsets.symmetric(vertical: 20, horizontal: 5), padding: const EdgeInsets.symmetric(vertical: 20, horizontal: 5),
child: Row( child: _btns(context, selectedIndex),
mainAxisAlignment: MainAxisAlignment.spaceEvenly, );
mainAxisSize: MainAxisSize.min, }
children: [
MenuButton( Row _btns(BuildContext context, int selectedIndex) {
label: "E-furibuddy", return Row(
icon: 'assets/icons/furrybuddy.svg', mainAxisAlignment: MainAxisAlignment.spaceEvenly,
onPress: () => _onItemTapped(context, 0), mainAxisSize: MainAxisSize.min,
isSelected: selectedIndex == 0, children: [
), MenuButton(
MenuButton( label: "E-furibuddy",
label: "Koleksi", icon: 'assets/icons/furrybuddy.svg',
icon: 'assets/icons/Koleksi.svg', onPress: () => _onItemTapped(context, 0),
onPress: () => _onItemTapped(context, 1), isSelected: selectedIndex == 0,
isSelected: selectedIndex == 1, ),
), MenuButton(
SizedBox(width: 100), label: "Koleksi",
MenuButton( icon: 'assets/icons/Koleksi.svg',
label: "Pustaka", onPress: () => _onItemTapped(context, 1),
icon: 'assets/icons/Pustaka.svg', isSelected: selectedIndex == 1,
onPress: () => _onItemTapped(context, 2), ),
isSelected: selectedIndex == 2, SizedBox(width: 100),
), MenuButton(
MenuButton( label: "Pustaka",
label: "Saya", icon: 'assets/icons/Pustaka.svg',
icon: 'assets/icons/Saya.svg', onPress: () => _onItemTapped(context, 2),
onPress: () => _onItemTapped(context, 3), isSelected: selectedIndex == 2,
isSelected: selectedIndex == 3, ),
), MenuButton(
], label: "Saya",
), icon: 'assets/icons/Saya.svg',
onPress: () => _onItemTapped(context, 3),
isSelected: selectedIndex == 3,
),
],
); );
} }

View File

@ -5,12 +5,8 @@ import 'package:flutter/material.dart';
import 'package:flutter/services.dart'; import 'package:flutter/services.dart';
import 'package:freekake/components/card_list.dart'; import 'package:freekake/components/card_list.dart';
import 'package:freekake/components/collection_container%20copy.dart'; import 'package:freekake/components/collection_container%20copy.dart';
// import 'package:freekake/components/main_menu.dart';
// import 'package:freekake/components/topbar_container.dart';
import 'package:freekake/helpers/color_helper.dart'; import 'package:freekake/helpers/color_helper.dart';
import 'package:list_detail_extension/list_detail_extension.dart'; import 'package:list_detail_extension/list_detail_extension.dart';
// import 'package:freekake/screen/pustaka/pustaka_detail_screen.dart';
import 'package:webview_flutter/webview_flutter.dart'; import 'package:webview_flutter/webview_flutter.dart';
import 'package:flutter/foundation.dart' show kIsWeb; import 'package:flutter/foundation.dart' show kIsWeb;