Skip to content

Commit a043167

Browse files
authored
Merge pull request #25 from CODE-LG/ui/agree
[UI] 약관 동의 화면
2 parents ee9d397 + 1fa7010 commit a043167

25 files changed

Lines changed: 904 additions & 214 deletions

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ lib/generated_plugin_registrant.dart
111111
# Xcode
112112
#
113113
# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore
114-
114+
ios/Podfile.lock
115115
## User settings
116116
xcuserdata/
117117

assets/icons/bubble.svg

Lines changed: 31 additions & 0 deletions
Loading

ios/Podfile.lock

Lines changed: 0 additions & 124 deletions
This file was deleted.
Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
import 'package:code_l/auth/presentation/pages/congratulation/widgets/congratulation_app_bar.dart';
2+
import 'package:flutter/material.dart';
3+
import 'package:flutter_svg/svg.dart';
4+
import '../../../../core/utills/design/app_colors.dart';
5+
import '../../../../core/utills/design/app_gaps.dart';
6+
import '../../../../core/utills/design/app_typography.dart';
7+
import 'widgets/congratulation_confirm_button.dart';
8+
9+
class CongratulationPage extends StatelessWidget {
10+
const CongratulationPage({super.key});
11+
12+
@override
13+
Widget build(BuildContext context) {
14+
return Scaffold(
15+
appBar: const CongratulationAppBar(),
16+
body: _buildContentField(),
17+
);
18+
}
19+
20+
Widget _buildContentField() {
21+
return SafeArea(
22+
child: Padding(
23+
padding: const EdgeInsets.symmetric(horizontal: AppGaps.gap20),
24+
child: Column(
25+
crossAxisAlignment: CrossAxisAlignment.start,
26+
children: [
27+
SizedBox(height: 30),
28+
Row(
29+
mainAxisAlignment: MainAxisAlignment.center,
30+
children: [
31+
Column(
32+
crossAxisAlignment: CrossAxisAlignment.center,
33+
children: [
34+
SvgPicture.asset("assets/icons/logo_with_image.svg"),
35+
SizedBox(height: AppGaps.gap12),
36+
Text(
37+
"가입을 축하합니다!",
38+
style: AppTypography.header2.copyWith(
39+
color: AppColors.grey900,
40+
),
41+
),
42+
],
43+
),
44+
],
45+
),
46+
SizedBox(height: 54),
47+
Row(
48+
children: [Text("개성있는 익명 활동 🤫", style: AppTypography.subtitle3)],
49+
),
50+
Flexible(
51+
child: Text(
52+
"자신의 얼굴을 바로 공개하지 않고도 자유롭게 소통할 수 있어요.",
53+
style: AppTypography.body2,
54+
),
55+
),
56+
SizedBox(height: AppGaps.gap20),
57+
Row(
58+
children: [
59+
Text("안심할 수 있는 공개 시스템 🔐", style: AppTypography.subtitle3),
60+
],
61+
),
62+
Flexible(
63+
child: Text(
64+
"원치 않는 사람에게 얼굴이 공개될 걱정 없이, 내가 선택한 사람에게만 보여줄 수 있어요.",
65+
style: AppTypography.body2,
66+
),
67+
),
68+
SizedBox(height: 54),
69+
Container(
70+
height: 114,
71+
width: double.infinity,
72+
alignment: Alignment.center,
73+
color: AppColors.grey100,
74+
child: Padding(
75+
padding: const EdgeInsets.symmetric(horizontal: AppGaps.gap16),
76+
child: Column(
77+
mainAxisAlignment: MainAxisAlignment.center,
78+
crossAxisAlignment: CrossAxisAlignment.start,
79+
children: [
80+
Text("코드 프로필이란?", style: AppTypography.caption1),
81+
SizedBox(height: AppGaps.gap8),
82+
Flexible(
83+
child: Text(
84+
"이름 대신 코드 네임과 개성있는 정보를 통해 나를 표현하는 Code : L의 특별한 프로필 입니다. 관심사, 취향, 스타일 등 나만의 프로필로 나를 보여주세요!",
85+
style: AppTypography.caption1.copyWith(
86+
color: AppColors.grey700,
87+
),
88+
),
89+
),
90+
],
91+
),
92+
),
93+
),
94+
SizedBox(height: 120),
95+
Padding(
96+
padding: const EdgeInsets.only(left: 18.0),
97+
child: SvgPicture.asset(
98+
"assets/icons/bubble.svg",
99+
width: double.infinity,
100+
height: 40,
101+
),
102+
),
103+
104+
Padding(
105+
padding: const EdgeInsets.all(AppGaps.gap4),
106+
child: CongratulationConfirmButton(
107+
enabled: true,
108+
text: "코드 프로필 작성하기",
109+
onPressed: () {},
110+
),
111+
),
112+
],
113+
),
114+
),
115+
);
116+
}
117+
}
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
import 'package:code_l/core/utills/design/app_gaps.dart';
2+
import 'package:flutter/material.dart';
3+
4+
import '../../../../../core/utills/design/app_colors.dart';
5+
import '../../../../../core/utills/design/app_typography.dart';
6+
7+
class CongratulationAppBar extends StatelessWidget
8+
implements PreferredSizeWidget {
9+
const CongratulationAppBar({super.key});
10+
11+
@override
12+
Size get preferredSize => Size.fromHeight(56);
13+
@override
14+
Widget build(BuildContext context) {
15+
return SafeArea(
16+
child: Padding(
17+
padding: const EdgeInsets.symmetric(horizontal: 12, vertical: 8),
18+
child: Row(
19+
mainAxisAlignment: MainAxisAlignment.spaceBetween,
20+
crossAxisAlignment: CrossAxisAlignment.center,
21+
children: [
22+
SizedBox(
23+
width: AppGaps.gap36,
24+
),
25+
Text(
26+
"회원가입",
27+
style: AppTypography.subtitle2.copyWith(color: AppColors.grey900),
28+
),
29+
IconButton(
30+
icon: const Icon(Icons.close),
31+
onPressed: () {
32+
Navigator.pop(context);
33+
},
34+
),
35+
],
36+
),
37+
),
38+
);
39+
}
40+
}
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
import 'package:flutter/cupertino.dart';
2+
3+
import '../../../../../core/utills/design/app_colors.dart';
4+
import '../../../../../core/utills/design/app_typography.dart';
5+
6+
class CongratulationConfirmButton extends StatelessWidget {
7+
const CongratulationConfirmButton({
8+
super.key,
9+
required this.enabled,
10+
this.onPressed,
11+
this.text = "확인",
12+
});
13+
14+
final bool enabled;
15+
final VoidCallback? onPressed;
16+
final String text;
17+
18+
@override
19+
Widget build(BuildContext context) {
20+
return GestureDetector(
21+
onTap: enabled ? onPressed : null,
22+
child: Container(
23+
height: 54,
24+
width: double.infinity,
25+
padding: EdgeInsets.symmetric(vertical: 16),
26+
alignment: Alignment.center,
27+
decoration: BoxDecoration(
28+
color: enabled ? AppColors.primary : AppColors.grey200,
29+
borderRadius: BorderRadius.circular(8),
30+
),
31+
child: Text(
32+
text,
33+
style: AppTypography.subtitle2.copyWith(
34+
color: enabled ? AppColors.white : AppColors.grey400,
35+
),
36+
),
37+
),
38+
);
39+
}
40+
}

0 commit comments

Comments
 (0)