diff --git a/assets/icons/icon_bob.svg b/assets/icons/icon_bob.svg new file mode 100644 index 0000000..25a26f6 --- /dev/null +++ b/assets/icons/icon_bob.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/lib/screens/onboarding_screen.dart b/lib/screens/onboarding_screen.dart index bf48223..fc11cac 100644 --- a/lib/screens/onboarding_screen.dart +++ b/lib/screens/onboarding_screen.dart @@ -1,6 +1,11 @@ import 'package:bobmoo/models/university.dart'; import 'package:bobmoo/providers/univ_provider.dart'; +import 'package:bobmoo/ui/components/buttons/primary_button.dart'; +import 'package:bobmoo/ui/theme/app_colors.dart'; +import 'package:bobmoo/ui/theme/app_typography.dart'; import 'package:flutter/material.dart'; +import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'package:flutter_svg/svg.dart'; import 'package:provider/provider.dart'; class OnboardingScreen extends StatefulWidget { @@ -14,11 +19,49 @@ class _OnboardingScreenState extends State { @override Widget build(BuildContext context) { return Scaffold( - body: TextButton( - onPressed: _openSelectSchool, - child: Center( - child: Text("시작하기", style: TextStyle(color: Colors.black)), - ), + body: Column( + children: [ + SizedBox( + height: 220.h, + ), + Row( + mainAxisAlignment: MainAxisAlignment.center, + spacing: 9.w, + children: [ + SvgPicture.asset( + 'assets/icons/icon_bob.svg', + width: 63.w, + ), + Text( + "밥묵자", + style: AppTypography.head.b48, + ), + ], + ), + SizedBox(height: 28), + Text( + "오늘 학식 뭐지?\n홈 화면에서 바로 확인하세요", + style: AppTypography.caption.r15.copyWith( + color: AppColors.colorGray3, + ), + textAlign: TextAlign.center, + ), + + Expanded(child: SizedBox()), + + PrimaryButton( + text: "시작하기", + onTap: _openSelectSchool, + ), + SizedBox(height: 12.h), + Text( + "로그인 없이도 바로 확인할 수 있어요", + style: AppTypography.caption.sb11.copyWith( + color: AppColors.colorGray3, + ), + ), + SizedBox(height: 45.h), + ], ), ); } diff --git a/lib/screens/select_school_screen.dart b/lib/screens/select_school_screen.dart index 9dcb52b..9a24db9 100644 --- a/lib/screens/select_school_screen.dart +++ b/lib/screens/select_school_screen.dart @@ -148,7 +148,7 @@ class _SelectSchoolScreenState extends State { child: TextField( onChanged: (value) => context.read().updateKeyword(value), - autofocus: true, + autofocus: false, style: AppTypography.search.sb15, decoration: InputDecoration( hintText: "학교를 검색해 주세요", diff --git a/lib/ui/components/buttons/primary_button.dart b/lib/ui/components/buttons/primary_button.dart index a0017e0..0a4703e 100644 --- a/lib/ui/components/buttons/primary_button.dart +++ b/lib/ui/components/buttons/primary_button.dart @@ -19,31 +19,30 @@ class PrimaryButton extends StatelessWidget { Widget build(BuildContext context) { return SizedBox( height: 53.h, - width: double.infinity, - child: Material( - color: AppColors.colorBlack, - borderRadius: BorderRadius.circular(15.r), - child: InkWell( - onTap: isLoading ? null : onTap, - borderRadius: BorderRadius.circular(15.r), - child: Center( - child: isLoading - ? SizedBox( - width: 20.w, - height: 20.w, - child: CircularProgressIndicator( - strokeWidth: 2, - color: Colors.white, - ), - ) - : Text( - text, - style: AppTypography.head.b21.copyWith( - color: AppColors.colorWhite, - ), - ), + width: 294.w, + child: FilledButton( + onPressed: isLoading ? null : onTap, + style: FilledButton.styleFrom( + backgroundColor: AppColors.colorBlack, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(15.r), ), ), + child: isLoading + ? SizedBox( + width: 20.w, + height: 20.w, + child: CircularProgressIndicator( + strokeWidth: 2, + color: Colors.white, + ), + ) + : Text( + text, + style: AppTypography.head.b21.copyWith( + color: AppColors.colorWhite, + ), + ), ), ); } diff --git a/pubspec.yaml b/pubspec.yaml index 57d8b9f..df4624e 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -18,7 +18,7 @@ dependencies: cupertino_icons: ^1.0.8 http: ^1.5.0 - flutter_svg: ^2.2.1 + flutter_svg: ^2.2.3 isar_community: version: ^3.3.0