V1.0.0
This commit is contained in:
@@ -6,6 +6,8 @@ import 'target_screen.dart';
|
||||
import '../widgets/bottom_nav.dart';
|
||||
//import 'login_screen.dart';
|
||||
import 'camera_screen.dart';
|
||||
import 'package:shared_preferences/shared_preferences.dart';
|
||||
import '../utils/translations.dart';
|
||||
|
||||
|
||||
class HomeScreen extends StatefulWidget {
|
||||
@@ -17,6 +19,7 @@ class HomeScreen extends StatefulWidget {
|
||||
|
||||
class _HomeScreenState extends State<HomeScreen> {
|
||||
int _selectedIndex = 1; // Default to Shooting Screen
|
||||
String _selectedLanguage = 'English';
|
||||
|
||||
static final List<Widget> _pages = <Widget>[
|
||||
BookScreen(),
|
||||
@@ -26,7 +29,7 @@ class _HomeScreenState extends State<HomeScreen> {
|
||||
SettingsScreen(),
|
||||
];
|
||||
|
||||
static final List<String> _pageTitles = [
|
||||
final List<String> _pageTitles = [
|
||||
'Book',
|
||||
'Shooting',
|
||||
'Scan',
|
||||
@@ -34,6 +37,23 @@ class _HomeScreenState extends State<HomeScreen> {
|
||||
'Settings'
|
||||
];
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
_loadLanguage();
|
||||
}
|
||||
|
||||
String _t(String key) {
|
||||
return AppTranslations.translate(key, _selectedLanguage);
|
||||
}
|
||||
|
||||
Future<void> _loadLanguage() async {
|
||||
final prefs = await SharedPreferences.getInstance();
|
||||
setState(() {
|
||||
_selectedLanguage = prefs.getString('language') ?? 'English';
|
||||
});
|
||||
}
|
||||
|
||||
void _onItemTapped(int index) {
|
||||
if (index == 2) {
|
||||
_openCameraScan();
|
||||
@@ -42,6 +62,8 @@ class _HomeScreenState extends State<HomeScreen> {
|
||||
setState(() {
|
||||
_selectedIndex = index;
|
||||
});
|
||||
// Reload language when switching screens to pick up any changes from Settings
|
||||
_loadLanguage();
|
||||
}
|
||||
|
||||
//void _logout() {
|
||||
@@ -69,7 +91,7 @@ class _HomeScreenState extends State<HomeScreen> {
|
||||
return Scaffold(
|
||||
appBar: AppBar(
|
||||
title: Text(
|
||||
_pageTitles[_selectedIndex],
|
||||
_t(_pageTitles[_selectedIndex]),
|
||||
style: const TextStyle(color: Colors.white),
|
||||
),
|
||||
backgroundColor: Colors.grey[900],
|
||||
@@ -77,9 +99,18 @@ class _HomeScreenState extends State<HomeScreen> {
|
||||
automaticallyImplyLeading: false,
|
||||
scrolledUnderElevation: 0, // For Material 3 (Flutter 3.7+)
|
||||
actions: [
|
||||
IconButton(
|
||||
icon: const Icon(Icons.logout, color: Colors.red),
|
||||
onPressed: null, // disables the button
|
||||
Padding(
|
||||
padding: const EdgeInsets.only(right: 16.0),
|
||||
child: Center(
|
||||
child: Text(
|
||||
'V1.0.0',
|
||||
style: TextStyle(
|
||||
color: Colors.grey[400],
|
||||
fontSize: 12,
|
||||
fontWeight: FontWeight.w500,
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
@@ -87,6 +118,7 @@ class _HomeScreenState extends State<HomeScreen> {
|
||||
bottomNavigationBar: BottomNavBar(
|
||||
selectedIndex: _selectedIndex,
|
||||
onItemTapped: _onItemTapped,
|
||||
selectedLanguage: _selectedLanguage,
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user