Skip to content

Commit

Permalink
Merge pull request #20 from Mockin-2024/19-refactoring_1
Browse files Browse the repository at this point in the history
refactoring-1
  • Loading branch information
KimHyeokMin0 authored Dec 9, 2024
2 parents 3ebbe80 + a69e281 commit 24d897e
Show file tree
Hide file tree
Showing 55 changed files with 708 additions and 659 deletions.
1 change: 0 additions & 1 deletion lib/api/login_api.dart
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ import 'package:mockin/dto/login/email_auth_dto.dart';
import 'package:mockin/dto/login/login_dto.dart';
import 'package:mockin/dto/login/send_to_email_dto.dart';
import 'dart:convert';

import 'package:mockin/dto/login/signup_dto.dart';
import 'package:mockin/dto/login/token_validation_dto.dart';

Expand Down
2 changes: 1 addition & 1 deletion lib/dto/trading/stock_order_dto.dart
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import 'package:mockin/provider/exchange_trans.dart';
import 'package:mockin/exchange_transform/exchange_trans.dart';

class StockOrderDTO {
final String excd, symb, orderQuantity, overseasOrderUnitPrice;
Expand Down
File renamed without changes.
4 changes: 2 additions & 2 deletions lib/login/find_pw.dart
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import 'package:flutter/material.dart';
import 'package:mockin/widgets/alert.dart';
import 'package:mockin/widgets/get_input.dart';
import 'package:mockin/widgets/etc/alert.dart';
import 'package:mockin/widgets/input_box/get_input.dart';

class FindPw extends StatefulWidget {
const FindPw({super.key});
Expand Down
146 changes: 25 additions & 121 deletions lib/login/info_register.dart
Original file line number Diff line number Diff line change
@@ -1,14 +1,18 @@
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:mockin/afterlogin/wait_token.dart';
import 'package:mockin/storage/user_email.dart';
import 'package:mockin/dto/account/acnt_num_register_dto.dart';
import 'package:mockin/dto/account/key_pair_register_dto.dart';
import 'package:mockin/widgets/alert.dart';
import 'package:mockin/widgets/get_input.dart';
import 'package:mockin/widgets/button/register_button.dart';
import 'package:mockin/widgets/etc/double_backbutton_quit.dart';
import 'package:mockin/widgets/navigator/text_gesture_navigator_replacement.dart';
import 'package:mockin/widgets/input_box/get_input.dart';
import 'package:mockin/api/account_api.dart';
import 'package:mockin/widgets/text/basic_text.dart';
import 'dart:async';

import 'package:mockin/widgets/text/content_text.dart';

class InfoRegister extends StatelessWidget {
InfoRegister({super.key});

Expand All @@ -21,97 +25,56 @@ class InfoRegister extends StatelessWidget {

Future<bool> accountRegister() async {
if (accountNumber.text.isNotEmpty) {
var tmp = await AccountApi.accountRegister(
return await AccountApi.accountRegister(
DTO: AcntNumRegisterDTO(
accountNumber: accountNumber.text,
),
);
return tmp;
}
return false;
}

Future<bool> mockKeyRegister() async {
if (mockAppkey.text.isNotEmpty && mockAppsecretkey.text.isNotEmpty) {
var tmp = await AccountApi.mockKeyRegister(
return await AccountApi.mockKeyRegister(
DTO: KeyPairRegisterDTO(
appKey: mockAppkey.text,
appSecret: mockAppsecretkey.text,
),
);
return tmp;
}
return false;
}

Future<bool> realKeyRegister() async {
if (realAppkey.text.isNotEmpty && realAppsecretkey.text.isNotEmpty) {
var tmp = await AccountApi.realKeyRegister(
return await AccountApi.realKeyRegister(
DTO: KeyPairRegisterDTO(
appKey: realAppkey.text,
appSecret: realAppsecretkey.text,
),
);
return tmp;
}
return false;
}

@override
Widget build(BuildContext context) {
DateTime? lastPressedAt;
const Duration backPressDuration = Duration(seconds: 2);

void showExitWarning(BuildContext context) {
ScaffoldMessenger.of(context).showSnackBar(
const SnackBar(
content: Text('한 번 더 뒤로가기를 누르면 종료됩니다.'),
duration: Duration(seconds: 2),
),
);
}

return PopScope(
canPop: false,
onPopInvokedWithResult: (didPop, result) {
if (didPop) {
print('>>> didPop 호출');
return;
}
final now = DateTime.now();

if (lastPressedAt == null ||
now.difference(lastPressedAt!) > backPressDuration) {
print('>>> $now');
lastPressedAt = now;
showExitWarning(context);
return;
}
SystemNavigator.pop();
},
child: Scaffold(
return DoubleBackbuttonQuit(
w: Scaffold(
body: SingleChildScrollView(
child: Column(
children: [
const SizedBox(
height: 60,
),
const Row(
mainAxisAlignment: MainAxisAlignment.center,
const SizedBox(height: 60),
const Column(
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Text(
' 모의투자를 진행하기 위해선\n다음과 같은 정보가 필요합니다!',
style: TextStyle(
color: Colors.black,
fontSize: 18,
),
),
ContentText(tt: '모의투자를 진행하기 위해선'),
ContentText(tt: '다음과 같은 정보가 필요합니다!'),
],
),
const SizedBox(
height: 45,
),
const Text('모의투자용 키 등록', style: TextStyle(color: Colors.black)),
const SizedBox(height: 45),
const BasicText(tt: '모의투자용 키 등록'),
GetInput(name: '모의투자 appkey', tec: mockAppkey),
GetInput(name: '모의 appsecretkey', tec: mockAppsecretkey),
RegisterButton(
Expand All @@ -120,7 +83,7 @@ class InfoRegister extends StatelessWidget {
onPressed: mockKeyRegister,
),
const SizedBox(height: 10),
const Text('실전투자용 키 등록', style: TextStyle(color: Colors.black)),
const BasicText(tt: '실전투자용 키 등록'),
GetInput(name: '실전 appkey', tec: realAppkey),
GetInput(name: '실전 appsecretkey', tec: realAppsecretkey),
RegisterButton(
Expand All @@ -129,38 +92,17 @@ class InfoRegister extends StatelessWidget {
onPressed: realKeyRegister,
),
const SizedBox(height: 10),
const Text('모의 계좌번호 등록(8자리)',
style: TextStyle(color: Colors.black)),
const BasicText(tt: '모의 계좌번호 등록(8자리)'),
GetInput(name: '한국투자증권 모의계좌번호', tec: accountNumber),
RegisterButton(
name: '모의계좌 등록',
first: '모의계좌번호 등록',
onPressed: accountRegister,
),
const SizedBox(
height: 20,
),
Center(
child: GestureDetector(
onTap: () {
Future.delayed(Duration.zero, () {
if (!context.mounted) return;
Navigator.pushReplacement(
context,
MaterialPageRoute(
builder: (context) => const WaitToken(),
),
);
});
},
child: Text(
'모두 등록했습니다! >>>',
style: TextStyle(
color: Theme.of(context).textTheme.bodySmall!.color,
fontSize: 18,
),
),
),
const SizedBox(height: 20),
const Center(
child: TextGestureNavigatorReplacement(
movePage: WaitToken(), name: '모두 등록했습니다! >>>'),
),
],
),
Expand All @@ -169,41 +111,3 @@ class InfoRegister extends StatelessWidget {
);
}
}

class RegisterButton extends StatelessWidget {
final String name, first;
final Function onPressed;

const RegisterButton({
super.key,
required this.name,
required this.first,
required this.onPressed,
});

@override
Widget build(BuildContext context) {
return Center(
child: ElevatedButton(
onPressed: () async {
if (await onPressed()) {
if (!context.mounted) return;
Alert.showAlert(context, first, '성공!');
} else {
if (!context.mounted) return;
Alert.showAlert(context, first, '실패');
}
},
style: ElevatedButton.styleFrom(
backgroundColor: Colors.black,
),
child: Text(
name,
style: const TextStyle(
color: Colors.white,
),
),
),
);
}
}
Loading

0 comments on commit 24d897e

Please sign in to comment.