Files
Tanami_App/lib/features/languageChange/presentation/widgets/bottom_section.dart
2024-07-26 12:03:47 +05:30

88 lines
3.2 KiB
Dart

import 'dart:developer';
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:gap/gap.dart';
import '../../../../Globalconst.dart';
import '../../../../core/routes/routes.dart';
import '../../../../core/styles/app_color.dart';
import '../../../../core/styles/app_text.dart';
import '../../../../core/utils/language/localizations_delegate.dart';
import '../../../../core/utils/secure/secure_storage_service.dart';
import '../../../../shared/components/bloc/language/lng_bloc.dart';
import '../../../../shared/components/bloc/language/lng_event.dart';
import '../../../../shared/components/button_widget.dart';
import '../../../../shared/components/text_widget.dart';
import '../bloc/choose_language_bloc.dart';
import '../bloc/text_bloc/text_bloc.dart';
import '../bloc/text_bloc/text_event.dart';
Widget bottomSection(BuildContext context) {
var localizations = AppLocalizations.of(context);
final radioBloc = context.read<ChooseLanguageBloc>();
SecureStorageService secureStorageService = SecureStorageService();
return Column(
mainAxisSize: MainAxisSize.min,
children: [
Container(
margin: const EdgeInsets.symmetric(
horizontal: 16,
vertical: 10,
),
width: 1.sw,
height: 56.h,
child: ButtonWidget().elevatedBtn(
txtClr: AppColor.plainWhite,
function: () async {
radioBloc
.langaugeChangeApiCall(
radioBloc.selectedCountry == 1 ? "AR" : "EN")
.then(
(value) async {
if (value == "success") {
var newLocale = radioBloc.selectedCountry == 1
? const Locale('ar')
: const Locale('en');
context
.read<LocalizationBloc>()
.add(ChangeLanguage(newLocale));
if (radioBloc.selectedCountry == 1) {
context
.read<TextLanguageBloc>()
.add(const ButtonPressed("اللغة العربية"));
await secureStorageService.write('languageSelected', "ar");
Globalconst.languageSelected = "ar";
} else {
context
.read<TextLanguageBloc>()
.add(const ButtonPressed("English"));
await secureStorageService.write('languageSelected', "en");
Globalconst.languageSelected = "en";
}
goRouter.pop();
} else {
log(value.toString());
//goRouter.pop();
}
},
);
},
text: localizations.translate(AppText.submitText),
clr: AppColor.primaryColor2,
),
),
ButtonWidget().textBtn(
function: () {
goRouter.pop();
},
text: TextWidget().text14W700(
localizations.translate(AppText.backText),
clr: AppColor.textLabelColor,
textDecoration: TextDecoration.underline)),
const Gap(20),
],
);
}