diff --git a/asstes/Group.png b/assets/Group.png similarity index 100% rename from asstes/Group.png rename to assets/Group.png diff --git a/asstes/Icon_menu.svg b/assets/Icon_menu.svg similarity index 100% rename from asstes/Icon_menu.svg rename to assets/Icon_menu.svg diff --git a/asstes/SUCHAT.png b/assets/SUCHAT.png similarity index 100% rename from asstes/SUCHAT.png rename to assets/SUCHAT.png diff --git a/asstes/Vector6.png b/assets/Vector6.png similarity index 100% rename from asstes/Vector6.png rename to assets/Vector6.png diff --git a/asstes/bubble.png b/assets/bubble.png similarity index 100% rename from asstes/bubble.png rename to assets/bubble.png diff --git a/asstes/bubble_main.PNG b/assets/bubble_main.PNG similarity index 100% rename from asstes/bubble_main.PNG rename to assets/bubble_main.PNG diff --git a/asstes/close.png b/assets/close.png similarity index 100% rename from asstes/close.png rename to assets/close.png diff --git a/asstes/feedback.svg b/assets/feedback.svg similarity index 100% rename from asstes/feedback.svg rename to assets/feedback.svg diff --git a/asstes/font/KCC-Chassam.otf b/assets/font/KCC-Chassam.otf similarity index 100% rename from asstes/font/KCC-Chassam.otf rename to assets/font/KCC-Chassam.otf diff --git a/asstes/font/KCC-Chassam.ttf b/assets/font/KCC-Chassam.ttf similarity index 100% rename from asstes/font/KCC-Chassam.ttf rename to assets/font/KCC-Chassam.ttf diff --git a/asstes/font/Pretendard-Light.ttf b/assets/font/Pretendard-Light.ttf similarity index 100% rename from asstes/font/Pretendard-Light.ttf rename to assets/font/Pretendard-Light.ttf diff --git a/asstes/font/Pretendard-Regular.ttf b/assets/font/Pretendard-Regular.ttf similarity index 100% rename from asstes/font/Pretendard-Regular.ttf rename to assets/font/Pretendard-Regular.ttf diff --git a/asstes/font/Pretendard-SemiBold.ttf b/assets/font/Pretendard-SemiBold.ttf similarity index 100% rename from asstes/font/Pretendard-SemiBold.ttf rename to assets/font/Pretendard-SemiBold.ttf diff --git a/asstes/logout.svg b/assets/logout.svg similarity index 100% rename from asstes/logout.svg rename to assets/logout.svg diff --git a/asstes/onclikmenu.svg b/assets/onclikmenu.svg similarity index 100% rename from asstes/onclikmenu.svg rename to assets/onclikmenu.svg diff --git a/asstes/policy.svg b/assets/policy.svg similarity index 100% rename from asstes/policy.svg rename to assets/policy.svg diff --git a/asstes/profile.svg b/assets/profile.svg similarity index 100% rename from asstes/profile.svg rename to assets/profile.svg diff --git a/asstes/vector.svg b/assets/vector.svg similarity index 100% rename from asstes/vector.svg rename to assets/vector.svg diff --git a/lib/main.dart b/lib/main.dart index 4ebd0db..0658138 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -1,10 +1,10 @@ import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; -import 'package:suwon/viewmodels/AccountRecovery_viewmodel.dart'; -import 'package:suwon/viewmodels/login_viewmodel.dart'; -import 'package:suwon/viewmodels/signup_viewmodel.dart'; // 추가: SignupViewModel 임포트 -import 'package:suwon/views/login_screen.dart'; -import 'package:suwon/views/signup_creen.dart'; +import 'package:suwon/viewmodels/AccountRecoveryVM.dart'; +import 'package:suwon/viewmodels/LoginVM.dart'; +import 'package:suwon/viewmodels/SignupVM.dart'; // 추가: SignupViewModel 임포트 +import 'package:suwon/views/LoginScreen.dart'; +import 'package:suwon/views/SignUpScreen.dart'; void main() { runApp(const MyApp()); @@ -17,15 +17,14 @@ class MyApp extends StatelessWidget { return MultiProvider( // ChangeNotifierProvider 대신 MultiProvider로 변경 providers: [ - ChangeNotifierProvider(create: (context) => LoginViewModel()), + ChangeNotifierProvider(create: (context) => LoginVM()), ChangeNotifierProvider( - create: (context) => SignupViewModel()), // 추가: SignupViewModel 제공 - ChangeNotifierProvider( - create: (context) => AccountRecoveryViewModel()), + create: (context) => SignupVM()), // 추가: SignupViewModel 제공 + ChangeNotifierProvider(create: (context) => AccountRecoveryVM()), ], child: MaterialApp( debugShowCheckedModeBanner: false, - home: NewLoignMain(), + home: LoginScreen(), ), ); } diff --git a/lib/viewmodels/AccountRecovery_viewmodel.dart b/lib/viewmodels/AccountRecoveryVM.dart similarity index 94% rename from lib/viewmodels/AccountRecovery_viewmodel.dart rename to lib/viewmodels/AccountRecoveryVM.dart index 0b92b54..1b12018 100644 --- a/lib/viewmodels/AccountRecovery_viewmodel.dart +++ b/lib/viewmodels/AccountRecoveryVM.dart @@ -1,12 +1,11 @@ import 'package:flutter/material.dart'; -class AccountRecoveryViewModel extends ChangeNotifier { +class AccountRecoveryVM extends ChangeNotifier { String _id = ''; String _password = ''; String _email = ''; String _validationCode = ''; - bool _idError = false; bool _pwError = false; bool _emailError = false; @@ -20,7 +19,6 @@ class AccountRecoveryViewModel extends ChangeNotifier { TextEditingController pwMatchController = TextEditingController(); TextEditingController ValidationCodeController = TextEditingController(); - bool get idError => _idError; bool get pwError => _pwError; bool get emailError => _emailError; @@ -78,7 +76,7 @@ class AccountRecoveryViewModel extends ChangeNotifier { bool validateEmail(String value) { final RegExp emailRegExp = - RegExp(r'^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$'); + RegExp(r'^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$'); _isEmailValid = emailRegExp.hasMatch(value); notifyListeners(); return _isEmailValid; @@ -90,11 +88,11 @@ class AccountRecoveryViewModel extends ChangeNotifier { // String email = _email; print('eamil: $email'); - } } + Future Search_PW() async { - if(validateEmail(_email)&& !_idError) { + if (validateEmail(_email) && !_idError) { // 이메일 및 ID 검증 // 인증코드 전송 및 검증 String id = _id; @@ -106,4 +104,4 @@ class AccountRecoveryViewModel extends ChangeNotifier { print('validationCode = $validationCode'); } } -} \ No newline at end of file +} diff --git a/lib/viewmodels/login_viewmodel.dart b/lib/viewmodels/LoginVM.dart similarity index 93% rename from lib/viewmodels/login_viewmodel.dart rename to lib/viewmodels/LoginVM.dart index 42b2fba..908c7af 100644 --- a/lib/viewmodels/login_viewmodel.dart +++ b/lib/viewmodels/LoginVM.dart @@ -1,6 +1,6 @@ import 'package:flutter/material.dart'; -class LoginViewModel extends ChangeNotifier { +class LoginVM extends ChangeNotifier { String _userid = ''; String _userpw = ''; diff --git a/lib/viewmodels/signup_viewmodel.dart b/lib/viewmodels/SignupVM.dart similarity index 98% rename from lib/viewmodels/signup_viewmodel.dart rename to lib/viewmodels/SignupVM.dart index 2ad25bc..96eb6c2 100644 --- a/lib/viewmodels/signup_viewmodel.dart +++ b/lib/viewmodels/SignupVM.dart @@ -1,6 +1,6 @@ import 'package:flutter/material.dart'; -class SignupViewModel extends ChangeNotifier { +class SignupVM extends ChangeNotifier { String _id = ''; String _password = ''; String _email = ''; diff --git a/lib/views/Login_page_changePW.dart b/lib/views/ChangePasswordScreen.dart similarity index 92% rename from lib/views/Login_page_changePW.dart rename to lib/views/ChangePasswordScreen.dart index 37eba13..3dc087b 100644 --- a/lib/views/Login_page_changePW.dart +++ b/lib/views/ChangePasswordScreen.dart @@ -1,21 +1,19 @@ -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:provider/provider.dart'; -import 'package:suwon/viewmodels/AccountRecovery_viewmodel.dart'; +import 'package:suwon/viewmodels/AccountRecoveryVM.dart'; -import 'package:suwon/views/login_screen.dart'; +import 'package:suwon/views/LoginScreen.dart'; -import 'package:suwon/views/widgets/appbar.dart'; -import 'package:suwon/views/widgets/csbutton.dart'; +import 'package:suwon/views/widgets/SuchatAppBarWidget.dart'; +import 'package:suwon/views/widgets/CustomButtonWidget.dart'; -class ChangePW extends StatelessWidget { +class ChangePasswordScreen extends StatelessWidget { final GlobalKey _formKey = GlobalKey(); @override Widget build(BuildContext context) { - final accountRecoveryViewModel = - Provider.of(context); + final accountRecoveryViewModel = Provider.of(context); return ScreenUtilInit( designSize: Size(390, 844), @@ -29,7 +27,7 @@ class ChangePW extends StatelessWidget { children: [ Container( margin: EdgeInsets.symmetric(horizontal: 20.w), - child: SuchatAppBar( + child: SuchatAppBarWidget( text: '비밀번호 변경', onPressed: () { accountRecoveryViewModel.pwController.clear(); @@ -37,7 +35,7 @@ class ChangePW extends StatelessWidget { Navigator.push( context, MaterialPageRoute( - builder: (context) => const NewLoignMain()), + builder: (context) => const LoginScreen()), ); }, ), @@ -93,7 +91,7 @@ class ChangePW extends StatelessWidget { : Icons.visibility, ), SizedBox(height: 48.h), - CustomButton( + CustomButtonWidget( text: '변경 완료', color: Colors.white, backgroundColor: Color(0xff2D64D8), diff --git a/lib/views/CustomDrawerScreen.dart b/lib/views/CustomDrawerScreen.dart index dc51878..05aac55 100644 --- a/lib/views/CustomDrawerScreen.dart +++ b/lib/views/CustomDrawerScreen.dart @@ -4,7 +4,7 @@ import 'package:flutter_svg/flutter_svg.dart'; import 'package:suwon/views/EditProfileDrawerScreen.dart'; import 'package:suwon/views/TermsConditionsDrawerScreen.dart'; import 'package:suwon/views/FeedbackDrawerScreen.dart'; -import 'package:suwon/views/login_screen.dart'; +import 'package:suwon/views/LoginScreen.dart'; import 'package:suwon/views/widgets/CancelAndActionAlertDialogWidget.dart'; class CustomDrawerScreen extends StatelessWidget { @@ -31,7 +31,7 @@ class CustomDrawerScreen extends StatelessWidget { Navigator.of(context).pop(); }, icon: Image.asset( - 'asstes/close.png', + 'assets/close.png', scale: 4.sp, ), ) @@ -52,7 +52,7 @@ class CustomDrawerScreen extends StatelessWidget { children: [ CircleAvatar( backgroundColor: Colors.white, - backgroundImage: AssetImage('asstes/Group.png'), + backgroundImage: AssetImage('assets/Group.png'), ), SizedBox(height: 8), Text( @@ -88,7 +88,7 @@ class CustomDrawerScreen extends StatelessWidget { SizedBox(height: 20), ListTile_main( text: '프로필 수정', - Menu_Icon: 'asstes/profile.svg', + Menu_Icon: 'assets/profile.svg', onTap: () { Navigator.push( context, @@ -101,7 +101,7 @@ class CustomDrawerScreen extends StatelessWidget { SizedBox(height: 20), ListTile_main( text: '이용약관', - Menu_Icon: 'asstes/policy.svg', + Menu_Icon: 'assets/policy.svg', onTap: () { Navigator.push( context, @@ -114,7 +114,7 @@ class CustomDrawerScreen extends StatelessWidget { SizedBox(height: 20), ListTile_main( text: ' 피드백', - Menu_Icon: 'asstes/feedback.svg', + Menu_Icon: 'assets/feedback.svg', onTap: () { Navigator.push( context, @@ -127,7 +127,7 @@ class CustomDrawerScreen extends StatelessWidget { SizedBox(height: 20), ListTile_main( text: '로그아웃', - Menu_Icon: 'asstes/logout.svg', + Menu_Icon: 'assets/logout.svg', onTap: () { CancelAndActionAlertDialogWidget( title: "로그아웃 하시겠습니까?", @@ -136,7 +136,7 @@ class CustomDrawerScreen extends StatelessWidget { Navigator.push( context, MaterialPageRoute( - builder: (context) => NewLoignMain()), + builder: (context) => LoginScreen()), ); }, onCancel: () {}) @@ -179,7 +179,7 @@ class ListTile_main extends StatelessWidget { ), // 제목 SizedBox(width: 20.sp), Image.asset( - 'asstes/Vector6.png', + 'assets/Vector6.png', scale: 4.sp, ) ], diff --git a/lib/views/EditProfileDrawerScreen.dart b/lib/views/EditProfileDrawerScreen.dart index 10c7f2a..490fd13 100644 --- a/lib/views/EditProfileDrawerScreen.dart +++ b/lib/views/EditProfileDrawerScreen.dart @@ -1,19 +1,19 @@ import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; -import 'package:suwon/views/Main_page.dart'; -import 'package:suwon/views/signup_creen.dart'; -import 'package:suwon/views/widgets/appbar.dart'; -import 'package:suwon/viewmodels/signup_viewmodel.dart'; +import 'package:suwon/views/HomeScreen.dart'; +import 'package:suwon/views/SignUpScreen.dart'; +import 'package:suwon/views/widgets/SuchatAppBarWidget.dart'; +import 'package:suwon/viewmodels/SignupVM.dart'; import 'package:provider/provider.dart'; -import 'package:suwon/views/widgets/csbutton.dart'; -import 'package:suwon/views/widgets/font.dart'; +import 'package:suwon/views/widgets/CustomButtonWidget.dart'; +import 'package:suwon/views/widgets/TextFontWidget.dart'; class EditProfileDrawerScreen extends StatelessWidget { final GlobalKey _formKey = GlobalKey(); @override Widget build(BuildContext context) { - final signupViewModel = Provider.of(context); + final signupViewModel = Provider.of(context); return ScreenUtilInit( designSize: Size(390, 844), builder: (context, child) => Scaffold( @@ -27,7 +27,7 @@ class EditProfileDrawerScreen extends StatelessWidget { Container( //상단바 margin: EdgeInsets.symmetric(horizontal: 20.w), - child: SuchatAppBar( + child: SuchatAppBarWidget( text: ' 프로필 설정', onPressed: () { signupViewModel.idController.clear(); @@ -35,7 +35,7 @@ class EditProfileDrawerScreen extends StatelessWidget { Navigator.push( context, MaterialPageRoute( - builder: (context) => MainPage(), + builder: (context) => HomeScreen(), ), ); }, @@ -70,7 +70,7 @@ class EditProfileDrawerScreen extends StatelessWidget { ), child: TextButton( onPressed: () {}, - child: TextFont.fontRegular( + child: TextFontWidget.fontRegular( color: Color(0xFFFFFFFF), fontSize: 14, text: '중복 확인')), diff --git a/lib/views/FeedbackDrawerScreen.dart b/lib/views/FeedbackDrawerScreen.dart index 00a9551..18a5eb4 100644 --- a/lib/views/FeedbackDrawerScreen.dart +++ b/lib/views/FeedbackDrawerScreen.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:suwon/views/widgets/DrawerAppBarWidget.dart'; -import 'package:suwon/views/widgets/csbutton.dart'; +import 'package:suwon/views/widgets/CustomButtonWidget.dart'; class FeedbackDrawerScreen extends StatelessWidget { final GlobalKey _formKey = GlobalKey(); @@ -52,7 +52,7 @@ class FeedbackDrawerScreen extends StatelessWidget { ), ), SizedBox(height: 24.h), - CustomButton( + CustomButtonWidget( text: "제출하기", backgroundColor: Color(0xFF2D64D8), onPressed: () {}, diff --git a/lib/views/Main_page.dart b/lib/views/HomeScreen.dart similarity index 95% rename from lib/views/Main_page.dart rename to lib/views/HomeScreen.dart index 8d82fd1..c2e22fd 100644 --- a/lib/views/Main_page.dart +++ b/lib/views/HomeScreen.dart @@ -2,10 +2,10 @@ import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:suwon/views/CustomDrawerScreen.dart'; -import 'package:suwon/views/matching_loding.dart'; +import 'package:suwon/views/MatchingLoadingScreen.dart'; -class MainPage extends StatelessWidget { - const MainPage({super.key}); +class HomeScreen extends StatelessWidget { + const HomeScreen({super.key}); @override Widget build(BuildContext context) { @@ -34,7 +34,7 @@ class MainPage extends StatelessWidget { width: 15.w, ), Image.asset( - 'asstes/SUCHAT.png', + 'assets/SUCHAT.png', width: 76.w, height: 20.h, ) @@ -51,7 +51,7 @@ class MainPage extends StatelessWidget { onPressed: () { _scaffoldKey.currentState?.openEndDrawer(); }, - icon: SvgPicture.asset('asstes/onclikmenu.svg', + icon: SvgPicture.asset('assets/onclikmenu.svg', width: 28.w, height: 20.h), )), SizedBox( @@ -93,7 +93,7 @@ class MainPage extends StatelessWidget { offset: const Offset(0, -60), child: ClipRect( child: Image.asset( - 'asstes/bubble_main.PNG', + 'assets/bubble_main.PNG', fit: BoxFit.fill, ), ), @@ -109,7 +109,7 @@ class MainPage extends StatelessWidget { Navigator.push( context, MaterialPageRoute( - builder: (context) => MatchingLoading()), + builder: (context) => MatchingLoadingScreen()), ); }, ), diff --git a/lib/views/login_screen.dart b/lib/views/LoginScreen.dart similarity index 83% rename from lib/views/login_screen.dart rename to lib/views/LoginScreen.dart index d1c72c0..e2434ca 100644 --- a/lib/views/login_screen.dart +++ b/lib/views/LoginScreen.dart @@ -1,22 +1,22 @@ import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; -import 'package:suwon/views/Login_page_changePW.dart'; -import 'package:suwon/views/Login_page_searchID.dart'; -import 'package:suwon/views/Main_page.dart'; -import 'package:suwon/views/Signup_creen.dart'; -import 'package:suwon/views/widgets/csbutton.dart'; +import 'package:suwon/views/ChangePasswordScreen.dart'; +import 'package:suwon/views/SearchIdScreen.dart'; +import 'package:suwon/views/HomeScreen.dart'; +import 'package:suwon/views/SignUpScreen.dart'; +import 'package:suwon/views/widgets/CustomButtonWidget.dart'; import 'package:provider/provider.dart'; -import 'package:suwon/viewmodels/login_viewmodel.dart'; -import 'package:suwon/views/widgets/font.dart'; +import 'package:suwon/viewmodels/LoginVM.dart'; +import 'package:suwon/views/widgets/TextFontWidget.dart'; -import 'Login_page_searchPW.dart'; +import 'SearchPasswordScreen.dart'; -class NewLoignMain extends StatelessWidget { - const NewLoignMain({super.key}); +class LoginScreen extends StatelessWidget { + const LoginScreen({super.key}); @override Widget build(BuildContext context) { - final loginViewModel = Provider.of(context); + final loginViewModel = Provider.of(context); return ScreenUtilInit( designSize: Size(390, 844), builder: (context, child) => Scaffold( @@ -30,7 +30,7 @@ class NewLoignMain extends StatelessWidget { margin: EdgeInsets.only(left: 32.w), child: Image( fit: BoxFit.fill, - image: AssetImage('asstes/bubble.PNG'), + image: AssetImage('assets/bubble.PNG'), ), ), SizedBox(height: 32.h), @@ -52,7 +52,7 @@ class NewLoignMain extends StatelessWidget { hintText: 'PW', obscureText: true), SizedBox(height: 24.h), - CustomButton( + CustomButtonWidget( // 로그인 버튼 text: '로그인', color: Colors.white, @@ -70,7 +70,7 @@ class NewLoignMain extends StatelessWidget { */ Navigator.push( context, - MaterialPageRoute(builder: (context) => MainPage()), + MaterialPageRoute(builder: (context) => HomeScreen()), ); }), Row( @@ -81,24 +81,24 @@ class NewLoignMain extends StatelessWidget { Navigator.push( context, MaterialPageRoute( - builder: (context) => const SearchID()), + builder: (context) => const SearchIdScreen()), ); }, - child: TextFont.fontRegular( + child: TextFontWidget.fontRegular( text: '아이디 찾기', fontSize: 14.sp, color: Color(0xFF232323))), - TextFont.fontRegular( + TextFontWidget.fontRegular( text: '/', fontSize: 16.sp, color: Color(0xFFBFBFBF)), TextButton( onPressed: () { Navigator.push( context, MaterialPageRoute( - builder: (context) => SearchPW()), + builder: (context) => SearchPasswordScreen()), ); }, - child: TextFont.fontRegular( + child: TextFontWidget.fontRegular( text: '비밀번호 찾기', fontSize: 14.sp, color: Color(0xFF232323))), @@ -116,7 +116,7 @@ class NewLoignMain extends StatelessWidget { thickness: 1, color: Colors.grey, )), - TextFont.fontRegular( + TextFontWidget.fontRegular( text: '계정이 없으신가요?', fontSize: 14.sp, color: Color(0xFF767676)), @@ -131,7 +131,7 @@ class NewLoignMain extends StatelessWidget { SizedBox( height: 18.h, ), - CustomButton( + CustomButtonWidget( text: '회원가입', color: Colors.white, backgroundColor: Color(0xFF111111), @@ -139,7 +139,7 @@ class NewLoignMain extends StatelessWidget { Navigator.push( context, MaterialPageRoute( - builder: (context) => SignupScreen()), + builder: (context) => SignUpScreen()), ); }), ], diff --git a/lib/views/matching_loding.dart b/lib/views/MatchingLoadingScreen.dart similarity index 88% rename from lib/views/matching_loding.dart rename to lib/views/MatchingLoadingScreen.dart index 69ffd4e..6fb741d 100644 --- a/lib/views/matching_loding.dart +++ b/lib/views/MatchingLoadingScreen.dart @@ -2,17 +2,17 @@ import 'dart:async'; import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; -import 'package:suwon/views/Main_page.dart'; -import 'package:suwon/views/widgets/csbutton.dart'; +import 'package:suwon/views/HomeScreen.dart'; +import 'package:suwon/views/widgets/CustomButtonWidget.dart'; -class MatchingLoading extends StatefulWidget { - const MatchingLoading({Key? key}) : super(key: key); +class MatchingLoadingScreen extends StatefulWidget { + const MatchingLoadingScreen({Key? key}) : super(key: key); @override _MatchingLoadingState createState() => _MatchingLoadingState(); } -class _MatchingLoadingState extends State { +class _MatchingLoadingState extends State { StreamController dotStreamController = StreamController(); int numDots = 0; @@ -89,13 +89,13 @@ class _MatchingLoadingState extends State { fontsize: 16.sp, ), SizedBox(height: 60.h), - CustomButton( + CustomButtonWidget( text: '매칭 중단하기', backgroundColor: Color(0xff111111), onPressed: () { Navigator.push( context, - MaterialPageRoute(builder: (context) => MainPage()), + MaterialPageRoute(builder: (context) => HomeScreen()), ); }, color: Color(0xffFFFFFF), diff --git a/lib/views/Login_page_searchID.dart b/lib/views/SearchIdScreen.dart similarity index 85% rename from lib/views/Login_page_searchID.dart rename to lib/views/SearchIdScreen.dart index 2504818..e1ab2f2 100644 --- a/lib/views/Login_page_searchID.dart +++ b/lib/views/SearchIdScreen.dart @@ -1,22 +1,21 @@ import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; -import 'package:suwon/viewmodels/AccountRecovery_viewmodel.dart'; -import 'package:suwon/viewmodels/signup_viewmodel.dart'; -import 'package:suwon/views/login_screen.dart'; -import 'package:suwon/views/widgets/appbar.dart'; -import 'package:suwon/views/widgets/csbutton.dart'; -import 'package:suwon/views/widgets/emailfield.dart'; +import 'package:suwon/viewmodels/AccountRecoveryVM.dart'; +import 'package:suwon/viewmodels/SignupVM.dart'; +import 'package:suwon/views/LoginScreen.dart'; +import 'package:suwon/views/widgets/SuchatAppBarWidget.dart'; +import 'package:suwon/views/widgets/CustomButtonWidget.dart'; +import 'package:suwon/views/widgets/EmailTextFieldWidget.dart'; import 'package:provider/provider.dart'; -class SearchID extends StatelessWidget { - const SearchID({super.key}); +class SearchIdScreen extends StatelessWidget { + const SearchIdScreen({super.key}); @override Widget build(BuildContext context) { final GlobalKey _formKey = GlobalKey(); - final accountRecoveryViewModel = - Provider.of(context); + final accountRecoveryViewModel = Provider.of(context); return ScreenUtilInit( designSize: Size(390, 844), @@ -31,14 +30,14 @@ class SearchID extends StatelessWidget { Container( //상단바 margin: EdgeInsets.symmetric(horizontal: 20.w), - child: SuchatAppBar( + child: SuchatAppBarWidget( text: '아이디 찾기', onPressed: () { accountRecoveryViewModel.emailController.clear(); Navigator.push( context, MaterialPageRoute( - builder: (context) => const NewLoignMain()), + builder: (context) => const LoginScreen()), ); }, ), @@ -55,7 +54,7 @@ class SearchID extends StatelessWidget { SizedBox( height: 42.h, ), - EmailFD( + EmailTextFieldWidget( controller: accountRecoveryViewModel.emailController, onChanged: (value) => @@ -102,7 +101,7 @@ class SearchID extends StatelessWidget { SizedBox( height: 12.h, ), - CustomButton( + CustomButtonWidget( text: '확인메일 전송', color: Colors.white, backgroundColor: Color(0xff2D64D8), @@ -111,7 +110,7 @@ class SearchID extends StatelessWidget { SizedBox( height: 12.h, ), - CustomButton( + CustomButtonWidget( text: '로그인 하러가기', color: Colors.white, backgroundColor: Color(0xff111111), @@ -119,7 +118,7 @@ class SearchID extends StatelessWidget { Navigator.push( context, MaterialPageRoute( - builder: (context) => NewLoignMain(), + builder: (context) => LoginScreen(), ), ); }, diff --git a/lib/views/Login_page_searchPW.dart b/lib/views/SearchPasswordScreen.dart similarity index 89% rename from lib/views/Login_page_searchPW.dart rename to lib/views/SearchPasswordScreen.dart index 0eafa27..0968583 100644 --- a/lib/views/Login_page_searchPW.dart +++ b/lib/views/SearchPasswordScreen.dart @@ -1,22 +1,20 @@ -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:provider/provider.dart'; -import 'package:suwon/viewmodels/AccountRecovery_viewmodel.dart'; -import 'package:suwon/views/login_screen.dart'; -import 'package:suwon/views/widgets/appbar.dart'; -import 'package:suwon/views/widgets/csbutton.dart'; -import 'package:suwon/views/widgets/emailfield.dart'; -import 'package:suwon/views/widgets/idfield.dart'; +import 'package:suwon/viewmodels/AccountRecoveryVM.dart'; +import 'package:suwon/views/LoginScreen.dart'; +import 'package:suwon/views/widgets/SuchatAppBarWidget.dart'; +import 'package:suwon/views/widgets/CustomButtonWidget.dart'; +import 'package:suwon/views/widgets/EmailTextFieldWidget.dart'; +import 'package:suwon/views/widgets/IdTextFieldWidget.dart'; -class SearchPW extends StatelessWidget { +class SearchPasswordScreen extends StatelessWidget { final GlobalKey _formKey = GlobalKey(); - SearchPW({super.key}); + SearchPasswordScreen({super.key}); @override Widget build(BuildContext context) { - final accountRecoveryViewModel = - Provider.of(context); + final accountRecoveryViewModel = Provider.of(context); return ScreenUtilInit( designSize: Size(390, 844), @@ -30,7 +28,7 @@ class SearchPW extends StatelessWidget { children: [ Container( margin: EdgeInsets.symmetric(horizontal: 20.w), - child: SuchatAppBar( + child: SuchatAppBarWidget( text: '비밀번호 찾기', onPressed: () { accountRecoveryViewModel.idController.clear(); @@ -40,7 +38,7 @@ class SearchPW extends StatelessWidget { Navigator.push( context, MaterialPageRoute( - builder: (context) => const NewLoignMain()), + builder: (context) => const LoginScreen()), ); }, ), @@ -53,7 +51,7 @@ class SearchPW extends StatelessWidget { SizedBox( height: 42.h, ), - IdFD( + IdTextFieldWidget( controller: accountRecoveryViewModel.idController, onChanged: (value) => accountRecoveryViewModel @@ -61,7 +59,7 @@ class SearchPW extends StatelessWidget { SizedBox( height: 21.h, ), - EmailFD( + EmailTextFieldWidget( controller: accountRecoveryViewModel.emailController, onChanged: (value) => @@ -110,7 +108,7 @@ class SearchPW extends StatelessWidget { SizedBox( height: 12.h, ), - CustomButton( + CustomButtonWidget( text: '인증코드 전송', color: Colors.white, backgroundColor: Color(0xff2D64D8), diff --git a/lib/views/setprofile.dart b/lib/views/SetProfileScreen.dart similarity index 93% rename from lib/views/setprofile.dart rename to lib/views/SetProfileScreen.dart index a85c009..29d4f43 100644 --- a/lib/views/setprofile.dart +++ b/lib/views/SetProfileScreen.dart @@ -1,18 +1,18 @@ import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; -import 'package:suwon/views/signup_creen.dart'; -import 'package:suwon/views/widgets/appbar.dart'; -import 'package:suwon/viewmodels/signup_viewmodel.dart'; +import 'package:suwon/views/SignUpScreen.dart'; +import 'package:suwon/views/widgets/SuchatAppBarWidget.dart'; +import 'package:suwon/viewmodels/SignupVM.dart'; import 'package:provider/provider.dart'; -import 'package:suwon/views/widgets/csbutton.dart'; -import 'package:suwon/views/widgets/font.dart'; +import 'package:suwon/views/widgets/CustomButtonWidget.dart'; +import 'package:suwon/views/widgets/TextFontWidget.dart'; -class SetProfile extends StatelessWidget { +class SetProfileScreen extends StatelessWidget { final GlobalKey _formKey = GlobalKey(); @override Widget build(BuildContext context) { - final signupViewModel = Provider.of(context); + final signupViewModel = Provider.of(context); return ScreenUtilInit( designSize: Size(390, 844), builder: (context, child) => Scaffold( @@ -26,7 +26,7 @@ class SetProfile extends StatelessWidget { Container( //상단바 margin: EdgeInsets.symmetric(horizontal: 20.w), - child: SuchatAppBar( + child: SuchatAppBarWidget( text: ' 프로필 설정', onPressed: () { signupViewModel.idController.clear(); @@ -34,7 +34,7 @@ class SetProfile extends StatelessWidget { Navigator.push( context, MaterialPageRoute( - builder: (context) => SignupScreen(), + builder: (context) => SignUpScreen(), ), ); }, @@ -68,7 +68,7 @@ class SetProfile extends StatelessWidget { ), child: TextButton( onPressed: () {}, - child: TextFont.fontRegular( + child: TextFontWidget.fontRegular( color: Color(0xFFFFFFFF), fontSize: 14, text: '중복 확인')), @@ -86,7 +86,7 @@ class SetProfile extends StatelessWidget { SizedBox(height: 12.h), Self(controller: signupViewModel.selfController), SizedBox(height: 48.h), - CustomButton( + CustomButtonWidget( text: '시작하기', color: Colors.white, backgroundColor: Color(0xFF2D64D8), diff --git a/lib/views/signup_done.dart b/lib/views/SignUpDoneScreen.dart similarity index 94% rename from lib/views/signup_done.dart rename to lib/views/SignUpDoneScreen.dart index a6db652..392ee46 100644 --- a/lib/views/signup_done.dart +++ b/lib/views/SignUpDoneScreen.dart @@ -1,17 +1,17 @@ import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:suwon/views/widgets/NormalAlertDialogWidget.dart'; -import 'package:suwon/views/widgets/csbutton.dart'; -import 'package:suwon/views/login_screen.dart'; +import 'package:suwon/views/widgets/CustomButtonWidget.dart'; +import 'package:suwon/views/LoginScreen.dart'; -class SignUpDone extends StatefulWidget { - const SignUpDone({super.key}); +class SignUpDoneScreen extends StatefulWidget { + const SignUpDoneScreen({super.key}); @override _SignUpDoneState createState() => _SignUpDoneState(); } -class _SignUpDoneState extends State { +class _SignUpDoneState extends State { bool showCheck = false; @override @@ -90,7 +90,7 @@ class _SignUpDoneState extends State { ), ], ), - CustomButton( + CustomButtonWidget( text: '로그인', color: Colors.black, border: Border.all(width: 1, color: Color(0xFF2D64D8)), @@ -99,7 +99,7 @@ class _SignUpDoneState extends State { Navigator.push( context, MaterialPageRoute( - builder: (context) => NewLoignMain(), + builder: (context) => LoginScreen(), ), ); }, @@ -107,7 +107,7 @@ class _SignUpDoneState extends State { SizedBox( height: 12.h, ), - CustomButton( + CustomButtonWidget( text: '메일 재발송', backgroundColor: Color(0xFF111111), onPressed: () { diff --git a/lib/views/signup_creen.dart b/lib/views/SignUpScreen.dart similarity index 89% rename from lib/views/signup_creen.dart rename to lib/views/SignUpScreen.dart index 4d3283e..4c14b3d 100644 --- a/lib/views/signup_creen.dart +++ b/lib/views/SignUpScreen.dart @@ -1,20 +1,20 @@ import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; -import 'package:suwon/views/login_screen.dart'; -import 'package:suwon/views/signup_done.dart'; -import 'package:suwon/views/widgets/appbar.dart'; -import 'package:suwon/viewmodels/signup_viewmodel.dart'; +import 'package:suwon/views/LoginScreen.dart'; +import 'package:suwon/views/SignUpDoneScreen.dart'; +import 'package:suwon/views/widgets/SuchatAppBarWidget.dart'; +import 'package:suwon/viewmodels/SignupVM.dart'; import 'package:provider/provider.dart'; -import 'package:suwon/views/widgets/csbutton.dart'; -import 'package:suwon/views/widgets/emailfield.dart'; -import 'package:suwon/views/widgets/font.dart'; +import 'package:suwon/views/widgets/CustomButtonWidget.dart'; +import 'package:suwon/views/widgets/EmailTextFieldWidget.dart'; +import 'package:suwon/views/widgets/TextFontWidget.dart'; -class SignupScreen extends StatelessWidget { +class SignUpScreen extends StatelessWidget { final GlobalKey _formKey = GlobalKey(); @override Widget build(BuildContext context) { - final signupViewModel = Provider.of(context); + final signupViewModel = Provider.of(context); return ScreenUtilInit( designSize: Size(390, 844), builder: (context, child) => Scaffold( @@ -28,7 +28,7 @@ class SignupScreen extends StatelessWidget { Container( //상단바 margin: EdgeInsets.symmetric(horizontal: 20.w), - child: SuchatAppBar( + child: SuchatAppBarWidget( text: ' 회원가입', onPressed: () { signupViewModel.idController.clear(); @@ -38,7 +38,7 @@ class SignupScreen extends StatelessWidget { Navigator.push( context, MaterialPageRoute( - builder: (context) => NewLoignMain(), + builder: (context) => LoginScreen(), ), ); }, @@ -88,12 +88,12 @@ class SignupScreen extends StatelessWidget { : Icons.visibility, ), SizedBox(height: 46.h), - EmailFD( + EmailTextFieldWidget( controller: signupViewModel.emailController, onChanged: (value) => signupViewModel.isEmailValid), SizedBox(height: 57.h), - CustomButton( + CustomButtonWidget( text: '회원가입', color: Colors.white, backgroundColor: Color(0xFF111111), @@ -101,7 +101,8 @@ class SignupScreen extends StatelessWidget { Navigator.push( context, MaterialPageRoute( - builder: (context) => SignUpDone()), + builder: (context) => + SignUpDoneScreen()), ); }), SizedBox( @@ -110,7 +111,7 @@ class SignupScreen extends StatelessWidget { Row( mainAxisAlignment: MainAxisAlignment.center, children: [ - TextFont.fontSemiBold( + TextFontWidget.fontSemiBold( text: '회원가입 시 ', fontSize: 12.sp, color: Color(0xFF989898), @@ -119,13 +120,13 @@ class SignupScreen extends StatelessWidget { onTap: () { // 버튼이 클릭되었을 때 실행될 코드 }, - child: TextFont.fontSemiBold( + child: TextFontWidget.fontSemiBold( text: '서비스 이용약관', fontSize: 12.sp, color: Color(0xFF2D64D8), ), ), - TextFont.fontSemiBold( + TextFontWidget.fontSemiBold( text: ' 및 ', fontSize: 12.sp, color: Color(0xFF989898), @@ -134,7 +135,7 @@ class SignupScreen extends StatelessWidget { onTap: () { // 버튼이 클릭되었을 때 실행될 코드 }, - child: TextFont.fontSemiBold( + child: TextFontWidget.fontSemiBold( text: '개인정보 처리방침', fontSize: 12.sp, color: Color(0xFF2D64D8), @@ -142,7 +143,7 @@ class SignupScreen extends StatelessWidget { ), ], ), - TextFont.fontSemiBold( + TextFontWidget.fontSemiBold( text: '하신 것으로 간주됩니다', fontSize: 12.sp, color: Color(0xFF989898), @@ -163,7 +164,7 @@ class SignupScreen extends StatelessWidget { class IdInputFD extends StatelessWidget { @override Widget build(BuildContext context) { - final signupViewModel = Provider.of(context); + final signupViewModel = Provider.of(context); return Column( children: [ Row( @@ -212,7 +213,7 @@ class IdInputFD extends StatelessWidget { ), child: TextButton( onPressed: () {}, - child: TextFont.fontRegular( + child: TextFontWidget.fontRegular( color: Color(0xFFFFFFFF), fontSize: 14, text: '중복 확인')), ), ), diff --git a/lib/views/screens/LoginScreen.dart b/lib/views/screens/LoginScreen.dart new file mode 100644 index 0000000..60f5466 --- /dev/null +++ b/lib/views/screens/LoginScreen.dart @@ -0,0 +1,178 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'package:suwon/views/ChangePasswordScreen.dart'; +import 'package:suwon/views/SearchIdScreen.dart'; +import 'package:suwon/views/HomeScreen.dart'; +import 'package:suwon/views/SignUpScreen.dart'; +import 'package:suwon/views/widgets/CustomButtonWidget.dart'; +import 'package:provider/provider.dart'; +import 'package:suwon/viewmodels/LoginVM.dart'; +import 'package:suwon/views/widgets/TextFontWidget.dart'; + +import 'SearchPasswordScreen.dart'; + +class LoginScreen extends StatelessWidget { + const LoginScreen({super.key}); + + @override + Widget build(BuildContext context) { + final loginViewModel = Provider.of(context); + return ScreenUtilInit( + designSize: Size(390, 844), + builder: (context, child) => Scaffold( + resizeToAvoidBottomInset: false, + body: Container( + margin: EdgeInsets.only(top: 63.h), + child: Column(children: [ + Container( + height: 268.h, + width: double.infinity, + margin: EdgeInsets.only(left: 32.w), + child: Image( + fit: BoxFit.fill, + image: AssetImage('assetes/bubble.PNG'), + ), + ), + SizedBox(height: 32.h), + Container( + margin: EdgeInsets.symmetric(horizontal: 32.w), + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + InputFD( + //ID 입력창 + onChanged: (value) => loginViewModel.setUserid(value), + hintText: 'ID'), + SizedBox( + height: 10.h, + ), + InputFD( + // PW 입력창 + onChanged: (value) => loginViewModel.setUserpw(value), + hintText: 'PW', + obscureText: true), + SizedBox(height: 24.h), + CustomButtonWidget( + // 로그인 버튼 + text: '로그인', + color: Colors.white, + backgroundColor: Color(0xff2d63d8), + onPressed: () async { + /*bool success = await loginViewModel.login(); + if (success) { + Navigator.push( + context, + MaterialPageRoute(builder: (context) => MainPage()), + ); + } else { + // 로그인 실패 처리 + } + */ + Navigator.push( + context, + MaterialPageRoute(builder: (context) => HomeScreen()), + ); + }), + Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + TextButton( + onPressed: () { + Navigator.push( + context, + MaterialPageRoute( + builder: (context) => const SearchIdScreen()), + ); + }, + child: TextFontWidget.fontRegular( + text: '아이디 찾기', + fontSize: 14.sp, + color: Color(0xFF232323))), + TextFontWidget.fontRegular( + text: '/', fontSize: 16.sp, color: Color(0xFFBFBFBF)), + TextButton( + onPressed: () { + Navigator.push( + context, + MaterialPageRoute( + builder: (context) => SearchPasswordScreen()), + ); + }, + child: TextFontWidget.fontRegular( + text: '비밀번호 찾기', + fontSize: 14.sp, + color: Color(0xFF232323))), + ], + ), + SizedBox( + height: 20.h, + ), + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + SizedBox( + width: 90.w, + child: Divider( + thickness: 1, + color: Colors.grey, + )), + TextFontWidget.fontRegular( + text: '계정이 없으신가요?', + fontSize: 14.sp, + color: Color(0xFF767676)), + SizedBox( + width: 90.w, + child: Divider( + thickness: 1, + color: Colors.grey, + )), + ], + ), + SizedBox( + height: 18.h, + ), + CustomButtonWidget( + text: '회원가입', + color: Colors.white, + backgroundColor: Color(0xFF111111), + onPressed: () { + Navigator.push( + context, + MaterialPageRoute( + builder: (context) => SignUpScreen()), + ); + }), + ], + ), + ), + ]), + ), + ), + ); + } + + Widget InputFD({ + required ValueChanged onChanged, + required String hintText, + bool obscureText = false, + }) { + return SizedBox( + height: 55.h, + width: double.maxFinite, + child: TextFormField( + onChanged: onChanged, + obscureText: obscureText, + decoration: InputDecoration( + border: OutlineInputBorder( + borderRadius: BorderRadius.circular(10), + ), + labelStyle: TextStyle( + fontFamily: 'Pretendard-Regular', + fontSize: 14.sp, + ), + hintText: hintText, + ), + ), + ); + } +} diff --git a/lib/views/widgets/csbutton.dart b/lib/views/widgets/CustomButtonWidget.dart similarity index 92% rename from lib/views/widgets/csbutton.dart rename to lib/views/widgets/CustomButtonWidget.dart index 5b6b268..cc7f6a0 100644 --- a/lib/views/widgets/csbutton.dart +++ b/lib/views/widgets/CustomButtonWidget.dart @@ -1,14 +1,14 @@ import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; -class CustomButton extends StatelessWidget { +class CustomButtonWidget extends StatelessWidget { final String text; final Color backgroundColor; final VoidCallback onPressed; final Border? border; final Color color; - const CustomButton({ + const CustomButtonWidget({ required this.text, required this.backgroundColor, required this.onPressed, diff --git a/lib/views/widgets/DrawerAppBarWidget.dart b/lib/views/widgets/DrawerAppBarWidget.dart index 15ad629..0c1f8dc 100644 --- a/lib/views/widgets/DrawerAppBarWidget.dart +++ b/lib/views/widgets/DrawerAppBarWidget.dart @@ -40,7 +40,7 @@ class DrawerAppBarWidget extends StatelessWidget { IconButton( onPressed: onPressed, icon: Image.asset( - 'asstes/close.png', + 'assets/close.png', scale: iconScale, ), ), diff --git a/lib/views/widgets/emailfield.dart b/lib/views/widgets/EmailTextFieldWidget.dart similarity index 87% rename from lib/views/widgets/emailfield.dart rename to lib/views/widgets/EmailTextFieldWidget.dart index 6dc668c..0eeaaa5 100644 --- a/lib/views/widgets/emailfield.dart +++ b/lib/views/widgets/EmailTextFieldWidget.dart @@ -1,11 +1,11 @@ import 'package:flutter/material.dart'; -import 'package:suwon/views/widgets/font.dart'; +import 'package:suwon/views/widgets/TextFontWidget.dart'; -class EmailFD extends StatelessWidget { +class EmailTextFieldWidget extends StatelessWidget { final TextEditingController? controller; final ValueChanged? onChanged; - const EmailFD({ + const EmailTextFieldWidget({ required this.controller, required this.onChanged, }); @@ -34,7 +34,7 @@ class EmailFD extends StatelessWidget { fontWeight: FontWeight.w400, color: Color(0xFF989898), ), - suffix: TextFont.fontRegular( + suffix: TextFontWidget.fontRegular( text: '@ suwon.ac.kr', fontSize: 16, color: Color(0xFF000000)), diff --git a/lib/views/widgets/idfield.dart b/lib/views/widgets/IdTextFieldWidget.dart similarity index 89% rename from lib/views/widgets/idfield.dart rename to lib/views/widgets/IdTextFieldWidget.dart index f377490..cbb338e 100644 --- a/lib/views/widgets/idfield.dart +++ b/lib/views/widgets/IdTextFieldWidget.dart @@ -1,14 +1,14 @@ import 'package:flutter/material.dart'; -import 'package:suwon/views/widgets/font.dart'; +import 'package:suwon/views/widgets/TextFontWidget.dart'; -class IdFD extends StatelessWidget { +class IdTextFieldWidget extends StatelessWidget { final TextEditingController? controller; final ValueChanged? onChanged; - const IdFD({ + const IdTextFieldWidget({ required this.controller, required this.onChanged, -}); + }); @override Widget build(BuildContext context) { diff --git a/lib/views/widgets/appbar.dart b/lib/views/widgets/SuchatAppBarWidget.dart similarity index 95% rename from lib/views/widgets/appbar.dart rename to lib/views/widgets/SuchatAppBarWidget.dart index 6c50e1f..e3ff747 100644 --- a/lib/views/widgets/appbar.dart +++ b/lib/views/widgets/SuchatAppBarWidget.dart @@ -1,11 +1,11 @@ import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; -class SuchatAppBar extends StatelessWidget { +class SuchatAppBarWidget extends StatelessWidget { final String text; final VoidCallback onPressed; - const SuchatAppBar({ + const SuchatAppBarWidget({ required this.text, required this.onPressed, }); diff --git a/lib/views/widgets/font.dart b/lib/views/widgets/TextFontWidget.dart similarity index 97% rename from lib/views/widgets/font.dart rename to lib/views/widgets/TextFontWidget.dart index 6c93f7e..ae651a6 100644 --- a/lib/views/widgets/font.dart +++ b/lib/views/widgets/TextFontWidget.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; -class TextFont { +class TextFontWidget { static Widget fontRegular({ required String text, required double fontSize, diff --git a/pubspec.lock b/pubspec.lock index 0b95113..101c1db 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -45,10 +45,10 @@ packages: dependency: transitive description: name: collection - sha256: "4a07be6cb69c84d677a6c3096fcf960cc3285a8330b4603e0d463d15d9bd934c" + sha256: f092b211a4319e98e5ff58223576de6c2803db36221657b46c82574721240687 url: "https://pub.dev" source: hosted - version: "1.17.1" + version: "1.17.2" cupertino_icons: dependency: "direct main" description: @@ -99,14 +99,6 @@ packages: description: flutter source: sdk version: "0.0.0" - js: - dependency: transitive - description: - name: js - sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3 - url: "https://pub.dev" - source: hosted - version: "0.6.7" lints: dependency: transitive description: @@ -119,18 +111,18 @@ packages: dependency: transitive description: name: matcher - sha256: "6501fbd55da300384b768785b83e5ce66991266cec21af89ab9ae7f5ce1c4cbb" + sha256: "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e" url: "https://pub.dev" source: hosted - version: "0.12.15" + version: "0.12.16" material_color_utilities: dependency: transitive description: name: material_color_utilities - sha256: d92141dc6fe1dad30722f9aa826c7fbc896d021d792f80678280601aff8cf724 + sha256: "9528f2f296073ff54cb9fee677df673ace1218163c3bc7628093e7eed5203d41" url: "https://pub.dev" source: hosted - version: "0.2.0" + version: "0.5.0" meta: dependency: transitive description: @@ -188,10 +180,10 @@ packages: dependency: transitive description: name: source_span - sha256: dd904f795d4b4f3b870833847c461801f6750a9fa8e61ea5ac53f9422b31f250 + sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" url: "https://pub.dev" source: hosted - version: "1.9.1" + version: "1.10.0" stack_trace: dependency: transitive description: @@ -228,10 +220,10 @@ packages: dependency: transitive description: name: test_api - sha256: eb6ac1540b26de412b3403a163d919ba86f6a973fe6cc50ae3541b80092fdcfb + sha256: "75760ffd7786fffdfb9597c35c5b27eaeec82be8edfb6d71d32651128ed7aab8" url: "https://pub.dev" source: hosted - version: "0.5.1" + version: "0.6.0" vector_graphics: dependency: transitive description: @@ -264,6 +256,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.4" + web: + dependency: transitive + description: + name: web + sha256: dc8ccd225a2005c1be616fe02951e2e342092edf968cf0844220383757ef8f10 + url: "https://pub.dev" + source: hosted + version: "0.1.4-beta" xml: dependency: transitive description: @@ -273,5 +273,5 @@ packages: source: hosted version: "6.3.0" sdks: - dart: ">=3.0.3 <4.0.0" + dart: ">=3.1.0-185.0.dev <4.0.0" flutter: ">=3.10.0" diff --git a/pubspec.yaml b/pubspec.yaml index 940e218..8b75cd3 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -2,7 +2,7 @@ name: suwon description: flag project # The following line prevents the package from being accidentally published to # pub.dev using `flutter pub publish`. This is preferred for private packages. -publish_to: 'none' # Remove this line if you wish to publish to pub.dev +publish_to: "none" # Remove this line if you wish to publish to pub.dev # The following defines the version and build number for your application. # A version number is three numbers separated by dots, like 1.2.43 @@ -19,7 +19,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev version: 1.0.0+1 environment: - sdk: '>=3.0.3 <4.0.0' + sdk: ">=3.0.3 <4.0.0" # Dependencies specify other packages that your package needs in order to work. # To automatically upgrade your package dependencies to the latest versions @@ -30,12 +30,10 @@ environment: dependencies: flutter_svg: ^2.0.7 flutter_screenutil: ^5.8.4 - + flutter: sdk: flutter provider: ^6.0.5 - - # The following adds the Cupertino Icons font to your application. # Use with the CupertinoIcons class for iOS style icons. @@ -57,7 +55,6 @@ dev_dependencies: # The following section is specific to Flutter packages. flutter: - # The following line ensures that the Material Icons font is # included with your application, so that you can use the icons in # the material Icons class. @@ -65,9 +62,9 @@ flutter: # To add assets to your application, add an assets section, like this: assets: - - asstes/bubble.PNG - - asstes/SUCHAT.png - - asstes/ + - assets/bubble.PNG + - assets/SUCHAT.png + - assets/ # An image asset can refer to one or more resolution-specific "variants", see # https://flutter.dev/assets-and-images/#resolution-aware @@ -83,19 +80,19 @@ flutter: fonts: - family: KCCChassam fonts: - - asset: asstes/font/KCC-Chassam.ttf + - asset: assets/font/KCC-Chassam.ttf style: normal - family: Pretendard-Light fonts: - - asset: asstes/font/Pretendard-Light.ttf + - asset: assets/font/Pretendard-Light.ttf style: normal - family: Pretendard-SemiBold fonts: - - asset: asstes/font/Pretendard-SemiBold.ttf + - asset: assets/font/Pretendard-SemiBold.ttf style: normal - family: Pretendard-Regular fonts: - - asset: asstes/font/Pretendard-Regular.ttf + - asset: assets/font/Pretendard-Regular.ttf style: normal #