From f74b7df8c3070963783931d8e01172664e2f9b4d Mon Sep 17 00:00:00 2001 From: novaari2 Date: Wed, 17 Apr 2024 15:03:41 +0700 Subject: [PATCH 1/2] perubahan edit profile --- app/assets/images/beaver.png | Bin 0 -> 37184 bytes .../register/bloc/user_register_bloc.dart | 28 +-- .../register/presentation/pages/_pages.dart | 7 + .../presentation/pages/register_page.dart | 202 +++++++++++++----- .../v2/widgets/biro_bebras_dropdownV2.dart | 2 +- .../v2/widgets/custom_date_pickerV2.dart | 4 +- .../pages/v2/widgets/custom_text_fieldV2.dart | 4 +- .../pages/v2/widgets/province_dropdownV2.dart | 8 +- .../repositories/register_user_repo.dart | 12 +- 9 files changed, 188 insertions(+), 79 deletions(-) create mode 100644 app/assets/images/beaver.png diff --git a/app/assets/images/beaver.png b/app/assets/images/beaver.png new file mode 100644 index 0000000000000000000000000000000000000000..83b4668d6af750f5978fe08353b52515f8822be0 GIT binary patch literal 37184 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 O0tQnftYJAC7xjPD6b}3V literal 0 HcmV?d00001 diff --git a/app/lib/features/authentication/register/bloc/user_register_bloc.dart b/app/lib/features/authentication/register/bloc/user_register_bloc.dart index 43c51c27..6f2c3968 100644 --- a/app/lib/features/authentication/register/bloc/user_register_bloc.dart +++ b/app/lib/features/authentication/register/bloc/user_register_bloc.dart @@ -55,18 +55,18 @@ class UserRegisterBloc extends Bloc { email: BlocFormItem( value: value['email'].toString(), ), - // birthDate: BlocFormItem( - // value: value['birth_date'].toString(), - // ), + birthDate: BlocFormItem( + value: value['birth_date'].toString(), + ), school: BlocFormItem( value: value['school'].toString(), ), province: BlocFormItem( value: value['province'].toString(), ), - // bebrasBiro: BlocFormItem( - // value: value['bebras_biro'].toString(), - // ), + bebrasBiro: BlocFormItem( + value: value['bebras_biro'].toString(), + ), ), ), }, @@ -199,10 +199,10 @@ class UserRegisterBloc extends Bloc { if (state.formKey!.currentState!.validate()) { final email = state.email.value; final name = state.name.value; - // final birthDate = state.birthDate.value; + final birthDate = state.birthDate.value; final school = state.school.value; final province = state.province.value; - // final bebrasBiro = state.bebrasBiro.value; + final bebrasBiro = state.bebrasBiro.value; emit(UserRegisterLoadingState()); @@ -211,10 +211,10 @@ class UserRegisterBloc extends Bloc { userId: userId, email: email, name: name, - // birthDate: birthDate, + birthDate: birthDate, school: school, province: province, - // bebrasBiro: bebrasBiro, + bebrasBiro: bebrasBiro, ); emit(UserRegisterSuccessState()); } catch (e) { @@ -233,10 +233,10 @@ class UserRegisterBloc extends Bloc { if (state.formKey!.currentState!.validate()) { final email = state.email.value; final name = state.name.value; - // final birthDate = state.birthDate.value; + final birthDate = state.birthDate.value; final school = state.school.value; final province = state.province.value; - // final bebrasBiro = state.bebrasBiro.value; + final bebrasBiro = state.bebrasBiro.value; emit(UserRegisterLoadingState()); @@ -245,10 +245,10 @@ class UserRegisterBloc extends Bloc { userId: userId, email: email, name: name, - // birthDate: birthDate, + birthDate: birthDate, school: school, province: province, - // bebrasBiro: bebrasBiro, + bebrasBiro: bebrasBiro, ); emit(UserRegisterSuccessState()); } catch (e) { diff --git a/app/lib/features/authentication/register/presentation/pages/_pages.dart b/app/lib/features/authentication/register/presentation/pages/_pages.dart index 502ea0d8..ba31ac10 100644 --- a/app/lib/features/authentication/register/presentation/pages/_pages.dart +++ b/app/lib/features/authentication/register/presentation/pages/_pages.dart @@ -1,17 +1,24 @@ import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:go_router/go_router.dart'; +import '../../../../../core/bases/widgets/atoms/button.dart'; import '../../../../../core/bases/widgets/layout/bebras_scaffold.dart'; import '../../../../../core/constants/assets.dart'; import '../../../../../core/theme/font_theme.dart'; import '../../../../../services/di.dart'; import '../../../../main/presentation/bloc/home_cubit.dart'; +import '../../../../onboarding/presentation/pages/v2/widgets/custom_text_field.dart'; import '../../bloc/user_register_bloc.dart'; import '../../model/form_item.dart'; import '../widgets/biro_bebras_dropdown.dart'; import '../widgets/custom_date_picker.dart'; import '../widgets/custom_text_field.dart'; import '../widgets/province_dropdown.dart'; +import 'v2/widgets/biro_bebras_dropdownV2.dart'; +import 'v2/widgets/custom_date_pickerV2.dart'; +import 'v2/widgets/custom_text_fieldV2.dart'; +import 'v2/widgets/province_dropdownV2.dart'; part 'register_page.dart'; diff --git a/app/lib/features/authentication/register/presentation/pages/register_page.dart b/app/lib/features/authentication/register/presentation/pages/register_page.dart index e929b4f3..3a117c5b 100644 --- a/app/lib/features/authentication/register/presentation/pages/register_page.dart +++ b/app/lib/features/authentication/register/presentation/pages/register_page.dart @@ -66,7 +66,7 @@ class _RegisterPageState extends State { body: Padding( padding: const EdgeInsets.only( left: 16, - top: 30, + top: 20, right: 16, ), child: Form( @@ -74,24 +74,72 @@ class _RegisterPageState extends State { child: Column( crossAxisAlignment: CrossAxisAlignment.stretch, children: [ - Image.asset( - Assets.bebrasPandaiText, - height: 40, + Row( + children: [ + GestureDetector( + onTap: () { + Navigator.pop(context); + }, + child: Container( + child: Icon( + Icons.arrow_back + ), + ), + ), + Flexible( + child: GestureDetector( + onTap: () async { + await context.push( + Uri( + path: '/register', + queryParameters: { + 'isUpdateProfile': 'true', + }, + ).toString(), + ); + }, + child: Container( + child: Center( + child: const Text( + 'Edit Profil', + textAlign: TextAlign.start, + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + color: Colors.black, + ) + ), + ), + ), + ), + ) + ], ), const SizedBox( - height: 40, + height: 10, ), - Container( - padding: const EdgeInsets.all(8), - child: Text( - 'Data Diri', - style: FontTheme.blackSubtitleBold(), - ), + Column( + children: [ + CircleAvatar( + maxRadius: 50, + backgroundColor: Colors.grey.shade200, + backgroundImage: const AssetImage( + 'assets/images/beaver.png', + ), + ), + ] ), const SizedBox( - height: 8, + height: 10, + ), + Text( + 'Email', + style: TextStyle( + fontWeight: FontWeight.bold, + fontSize: 12, + ), ), - CustomTextField( + CustomTextFieldV2( 'Email', (value) { BlocProvider.of(context).add( @@ -103,7 +151,14 @@ class _RegisterPageState extends State { }, state.email.value, ), - CustomTextField( + Text( + 'Nama', + style: TextStyle( + fontWeight: FontWeight.bold, + fontSize: 10, + ), + ), + CustomTextFieldV2( 'Nama', (value) { BlocProvider.of(context) @@ -114,24 +169,56 @@ class _RegisterPageState extends State { }, state.name.value, ), - // CustomDatePicker( - // 'Tanggal Lahir', + // Text( + // 'Tempat Lahir', + // style: TextStyle( + // fontWeight: FontWeight.bold, + // fontSize: 12, + // ), + // ), + // CustomTextFieldV2( + // 'Tempat Lahir', // (value) { - // BlocProvider.of(context).add( - // BirthDateEvent( - // birthDate: BlocFormItem( - // value: value, - // ), - // ), - // ); + // BlocProvider.of(context) + // .add(NameEvent(name: BlocFormItem(value: value))); // }, // (val) { - // return state.birthDate.error; + // return state.name.error; // }, - // state.birthDate.value, + // state.name.value, // ), - CustomTextField( - 'Sekolah', + Text( + 'Date', + style: TextStyle( + fontWeight: FontWeight.bold, + fontSize: 12, + ), + ), + CustomDatePickerV2( + 'Date', + (value) { + BlocProvider.of(context).add( + BirthDateEvent( + birthDate: BlocFormItem( + value: value, + ), + ), + ); + }, + (val) { + return state.birthDate.error; + }, + state.birthDate.value, + ), + Text( + 'Asal Sekolah', + style: TextStyle( + fontWeight: FontWeight.bold, + fontSize: 12, + ), + ), + CustomTextFieldV2( + 'Asal Sekolah', (value) { BlocProvider.of(context).add( SchoolEvent( @@ -146,8 +233,16 @@ class _RegisterPageState extends State { }, state.school.value, ), - ProvinceDropdown( + Text( 'Provinsi', + style: TextStyle( + fontWeight: FontWeight.bold, + fontSize: 12, + ) + ), + const SizedBox(height: 3), + ProvinceDropdownV2( + // 'Provinsi', (value) { BlocProvider.of(context).add( ProvinceEvent( @@ -164,25 +259,32 @@ class _RegisterPageState extends State { ? state.province.value : 'Provinsi', ), - // BiroBebrasDropdown( - // 'Bebras Biro', - // (value) { - // BlocProvider.of(context).add( - // BebrasBiroEvent( - // bebrasBiro: BlocFormItem( - // value: value, - // ), - // ), - // ); - // }, - // (val) { - // return state.bebrasBiro.error; - // }, - // state.bebrasBiro.value.isNotEmpty - // ? state.bebrasBiro.value - // : 'Bebras Biro', - // ), - const SizedBox(height: 20), + Text( + 'Biro Bebras', + style: TextStyle( + fontWeight: FontWeight.bold, + fontSize: 12, + ), + ), + BiroBebrasDropdownV2( + 'Bebras Biro', + (value) { + BlocProvider.of(context).add( + BebrasBiroEvent( + bebrasBiro: BlocFormItem( + value: value, + ), + ), + ); + }, + (val) { + return state.bebrasBiro.error; + }, + state.bebrasBiro.value.isNotEmpty + ? state.bebrasBiro.value + : 'Bebras Biro', + ), + const SizedBox(height: 5), BlocConsumer( bloc: _userRegisterBloc, listener: (context, state) { @@ -210,10 +312,10 @@ class _RegisterPageState extends State { return ElevatedButton( style: ElevatedButton.styleFrom( fixedSize: Size(size.width, 45), - backgroundColor: Colors.black, + backgroundColor: Colors.lightBlue, foregroundColor: Colors.white, shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(10), + borderRadius: BorderRadius.circular(5), ), ), onPressed: () { @@ -229,7 +331,7 @@ class _RegisterPageState extends State { }, child: Text( widget.isUpdateProfile == 'true' - ? 'Perbarui' + ? 'Simpan' : 'Daftar', style: const TextStyle(fontWeight: FontWeight.w600), diff --git a/app/lib/features/authentication/register/presentation/pages/v2/widgets/biro_bebras_dropdownV2.dart b/app/lib/features/authentication/register/presentation/pages/v2/widgets/biro_bebras_dropdownV2.dart index 2e3ceb91..a17383c8 100644 --- a/app/lib/features/authentication/register/presentation/pages/v2/widgets/biro_bebras_dropdownV2.dart +++ b/app/lib/features/authentication/register/presentation/pages/v2/widgets/biro_bebras_dropdownV2.dart @@ -30,7 +30,7 @@ class BiroBebrasDropdownV2 extends StatelessWidget { items: bebrasBiroList, dropdownDecoratorProps: DropDownDecoratorProps( textAlignVertical: TextAlignVertical.center, - baseStyle: const TextStyle(fontSize: 12), + baseStyle: const TextStyle(fontSize: 15), dropdownSearchDecoration: InputDecoration( helperText: '', helperStyle: const TextStyle( diff --git a/app/lib/features/authentication/register/presentation/pages/v2/widgets/custom_date_pickerV2.dart b/app/lib/features/authentication/register/presentation/pages/v2/widgets/custom_date_pickerV2.dart index 946ea198..e9a32b3d 100644 --- a/app/lib/features/authentication/register/presentation/pages/v2/widgets/custom_date_pickerV2.dart +++ b/app/lib/features/authentication/register/presentation/pages/v2/widgets/custom_date_pickerV2.dart @@ -40,11 +40,11 @@ class _CustomDatePickerState extends State { child: TextFormField( controller: dateinput, validator: widget.validator, - style: const TextStyle(fontSize: 12, color: Colors.black), + style: const TextStyle(fontSize: 15, color: Colors.black), decoration: InputDecoration( helperText: '', helperStyle: const TextStyle(fontSize: 10), - labelText: widget.labelText, + // labelText: widget.labelText, filled: true, fillColor: Colors.grey.shade200, border: OutlineInputBorder( diff --git a/app/lib/features/authentication/register/presentation/pages/v2/widgets/custom_text_fieldV2.dart b/app/lib/features/authentication/register/presentation/pages/v2/widgets/custom_text_fieldV2.dart index 9edecb8e..cd4457ea 100644 --- a/app/lib/features/authentication/register/presentation/pages/v2/widgets/custom_text_fieldV2.dart +++ b/app/lib/features/authentication/register/presentation/pages/v2/widgets/custom_text_fieldV2.dart @@ -22,11 +22,11 @@ class CustomTextFieldV2 extends StatelessWidget { onChanged: (value) => handleTextInput!(value), validator: validator, initialValue: initValue, - style: const TextStyle(fontSize: 12), + style: const TextStyle(fontSize: 15), decoration: InputDecoration( helperText: '', helperStyle: const TextStyle(fontSize: 10), - labelText: labelText, + // labelText: labelText, filled: true, fillColor: Colors.grey.shade200, border: OutlineInputBorder( diff --git a/app/lib/features/authentication/register/presentation/pages/v2/widgets/province_dropdownV2.dart b/app/lib/features/authentication/register/presentation/pages/v2/widgets/province_dropdownV2.dart index ff519caa..5c178202 100644 --- a/app/lib/features/authentication/register/presentation/pages/v2/widgets/province_dropdownV2.dart +++ b/app/lib/features/authentication/register/presentation/pages/v2/widgets/province_dropdownV2.dart @@ -5,14 +5,14 @@ import '../../../../../../../core/constants/indonesia_province.dart'; class ProvinceDropdownV2 extends StatelessWidget { const ProvinceDropdownV2( - this.labelText, + // this.labelText, this.handleTextInput, this.validator, this.initValue, { super.key, }); - final String labelText; + // final String labelText; final void Function(String value)? handleTextInput; final String? Function(String?)? validator; final String? initValue; @@ -30,11 +30,11 @@ class ProvinceDropdownV2 extends StatelessWidget { items: provinceList, dropdownDecoratorProps: DropDownDecoratorProps( textAlignVertical: TextAlignVertical.center, - baseStyle: const TextStyle(fontSize: 12), + baseStyle: const TextStyle(fontSize: 15), dropdownSearchDecoration: InputDecoration( helperText: '', helperStyle: const TextStyle(fontSize: 10), - hintText: labelText, + // labelText: labelText, filled: true, fillColor: Colors.grey.shade200, border: UnderlineInputBorder( diff --git a/app/lib/features/authentication/register/repositories/register_user_repo.dart b/app/lib/features/authentication/register/repositories/register_user_repo.dart index 561ea750..73141492 100644 --- a/app/lib/features/authentication/register/repositories/register_user_repo.dart +++ b/app/lib/features/authentication/register/repositories/register_user_repo.dart @@ -13,10 +13,10 @@ class RegisterUserRepository { required String userId, required dynamic email, required String name, - // required String birthDate, + required String birthDate, required String school, required String province, - // required String bebrasBiro, + required String bebrasBiro, }) async { try { final now = DateTime.now(); @@ -46,20 +46,20 @@ class RegisterUserRepository { required String userId, required dynamic email, required String name, - // required String birthDate, + required String birthDate, required String school, required String province, - // required String bebrasBiro, + required String bebrasBiro, String? updatedAt, }) async { try { await _firecloud.doc(userId).update({ 'name': name, 'email': email, - // 'birth_date': birthDate, + 'birth_date': birthDate, 'school': school, 'province': province, - // 'bebras_biro': bebrasBiro, + 'bebras_biro': bebrasBiro, 'updated_at': DateTime.now(), }); } on FirebaseException catch (e) { From af7df2511643b1ae33624b2f4bdd2689c6ebdba7 Mon Sep 17 00:00:00 2001 From: novaari2 Date: Fri, 19 Apr 2024 15:47:43 +0700 Subject: [PATCH 2/2] update fixing edit profile --- .../register/presentation/pages/_pages.dart | 1 - .../presentation/pages/register_page.dart | 56 +- .../presentation/pages/v2/_pages.dart | 2 +- .../presentation/pages/v2/register_page.dart | 704 +++++++++--------- .../repositories/register_user_repo.dart | 4 +- 5 files changed, 373 insertions(+), 394 deletions(-) diff --git a/app/lib/features/authentication/register/presentation/pages/_pages.dart b/app/lib/features/authentication/register/presentation/pages/_pages.dart index ba31ac10..b9e860dd 100644 --- a/app/lib/features/authentication/register/presentation/pages/_pages.dart +++ b/app/lib/features/authentication/register/presentation/pages/_pages.dart @@ -9,7 +9,6 @@ import '../../../../../core/constants/assets.dart'; import '../../../../../core/theme/font_theme.dart'; import '../../../../../services/di.dart'; import '../../../../main/presentation/bloc/home_cubit.dart'; -import '../../../../onboarding/presentation/pages/v2/widgets/custom_text_field.dart'; import '../../bloc/user_register_bloc.dart'; import '../../model/form_item.dart'; import '../widgets/biro_bebras_dropdown.dart'; diff --git a/app/lib/features/authentication/register/presentation/pages/register_page.dart b/app/lib/features/authentication/register/presentation/pages/register_page.dart index 3a117c5b..7d062d5c 100644 --- a/app/lib/features/authentication/register/presentation/pages/register_page.dart +++ b/app/lib/features/authentication/register/presentation/pages/register_page.dart @@ -81,35 +81,19 @@ class _RegisterPageState extends State { Navigator.pop(context); }, child: Container( - child: Icon( - Icons.arrow_back - ), + child: Icon(Icons.arrow_back), ), ), Flexible( - child: GestureDetector( - onTap: () async { - await context.push( - Uri( - path: '/register', - queryParameters: { - 'isUpdateProfile': 'true', - }, - ).toString(), - ); - }, - child: Container( - child: Center( - child: const Text( - 'Edit Profil', + child: Container( + child: Center( + child: const Text('Edit Profil', textAlign: TextAlign.start, style: TextStyle( fontSize: 16, fontWeight: FontWeight.bold, color: Colors.black, - ) - ), - ), + )), ), ), ) @@ -118,17 +102,15 @@ class _RegisterPageState extends State { const SizedBox( height: 10, ), - Column( - children: [ - CircleAvatar( - maxRadius: 50, - backgroundColor: Colors.grey.shade200, - backgroundImage: const AssetImage( - 'assets/images/beaver.png', - ), + Column(children: [ + CircleAvatar( + maxRadius: 50, + backgroundColor: Colors.grey.shade200, + backgroundImage: const AssetImage( + 'assets/images/beaver.png', ), - ] - ), + ), + ]), const SizedBox( height: 10, ), @@ -233,13 +215,11 @@ class _RegisterPageState extends State { }, state.school.value, ), - Text( - 'Provinsi', - style: TextStyle( - fontWeight: FontWeight.bold, - fontSize: 12, - ) - ), + Text('Provinsi', + style: TextStyle( + fontWeight: FontWeight.bold, + fontSize: 12, + )), const SizedBox(height: 3), ProvinceDropdownV2( // 'Provinsi', diff --git a/app/lib/features/authentication/register/presentation/pages/v2/_pages.dart b/app/lib/features/authentication/register/presentation/pages/v2/_pages.dart index c3c60e1d..bbc09d5e 100644 --- a/app/lib/features/authentication/register/presentation/pages/v2/_pages.dart +++ b/app/lib/features/authentication/register/presentation/pages/v2/_pages.dart @@ -16,4 +16,4 @@ import 'widgets/custom_date_pickerV2.dart'; import 'widgets/custom_text_fieldV2.dart'; import 'widgets/province_dropdownV2.dart'; -part 'register_page.dart'; +// part 'register_page.dart'; diff --git a/app/lib/features/authentication/register/presentation/pages/v2/register_page.dart b/app/lib/features/authentication/register/presentation/pages/v2/register_page.dart index 508461ae..59e129c5 100644 --- a/app/lib/features/authentication/register/presentation/pages/v2/register_page.dart +++ b/app/lib/features/authentication/register/presentation/pages/v2/register_page.dart @@ -1,363 +1,363 @@ -// ignore_for_file: lines_longer_than_80_chars +// // ignore_for_file: lines_longer_than_80_chars -part of '_pages.dart'; +// part of '_pages.dart'; -class RegisterPageV2 extends StatefulWidget { - const RegisterPageV2({super.key, this.isUpdateProfile}); +// class RegisterPageV2 extends StatefulWidget { +// const RegisterPageV2({super.key, this.isUpdateProfile}); - final String? isUpdateProfile; +// final String? isUpdateProfile; - @override - State createState() => _RegisterPageStateV2(); -} +// @override +// State createState() => _RegisterPageStateV2(); +// } -class _RegisterPageStateV2 extends State { - Future showModal() { - return showModalBottomSheet( - context: context, - builder: (BuildContext context) { - return StatefulBuilder( - builder: (BuildContext context, StateSetter setState) { - return Container( - height: 206, - width: double.infinity, - color: Colors.white, - child: Column( - crossAxisAlignment: CrossAxisAlignment.center, - mainAxisSize: MainAxisSize.min, - children: [ - const SizedBox( - height: 30, - ), - Container( - margin: const EdgeInsets.only(left: 20), - child: const Text( - 'Anda akan meninggalkan halaman ini. Data formulir tidak akan disimpan. Lanjutkan?', - textAlign: TextAlign.left, - style: - TextStyle(fontSize: 12, fontWeight: FontWeight.bold), - ), - ), - const SizedBox( - height: 15, - ), - Container( - padding: const EdgeInsets.symmetric(horizontal: 40), - width: double.infinity, - child: Button( - customButtonColor: Color.fromARGB(255, 243, 238, 238), - customTextColor: Colors.blue, - text: 'Ya'), - ), - const SizedBox( - height: 5, - ), - Container( - padding: const EdgeInsets.symmetric(horizontal: 40), - width: double.infinity, - child: Button( - customButtonColor: Color(0xFF1BB8E1), - customTextColor: Colors.white, - text: 'Tidak'), - ), - ], - ), - ); - }); - }); - } +// class _RegisterPageStateV2 extends State { +// Future showModal() { +// return showModalBottomSheet( +// context: context, +// builder: (BuildContext context) { +// return StatefulBuilder( +// builder: (BuildContext context, StateSetter setState) { +// return Container( +// height: 206, +// width: double.infinity, +// color: Colors.white, +// child: Column( +// crossAxisAlignment: CrossAxisAlignment.center, +// mainAxisSize: MainAxisSize.min, +// children: [ +// const SizedBox( +// height: 30, +// ), +// Container( +// margin: const EdgeInsets.only(left: 20), +// child: const Text( +// 'Anda akan meninggalkan halaman ini. Data formulir tidak akan disimpan. Lanjutkan?', +// textAlign: TextAlign.left, +// style: +// TextStyle(fontSize: 12, fontWeight: FontWeight.bold), +// ), +// ), +// const SizedBox( +// height: 15, +// ), +// Container( +// padding: const EdgeInsets.symmetric(horizontal: 40), +// width: double.infinity, +// child: Button( +// customButtonColor: Color.fromARGB(255, 243, 238, 238), +// customTextColor: Colors.blue, +// text: 'Ya'), +// ), +// const SizedBox( +// height: 5, +// ), +// Container( +// padding: const EdgeInsets.symmetric(horizontal: 40), +// width: double.infinity, +// child: Button( +// customButtonColor: Color(0xFF1BB8E1), +// customTextColor: Colors.white, +// text: 'Tidak'), +// ), +// ], +// ), +// ); +// }); +// }); +// } - late final UserRegisterBloc _userRegisterBloc; - String? selectedValue; +// late final UserRegisterBloc _userRegisterBloc; +// String? selectedValue; - @override - void initState() { - _userRegisterBloc = get(); +// @override +// void initState() { +// _userRegisterBloc = get(); - super.initState(); - } +// super.initState(); +// } - @override - Widget build(BuildContext context) { - final size = MediaQuery.of(context).size; - return BlocProvider( - create: (_) => get() - ..add( - const InitialValueEvent(), - ), - child: BlocListener( - listener: (context, state) { - if (state is UserRegisterSuccessState) { - if (widget.isUpdateProfile == 'true') { - // refresh page - Navigator.pop(context); - Navigator.push( - context, - // ignore: inference_failure_on_instance_creation - MaterialPageRoute( - builder: (context) => - const RegisterPageV2(isUpdateProfile: 'true'), - ), - ); +// @override +// Widget build(BuildContext context) { +// final size = MediaQuery.of(context).size; +// return BlocProvider( +// create: (_) => get() +// ..add( +// const InitialValueEvent(), +// ), +// child: BlocListener( +// listener: (context, state) { +// if (state is UserRegisterSuccessState) { +// if (widget.isUpdateProfile == 'true') { +// // refresh page +// Navigator.pop(context); +// Navigator.push( +// context, +// // ignore: inference_failure_on_instance_creation +// MaterialPageRoute( +// builder: (context) => +// const RegisterPageV2(isUpdateProfile: 'true'), +// ), +// ); - context.read().fetchUser(); +// context.read().fetchUser(); - // add notification - ScaffoldMessenger.of(context).showSnackBar( - const SnackBar( - content: Text('Pembaruan data profil berhasil'), - behavior: SnackBarBehavior.floating, - ), - ); - } else { - context.go('/main'); - } - } - }, - child: BlocBuilder( - builder: (context, state) { - return BebrasScaffold( - avoidBottomInset: false, - body: Padding( - padding: const EdgeInsets.only( - left: 16, - top: 20, - right: 16, - ), - child: Form( - key: state.formKey, - child: Column( - crossAxisAlignment: CrossAxisAlignment.stretch, - children: [ - Row( - children: [ - GestureDetector( - onTap: () { - showModal(); - }, - child: Container( - child: Icon( - Icons.arrow_back, - // color: Colors.blue, - ), - ), - ), - Flexible( - child: GestureDetector( - onTap: () async { - await context.push( - Uri( - path: '/register', - queryParameters: { - 'isUpdateProfile': 'true', - }, - ).toString(), - ); - }, - child: Container( - // width: double.infinity, - child: Center( - child: const Text( - 'Edit Profile', - textAlign: TextAlign.start, - style: TextStyle( - fontSize: 16, - fontWeight: FontWeight.bold, - color: Colors.black, - ), - ), - ), - ), - ), - ), - ], - ), - const SizedBox( - height: 10, - ), - Column(children: [ - CircleAvatar( - maxRadius: 50, - backgroundImage: NetworkImage( - Assets.bLogo, - ), - ), - const SizedBox( - height: 15, - ), - Text('Putri Nabila', - textAlign: TextAlign.center, - style: TextStyle(fontWeight: FontWeight.w600)), - ]), - const SizedBox( - height: 10, - ), - CustomTextFieldV2( - 'Email', - (value) { - BlocProvider.of(context).add( - EmailEvent(email: BlocFormItem(value: value)), - ); - }, - (val) { - return state.email.error; - }, - state.email.value, - ), - CustomTextFieldV2( - 'Nama', - (value) { - BlocProvider.of(context) - .add(NameEvent(name: BlocFormItem(value: value))); - }, - (val) { - return state.name.error; - }, - state.name.value, - ), - CustomTextFieldV2( - 'Tempat Lahir', - (value) { - // BlocProvider.of(context).add( - // NameEvent(name: BlocFormItem(value: value)), - // ); - }, - (val) { - // return state.name.error; - null; - }, - null, - ), - CustomDatePickerV2( - 'Date', - (value) { - BlocProvider.of(context).add( - BirthDateEvent( - birthDate: BlocFormItem( - value: value, - ), - ), - ); - }, - (val) { - return state.birthDate.error; - }, - state.birthDate.value, - ), - CustomTextFieldV2( - 'Asal Sekolah', - (value) { - BlocProvider.of(context).add( - SchoolEvent( - school: BlocFormItem( - value: value, - ), - ), - ); - }, - (val) { - return state.school.error; - }, - state.school.value, - ), - ProvinceDropdownV2( - 'Provinsi', - (value) { - BlocProvider.of(context).add( - ProvinceEvent( - province: BlocFormItem( - value: value, - ), - ), - ); - }, - (val) { - return state.province.error; - }, - state.province.value.isNotEmpty - ? state.province.value - : 'Provinsi', - ), - BiroBebrasDropdownV2( - 'Bebras Biro', - (value) { - BlocProvider.of(context).add( - BebrasBiroEvent( - bebrasBiro: BlocFormItem( - value: value, - ), - ), - ); - }, - (val) { - return state.bebrasBiro.error; - }, - state.bebrasBiro.value.isNotEmpty - ? state.bebrasBiro.value - : 'Bebras Biro', - ), - BlocConsumer( - bloc: _userRegisterBloc, - listener: (context, state) { - if (state is UserRegisterSuccessState) { - if (widget.isUpdateProfile == 'true') { - ScaffoldMessenger.of(context).showSnackBar( - SnackBar( - content: const Text( - 'Profile data successfully updated', - ), - action: SnackBarAction( - label: 'OK', - onPressed: () { - // Some code to undo the change. - }, - ), - ), - ); - } else { - context.go('/main'); - } - } - }, - builder: (context, state) { - return ElevatedButton( - style: ElevatedButton.styleFrom( - fixedSize: Size(size.width, 45), - backgroundColor: Colors.lightBlue, - foregroundColor: Colors.white, - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(10), - ), - ), - onPressed: () { - if (state is! UserRegisterLoadingState) { - if (widget.isUpdateProfile == 'true') { - BlocProvider.of(context) - .add(const FormSubmitUpdateEvent()); - } else { - BlocProvider.of(context) - .add(const FormSubmitEvent()); - } - } - }, - child: Text( - widget.isUpdateProfile == 'true' - ? 'Perbarui' - : 'Daftar', - style: - const TextStyle(fontWeight: FontWeight.w600), - ), - ); - }, - ), - ], - ), - ), - ), - ); - }, - ), - ), - ); - } -} +// // add notification +// ScaffoldMessenger.of(context).showSnackBar( +// const SnackBar( +// content: Text('Pembaruan data profil berhasil'), +// behavior: SnackBarBehavior.floating, +// ), +// ); +// } else { +// context.go('/main'); +// } +// } +// }, +// child: BlocBuilder( +// builder: (context, state) { +// return BebrasScaffold( +// avoidBottomInset: false, +// body: Padding( +// padding: const EdgeInsets.only( +// left: 16, +// top: 20, +// right: 16, +// ), +// child: Form( +// key: state.formKey, +// child: Column( +// crossAxisAlignment: CrossAxisAlignment.stretch, +// children: [ +// Row( +// children: [ +// GestureDetector( +// onTap: () { +// showModal(); +// }, +// child: Container( +// child: Icon( +// Icons.arrow_back, +// // color: Colors.blue, +// ), +// ), +// ), +// Flexible( +// child: GestureDetector( +// onTap: () async { +// await context.push( +// Uri( +// path: '/register', +// queryParameters: { +// 'isUpdateProfile': 'true', +// }, +// ).toString(), +// ); +// }, +// child: Container( +// // width: double.infinity, +// child: Center( +// child: const Text( +// 'Edit Profile', +// textAlign: TextAlign.start, +// style: TextStyle( +// fontSize: 16, +// fontWeight: FontWeight.bold, +// color: Colors.black, +// ), +// ), +// ), +// ), +// ), +// ), +// ], +// ), +// const SizedBox( +// height: 10, +// ), +// Column(children: [ +// CircleAvatar( +// maxRadius: 50, +// backgroundImage: NetworkImage( +// Assets.bLogo, +// ), +// ), +// const SizedBox( +// height: 15, +// ), +// Text('Putri Nabila', +// textAlign: TextAlign.center, +// style: TextStyle(fontWeight: FontWeight.w600)), +// ]), +// const SizedBox( +// height: 10, +// ), +// CustomTextFieldV2( +// 'Email', +// (value) { +// BlocProvider.of(context).add( +// EmailEvent(email: BlocFormItem(value: value)), +// ); +// }, +// (val) { +// return state.email.error; +// }, +// state.email.value, +// ), +// CustomTextFieldV2( +// 'Nama', +// (value) { +// BlocProvider.of(context) +// .add(NameEvent(name: BlocFormItem(value: value))); +// }, +// (val) { +// return state.name.error; +// }, +// state.name.value, +// ), +// CustomTextFieldV2( +// 'Tempat Lahir', +// (value) { +// // BlocProvider.of(context).add( +// // NameEvent(name: BlocFormItem(value: value)), +// // ); +// }, +// (val) { +// // return state.name.error; +// null; +// }, +// null, +// ), +// CustomDatePickerV2( +// 'Date', +// (value) { +// BlocProvider.of(context).add( +// BirthDateEvent( +// birthDate: BlocFormItem( +// value: value, +// ), +// ), +// ); +// }, +// (val) { +// return state.birthDate.error; +// }, +// state.birthDate.value, +// ), +// CustomTextFieldV2( +// 'Asal Sekolah', +// (value) { +// BlocProvider.of(context).add( +// SchoolEvent( +// school: BlocFormItem( +// value: value, +// ), +// ), +// ); +// }, +// (val) { +// return state.school.error; +// }, +// state.school.value, +// ), +// ProvinceDropdownV2( +// 'Provinsi', +// (value) { +// BlocProvider.of(context).add( +// ProvinceEvent( +// province: BlocFormItem( +// value: value, +// ), +// ), +// ); +// }, +// (val) { +// return state.province.error; +// }, +// state.province.value.isNotEmpty +// ? state.province.value +// : 'Provinsi', +// ), +// BiroBebrasDropdownV2( +// 'Bebras Biro', +// (value) { +// BlocProvider.of(context).add( +// BebrasBiroEvent( +// bebrasBiro: BlocFormItem( +// value: value, +// ), +// ), +// ); +// }, +// (val) { +// return state.bebrasBiro.error; +// }, +// state.bebrasBiro.value.isNotEmpty +// ? state.bebrasBiro.value +// : 'Bebras Biro', +// ), +// BlocConsumer( +// bloc: _userRegisterBloc, +// listener: (context, state) { +// if (state is UserRegisterSuccessState) { +// if (widget.isUpdateProfile == 'true') { +// ScaffoldMessenger.of(context).showSnackBar( +// SnackBar( +// content: const Text( +// 'Profile data successfully updated', +// ), +// action: SnackBarAction( +// label: 'OK', +// onPressed: () { +// // Some code to undo the change. +// }, +// ), +// ), +// ); +// } else { +// context.go('/main'); +// } +// } +// }, +// builder: (context, state) { +// return ElevatedButton( +// style: ElevatedButton.styleFrom( +// fixedSize: Size(size.width, 45), +// backgroundColor: Colors.lightBlue, +// foregroundColor: Colors.white, +// shape: RoundedRectangleBorder( +// borderRadius: BorderRadius.circular(10), +// ), +// ), +// onPressed: () { +// if (state is! UserRegisterLoadingState) { +// if (widget.isUpdateProfile == 'true') { +// BlocProvider.of(context) +// .add(const FormSubmitUpdateEvent()); +// } else { +// BlocProvider.of(context) +// .add(const FormSubmitEvent()); +// } +// } +// }, +// child: Text( +// widget.isUpdateProfile == 'true' +// ? 'Perbarui' +// : 'Daftar', +// style: +// const TextStyle(fontWeight: FontWeight.w600), +// ), +// ); +// }, +// ), +// ], +// ), +// ), +// ), +// ); +// }, +// ), +// ), +// ); +// } +// } diff --git a/app/lib/features/authentication/register/repositories/register_user_repo.dart b/app/lib/features/authentication/register/repositories/register_user_repo.dart index 73141492..f2a951ef 100644 --- a/app/lib/features/authentication/register/repositories/register_user_repo.dart +++ b/app/lib/features/authentication/register/repositories/register_user_repo.dart @@ -24,10 +24,10 @@ class RegisterUserRepository { { 'name': name, 'email': email, - // 'birth_date': birthDate, + 'birth_date': birthDate, 'school': school, 'province': province, - // 'bebras_biro': bebrasBiro, + 'bebras_biro': bebrasBiro, 'created_at': now, 'updated_at': now, },