From b672aa8d76cf9d72547acc52479b94dd7c8328cf Mon Sep 17 00:00:00 2001 From: Kalonkarthik Date: Fri, 17 Jan 2025 15:46:29 +0530 Subject: [PATCH] update languge translation --- .../routes/auth_routes/login_route.dart | 15 ++++++- .../drawer_routes/custom_drawer_routes.dart | 42 ++++++++++++++----- 2 files changed, 44 insertions(+), 13 deletions(-) diff --git a/lib/presentation/routes/auth_routes/login_route.dart b/lib/presentation/routes/auth_routes/login_route.dart index bf929e14..29b2a978 100644 --- a/lib/presentation/routes/auth_routes/login_route.dart +++ b/lib/presentation/routes/auth_routes/login_route.dart @@ -21,6 +21,9 @@ import 'package:uae_stat/presentation/routes/bottom_bar_routes/tab_routes/home_r import '../../Screens/auth_verification/registration.dart'; import 'package:pocketbase/pocketbase.dart'; +import '../../components/indicators/locale_provider.dart'; +import '../../components/my_toggle.dart'; + class LoginRoute extends HookConsumerWidget { final pb = PocketBase('https://pb.venbait.in'); // final _pb = PocketBase('http://127.0.0.1:8090'); @@ -82,6 +85,7 @@ class LoginRoute extends HookConsumerWidget { @override Widget build(BuildContext context, WidgetRef ref) { + final locale = ref.watch(localeProvider); final emailCtl = useTextEditingController(); final pwCtl = useTextEditingController(); final forgotPwBtn = TextButton( @@ -514,9 +518,16 @@ class LoginRoute extends HookConsumerWidget { ), children: [ 36.verticalSpace, - const Align( + Align( alignment: AlignmentDirectional.topEnd, - child: LangToggle(), + child: MyToggle(isOn: locale?.languageCode == 'en', + knobTextWhenOn: 'ع', + knobTextWhenOff: 'EN', + pathColorWhenOn: Colors.grey.shade300, + pathColorWhenOff: Colors.grey.shade300, + onTap: (){ + ref.read(localeProvider.notifier).toggleLocale(); + },), ), 16.verticalSpace, helloAndPleaseLoginTexts, diff --git a/lib/presentation/routes/drawer_routes/custom_drawer_routes.dart b/lib/presentation/routes/drawer_routes/custom_drawer_routes.dart index 5bdb2c9f..6d6e0374 100644 --- a/lib/presentation/routes/drawer_routes/custom_drawer_routes.dart +++ b/lib/presentation/routes/drawer_routes/custom_drawer_routes.dart @@ -1,9 +1,14 @@ import 'package:flutter/material.dart'; +import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:go_router/go_router.dart'; import 'package:pocketbase/pocketbase.dart'; import 'package:shared_preferences/shared_preferences.dart'; +import 'package:flutter_gen/gen_l10n/app_localizations.dart'; -class BaseScaffold extends StatefulWidget { +import '../../components/indicators/locale_provider.dart'; +import '../../components/my_toggle.dart'; + +class BaseScaffold extends ConsumerStatefulWidget { final Widget body; final Widget title; final bool? showBackButton; @@ -26,7 +31,7 @@ class BaseScaffold extends StatefulWidget { _BaseScaffoldState createState() => _BaseScaffoldState(); } -class _BaseScaffoldState extends State { +class _BaseScaffoldState extends ConsumerState { final _pb = PocketBase('https://pb.venbait.in'); String _avatarUrl = ''; dynamic userId; @@ -99,6 +104,8 @@ class _BaseScaffoldState extends State { @override Widget build(BuildContext context) { + final locale = ref.watch(localeProvider); + final localeNotifier = ref.read(localeProvider.notifier); String currentRoute = GoRouterState.of(context).matchedLocation; double myheight = MediaQuery.of(context).size.height; double mywidth = MediaQuery.of(context).size.width; @@ -109,10 +116,18 @@ class _BaseScaffoldState extends State { backgroundColor: widget.appbarColor, actions: widget.actions ?? [ - IconButton( - onPressed: () {}, - icon: const Icon(Icons.toggle_off_outlined), - ), + // IconButton( + // onPressed: () {}, + // icon: const Icon(Icons.toggle_off_outlined), + // ), + MyToggle(isOn: locale?.languageCode == 'en', + knobTextWhenOn: 'ع', + knobTextWhenOff: 'EN', + pathColorWhenOn: Colors.grey.shade300, + pathColorWhenOff: Colors.grey.shade300, + onTap: (){ + ref.read(localeProvider.notifier).toggleLocale(); + },), ], leading: Stack( children: [ @@ -216,7 +231,8 @@ class _BaseScaffoldState extends State { if (role == 'admin') ListTile( leading: Icon(Icons.manage_accounts), - title: const Text('Manage User'), + // title: Text('Manage User'), + title: Text(AppLocalizations.of(context)!.manage_user,), onTap: () => context.go('/manageuser'), ), ListTile( @@ -239,19 +255,23 @@ class _BaseScaffoldState extends State { items: [ BottomNavigationBarItem( icon: Icon(Icons.home), - label: 'Home', + // label: 'Home', + label: AppLocalizations.of(context)!.nav_home, ), BottomNavigationBarItem( icon: Icon(Icons.map), - label: 'UAE Numbers', + // label: 'UAE Numbers' + label: AppLocalizations.of(context)!.nav_uae, ), BottomNavigationBarItem( icon: Icon(Icons.bar_chart), - label: 'Competitiveness', + // label: 'Competitiveness', + label: AppLocalizations.of(context)!.nav_competitiveness, ), BottomNavigationBarItem( icon: Icon(Icons.public), - label: 'Country Profile', + // label: 'Country Profile', + label: AppLocalizations.of(context)!.country_profile, ), ], selectedItemColor: Colors.black,