Files
Bahla-Front/lib/ui/views/main/main_view.dart
2025-06-27 09:04:37 +02:00

94 lines
2.4 KiB
Dart

import 'package:bahla_front/ui/views/home/home_view.dart';
import 'package:flutter/material.dart';
import 'package:stacked/stacked.dart';
import 'package:bahla_front/ui/common/images.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'main_viewmodel.dart';
class MainView extends StackedView<MainViewModel> {
const MainView({Key? key}) : super(key: key);
@override
Widget builder(
BuildContext context,
MainViewModel viewModel,
Widget? child,
) {
return Scaffold(
appBar: AppBar(
title: Row(
mainAxisAlignment: MainAxisAlignment.start,
children: [
SvgPicture.asset(
Images.logoSvg,
//width: 100,
height: 60,
fit: BoxFit.contain,
alignment: Alignment.centerLeft,
),
],
),
centerTitle: false,
backgroundColor: Theme.of(context).colorScheme.background,
shape: Border(
bottom: BorderSide(
color: Theme.of(context).colorScheme.outline,
width: 0.2,
),
),
),
backgroundColor: Theme.of(context).colorScheme.background,
bottomNavigationBar: BottomNavigationBar(
type: BottomNavigationBarType.fixed,
backgroundColor: Theme.of(context).colorScheme.background,
currentIndex: viewModel.currentIndex,
onTap: viewModel.setIndex,
showSelectedLabels: false,
showUnselectedLabels: false,
iconSize: 35,
items: [
BottomNavigationBarItem(
icon: Icon(Icons.home),
label: 'Home',
),
BottomNavigationBarItem(
icon: Icon(Icons.search),
label: 'Search',
),
BottomNavigationBarItem(
icon: Icon(Icons.favorite_border),
label: 'Favorites',
),
BottomNavigationBarItem(
icon: Icon(Icons.account_circle),
label: 'Profile',
),
],
),
body: getViewForIndex(viewModel.currentIndex),
);
}
Widget getViewForIndex(int index) {
switch (index) {
case 0:
return HomeView();
case 1:
return Container();
case 2:
return Container();
case 3:
return Container();
default:
return HomeView();
}
}
@override
MainViewModel viewModelBuilder(
BuildContext context,
) =>
MainViewModel();
}