Screen design of Dashboard & customer Info

This commit is contained in:
2025-04-28 17:57:32 +05:30
parent fa6690165d
commit 3108093686
16 changed files with 585 additions and 323 deletions

View File

@@ -1,13 +1,17 @@
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:kmobile/features/auth/screens/customer_info_screen.dart';
import 'config/themes.dart';
import 'config/routes.dart';
import 'di/injection.dart';
import 'features/auth/controllers/auth_cubit.dart';
import 'features/auth/controllers/auth_state.dart';
import 'features/auth/screens/Card_screen.dart';
import 'features/auth/screens/login_screen.dart';
import 'features/auth/screens/service_screen.dart';
import 'features/dashboard/screens/dashboard_screen.dart';
import 'package:material_symbols_icons/material_symbols_icons.dart';
class KMobile extends StatelessWidget {
const KMobile({super.key});
@@ -53,7 +57,7 @@ class KMobile extends StatelessWidget {
}
if (state is Authenticated) {
return const DashboardScreen();
return const NavigationScaffold();
}
return const LoginScreen();
@@ -104,3 +108,64 @@ class _SplashScreen extends StatelessWidget {
);
}
}
class NavigationScaffold extends StatefulWidget {
const NavigationScaffold({super.key});
@override
State<NavigationScaffold> createState() => _NavigationScaffoldState();
}
class _NavigationScaffoldState extends State<NavigationScaffold> {
final PageController _pageController = PageController();
int _selectedIndex = 0;
final List<Widget> _pages = [
DashboardScreen(),
CardScreen(),
ServiceScreen(),
CustomerInfoScreen()
];
void _onItemTapped(int index) {
setState(() {
_selectedIndex = index;
});
_pageController.jumpToPage(index);
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: PageView(
controller: _pageController,
physics: const NeverScrollableScrollPhysics(),
children: _pages,
),
bottomNavigationBar: BottomNavigationBar(
currentIndex: _selectedIndex,
type: BottomNavigationBarType.fixed,
items: const [
BottomNavigationBarItem(
icon: Icon(Icons.home_filled),
label: 'Home',
),
BottomNavigationBarItem(
icon: Icon(Symbols.credit_card),
label: 'Card',
),
BottomNavigationBarItem(
icon: Icon(Symbols.concierge),
label: 'Services',
),
],
onTap: _onItemTapped,
backgroundColor: const Color(0xFFE0F7FA), // Light blue background
selectedItemColor: Colors.blue[800],
unselectedItemColor: Colors.black54,
),
);
}
}