You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
uco-mobile-poc/lib/app/modules/app_intro/views/intro_screen_view.dart

124 lines
4.8 KiB
Dart

import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:get/get.dart';
import 'package:introduction_slider/source/presentation/pages/introduction_slider.dart';
import 'package:introduction_slider/source/presentation/widgets/buttons.dart';
import 'package:introduction_slider/source/presentation/widgets/dot_indicator.dart';
import 'package:introduction_slider/source/presentation/widgets/introduction_slider_item.dart';
import '../../../core/constants/app_assets.dart';
import '../../../core/constants/translation_keys.dart';
import '../../../custom_widgets/custom_button.dart';
import '../../../res/app_colors.dart';
import '../../../routes/app_pages.dart';
import '../controllers/intro_screen_controller.dart';
class IntroScreenView extends GetView<IntroScreenController> {
IntroScreenView({Key? key}) : super(key: key);
double imageWidthHeight = 180;
@override
Widget build(BuildContext context) {
//
// dp("Width int screen", {MediaQuery.sizeOf(Get.context!).width});
// dp("Height init screen ", MediaQuery.sizeOf(Get.context!).height);
// dp("Display large ", Theme.of(Get.context!).textTheme.displayLarge);
return Scaffold(
backgroundColor: AppColors.colorSecondary,
body: IntroductionSlider(
showStatusBar: true,
items: [
IntroductionSliderItem(
logo: SvgPicture.asset(
AppAssets.img_global,
width: imageWidthHeight,
height: imageWidthHeight,
),
title: Padding(
padding: const EdgeInsets.all(20),
child: Column(
children: [
Text(
TranslationKeys.makeTranslation(TranslationKeys.textWelcomeToJoin),
style: Theme.of(context).textTheme.displayLarge!,
),
const SizedBox(height: 20),
Text(
TranslationKeys.makeTranslation(TranslationKeys.textIntroDescription),
style: Theme.of(context).textTheme.bodyMedium!.copyWith(height: 1.8),
textAlign: TextAlign.center,
),
],
),
),
backgroundColor: AppColors.colorSecondary,
),
IntroductionSliderItem(
logo: SvgPicture.asset(
AppAssets.img_slider,
width: imageWidthHeight,
height: imageWidthHeight,
),
title: Padding(
padding: const EdgeInsets.all(20),
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Text(TranslationKeys.makeTranslation(TranslationKeys.textWelcomeToJoin), style: Theme.of(context).textTheme.displayLarge),
const SizedBox(height: 20),
Text(
TranslationKeys.makeTranslation(TranslationKeys.textIntroDescription),
style: Theme.of(context).textTheme.bodyMedium!.copyWith(height: 1.8),
textAlign: TextAlign.center,
),
],
),
),
backgroundColor: AppColors.colorSecondary,
),
],
done: Done(
child: Padding(
padding: const EdgeInsets.symmetric(vertical: 20, horizontal: 20),
child: CustomButton(
onPressed: () {
Get.offAllNamed(Routes.LOGIN_SCREEN);
},
buttonColor: AppColors.colorPrimaryLight,
buttonText: TranslationKeys.makeTranslation(TranslationKeys.continueText),
textStyle: Theme.of(context).textTheme.titleSmall?.copyWith(color: AppColors.colorPrimaryDark),
buttonPadding: const EdgeInsets.symmetric(vertical: 7, horizontal: 35),
),
),
home: Container(),
),
dotIndicator: const DotIndicator(size: 10, selectedColor: AppColors.colorPrimary),
// back: Back(
// child: Padding(
// padding: const EdgeInsets.symmetric(vertical: 10, horizontal: 20),
// child: CustomButton(
// onPressed: () {
// // Get.offAndToNamed(Routes.SIGN_UP_SCREEN_STEP1);
// Get.back();
// },
// buttonColor: AppColors.colorPrimaryLight,
// buttonText:
// TranslationKeys.makeTranslation(TranslationKeys.textRegister),
// textStyle: Theme.of(context)
// .textTheme
// .titleSmall
// ?.copyWith(color: AppColors.colorPrimaryDark),
// buttonPadding:
// const EdgeInsets.symmetric(vertical: 7, horizontal: 25),
// ),
// ),
// ),
),
);
}
}