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.
124 lines
4.8 KiB
Dart
124 lines
4.8 KiB
Dart
|
1 month ago
|
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),
|
||
|
|
// ),
|
||
|
|
// ),
|
||
|
|
// ),
|
||
|
|
),
|
||
|
|
);
|
||
|
|
}
|
||
|
|
}
|