Skip to content

Commit

Permalink
Feat: 비밀전호 변경 시퀀스 레이아웃 오나료
Browse files Browse the repository at this point in the history
  • Loading branch information
sujinyang00 committed Nov 6, 2023
1 parent 8e4a626 commit d4ba437
Show file tree
Hide file tree
Showing 6 changed files with 249 additions and 7 deletions.
10 changes: 9 additions & 1 deletion lib/modules/signIn/controller/login_controller.dart
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,15 @@ class LoginController extends GetxController {
RxString userPw = ''.obs;

//비밀번호 찾을 때 입력하는 이메일
Rx<TextEditingController> findPwTextController = TextEditingController().obs;
Rx<TextEditingController> findPwEmailTextController = TextEditingController().obs;
//비밀번호 찾을 때 입력하는 인증번호
Rx<TextEditingController> findPwAuthNumTextController = TextEditingController().obs;

//새로운 비밀번호 & 비밀번호 확인
Rx<TextEditingController> newPw = TextEditingController().obs;
Rx<TextEditingController> newPwConfirm = TextEditingController().obs;



@override
void onInit() {
Expand Down
82 changes: 82 additions & 0 deletions lib/modules/signIn/view/find_pw_auth_view.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_svg/svg.dart';
import 'package:get/get.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:match/model/enum/search_status.dart';
import 'package:match/modules/signIn/view/new_pw_view.dart';
import 'package:match/modules/signUp/view/signup_user_mail_view.dart';
import 'package:match/modules/signIn/widget/login_widget.dart';
import 'package:match/util/components/gloabl_text_field.dart';
import 'package:match/util/components/global_button.dart';
import 'package:match/util/const/global_variable.dart';
import 'package:match/util/const/style/global_text_styles.dart';
import '../../../util/components/global_app_bar.dart';
import '../../../util/const/style/global_color.dart';

import 'package:kakao_flutter_sdk/kakao_flutter_sdk.dart'; //카카오 로그인
import 'package:http/http.dart' as http;
import 'dart:convert';
import 'dart:io';


import '../../../provider/routes/routes.dart';
import '../controller/login_controller.dart';

class FindPwAuthScreen extends GetView<LoginController> {
const FindPwAuthScreen({super.key});

@override
Widget build(BuildContext context){
return Scaffold(
appBar: CommonAppBar.basic("비밀번호 찾기"),
body: Column(
children: <Widget>[
Expanded(
child: Column(
children: [
SizedBox(height: 35.h),
Padding(
padding: EdgeInsets.symmetric(horizontal: 20.w),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
'이메일에 전송된\n인증번호를 입력해주세요.',
style: AppTextStyles.T1Bold18,
),
SizedBox(height: 30.h),
Text(
'인증번호 입력',
style: AppTextStyles.T1Bold14,
),
SizedBox(height: 10.h),
//TODO) 01-10 api 연결 & 입력 float 메시지
CommonInputField.findPwAuthNum(
textController : controller.findPwAuthNumTextController.value,
onChange: (value) async {
print(">>> 입력한 인증번호: $value");
}),
],
),
)
],
),
),
SizedBox(height: 8.h),
Padding(
padding: EdgeInsets.symmetric(horizontal: 20.w),
child: CommonButton.login(
text: "확인",
onTap: () async {
Get.to(NewPwScreen());
},
),
),
SizedBox(height: 24.h),
],
),
);
}

}
11 changes: 6 additions & 5 deletions lib/modules/signIn/view/find_pw_view.dart
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import 'package:flutter_svg/svg.dart';
import 'package:get/get.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:match/model/enum/search_status.dart';
import 'package:match/modules/signIn/view/find_pw_auth_view.dart';
import 'package:match/modules/signUp/view/signup_user_mail_view.dart';
import 'package:match/modules/signIn/widget/login_widget.dart';
import 'package:match/util/components/gloabl_text_field.dart';
Expand All @@ -22,8 +23,8 @@ import 'dart:io';
import '../../../provider/routes/routes.dart';
import '../controller/login_controller.dart';

class FindPWScreen extends GetView<LoginController> {
const FindPWScreen({super.key});
class FindPwScreen extends GetView<LoginController> {
const FindPwScreen({super.key});

@override
Widget build(BuildContext context){
Expand Down Expand Up @@ -51,8 +52,8 @@ class FindPWScreen extends GetView<LoginController> {
),
SizedBox(height: 10.h),
//TODO) 01-08 api 연결 & 입력 float 메시지
CommonInputField.signInID(
textController : controller.findPwTextController.value,
CommonInputField.findPwAuthEmail(
textController : controller.findPwEmailTextController.value,
onChange: (value) async {
print(">>> 입력한 이메일: $value");
}),
Expand All @@ -68,7 +69,7 @@ class FindPWScreen extends GetView<LoginController> {
child: CommonButton.login(
text: "확인",
onTap: () async {
Get.back();
Get.to(FindPwAuthScreen());
},
),
),
Expand Down
2 changes: 1 addition & 1 deletion lib/modules/signIn/view/mail_login_view.dart
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ class EmailLoginScreen extends GetView<LoginController> {
SizedBox(width: 10.w),
GestureDetector(
onTap: () {
Get.to(FindPWScreen());
Get.to(FindPwScreen());
},
child: Text(
"비밀번호 찾기",
Expand Down
94 changes: 94 additions & 0 deletions lib/modules/signIn/view/new_pw_view.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_svg/svg.dart';
import 'package:get/get.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:match/model/enum/search_status.dart';
import 'package:match/modules/signUp/view/signup_user_mail_view.dart';
import 'package:match/modules/signIn/widget/login_widget.dart';
import 'package:match/util/components/gloabl_text_field.dart';
import 'package:match/util/components/global_button.dart';
import 'package:match/util/const/global_variable.dart';
import 'package:match/util/const/style/global_text_styles.dart';
import '../../../util/components/global_app_bar.dart';
import '../../../util/const/style/global_color.dart';

import 'package:kakao_flutter_sdk/kakao_flutter_sdk.dart'; //카카오 로그인
import 'package:http/http.dart' as http;
import 'dart:convert';
import 'dart:io';


import '../../../provider/routes/routes.dart';
import '../controller/login_controller.dart';

class NewPwScreen extends GetView<LoginController> {
const NewPwScreen({super.key});

@override
Widget build(BuildContext context){
return Scaffold(
appBar: CommonAppBar.basic("비밀번호 찾기"),
body: Column(
children: <Widget>[
Expanded(
child: Column(
children: [
SizedBox(height: 35.h),
Padding(
padding: EdgeInsets.symmetric(horizontal: 20.w),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
'새로운 비밀번호를\n입력해주세요.',
style: AppTextStyles.T1Bold18,
),
SizedBox(height: 30.h),
Text(
'새 비밀번호',
style: AppTextStyles.T1Bold14,
),
SizedBox(height: 10.h),
//TODO) 01-08 api 연결 & 입력 float 메시지
CommonInputField.newPw(
textController : controller.newPw.value,
onChange: (value) async {
print(">>> 입력한 새로운 비밀번호: $value");
}),
SizedBox(height: 30.h),
Text(
'새 비밀번호 확인',
style: AppTextStyles.T1Bold14,
),
SizedBox(height: 10.h),
//TODO) 01-08 api 연결 & 입력 float 메시지
CommonInputField.newPwConfirm(
textController : controller.newPwConfirm.value,
onChange: (value) async {
print(">>> 입력한 새로운 비밀번호: $value");
}),
],
),
)
],
),
),
SizedBox(height: 8.h),
Padding(
padding: EdgeInsets.symmetric(horizontal: 20.w),
child: CommonButton.login(
text: "확인",
onTap: () async {
//TODO) 비밀번호 변경 api
Get.back();
},
),
),
SizedBox(height: 24.h),
],
),
);
}

}
57 changes: 57 additions & 0 deletions lib/util/components/gloabl_text_field.dart
Original file line number Diff line number Diff line change
Expand Up @@ -198,6 +198,7 @@ class CommonInputField extends StatelessWidget {
alwaysSuffix: false,
onSubmitted: (value) async {},
onChanged: onChange,
inputType: TextInputType.emailAddress,
autoFocus: false);
}
/// pw 입력
Expand All @@ -210,6 +211,7 @@ class CommonInputField extends StatelessWidget {
alwaysSuffix: false,
onSubmitted: (value) async {},
onChanged: onChange,
inputType: TextInputType.visiblePassword,
autoFocus: false);
}
/// 비밀번호 찾기
Expand Down Expand Up @@ -265,6 +267,61 @@ class CommonInputField extends StatelessWidget {
inputType: TextInputType.phone,
autoFocus: false);
}
/// 비밀번호 찾기 - 이메일
factory CommonInputField.findPwAuthEmail({
required TextEditingController textController,
required Future<void> Function(String) onChange,
}) {
return CommonInputField(
textController: textController,
placeHolder: "이메일을 입력해주세요",
alwaysSuffix: false,
onSubmitted: (value) async {},
onChanged: onChange,
autoFocus: false);
}
/// 비밀번호 찾기 - 인증번호
factory CommonInputField.findPwAuthNum({
required TextEditingController textController,
required Future<void> Function(String) onChange,
}) {
return CommonInputField(
textController: textController,
placeHolder: "인증번호를 입력해주세요",
alwaysSuffix: false,
onSubmitted: (value) async {},
onChanged: onChange,
autoFocus: false);
}
/// 비밀번호 찾기 - 새로운 비밀번호
factory CommonInputField.newPw({
required TextEditingController textController,
required Future<void> Function(String) onChange,
}) {
return CommonInputField(
textController: textController,
placeHolder: "비밀번호 (영문, 숫자 조합 6~20자)",
alwaysSuffix: false,
onSubmitted: (value) async {},
onChanged: onChange,
autoFocus: false);
}
/// 비밀번호 찾기 - 새로운 비밀번호 확인
factory CommonInputField.newPwConfirm({
required TextEditingController textController,
required Future<void> Function(String) onChange,
}) {
return CommonInputField(
textController: textController,
placeHolder: "비밀번호 확인",
alwaysSuffix: false,
onSubmitted: (value) async {},
onChanged: onChange,
autoFocus: false);
}





//TODO) 카드정보 입력
Expand Down

0 comments on commit d4ba437

Please sign in to comment.