From 872280f86fb945a71c79ca26e71f5713b480a11a Mon Sep 17 00:00:00 2001 From: hwoo7449 Date: Fri, 27 Feb 2026 00:37:36 +0900 Subject: [PATCH 1/5] =?UTF-8?q?add:=20=EB=B0=A5=EB=AC=B5=EC=9E=90=20?= =?UTF-8?q?=EC=95=84=EC=9D=B4=EC=BD=98(svg)=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/icons/icon_bob.svg | 8 ++++++++ pubspec.yaml | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 assets/icons/icon_bob.svg 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/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 From b9c8ff3f9479711a2a51f9abf0b30ce6827e6d79 Mon Sep 17 00:00:00 2001 From: hwoo7449 Date: Fri, 27 Feb 2026 00:37:51 +0900 Subject: [PATCH 2/5] =?UTF-8?q?feat:=20=EC=A3=BC=EC=9A=94=EB=B2=84?= =?UTF-8?q?=ED=8A=BC=20=EB=84=88=EB=B9=84=20=EA=B3=A0=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/ui/components/buttons/primary_button.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/ui/components/buttons/primary_button.dart b/lib/ui/components/buttons/primary_button.dart index a0017e0..391be75 100644 --- a/lib/ui/components/buttons/primary_button.dart +++ b/lib/ui/components/buttons/primary_button.dart @@ -19,7 +19,7 @@ class PrimaryButton extends StatelessWidget { Widget build(BuildContext context) { return SizedBox( height: 53.h, - width: double.infinity, + width: 294.w, child: Material( color: AppColors.colorBlack, borderRadius: BorderRadius.circular(15.r), From b7afb60d15e1d8de74c5eeb546f08aa9560a73a0 Mon Sep 17 00:00:00 2001 From: hwoo7449 Date: Fri, 27 Feb 2026 00:44:31 +0900 Subject: [PATCH 3/5] =?UTF-8?q?style:=20=EC=98=A8=EB=B3=B4=EB=94=A9=20?= =?UTF-8?q?=ED=99=94=EB=A9=B4=20=EB=94=94=EC=9E=90=EC=9D=B8=20=EA=B0=9C?= =?UTF-8?q?=ED=8E=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/screens/onboarding_screen.dart | 53 +++++++++++++++++++++++++++--- 1 file changed, 48 insertions(+), 5 deletions(-) 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), + ], ), ); } From a4081b00ab8228a63cf8379d4ca57f6890221de0 Mon Sep 17 00:00:00 2001 From: hwoo7449 Date: Fri, 27 Feb 2026 01:04:39 +0900 Subject: [PATCH 4/5] =?UTF-8?q?refactor:=20=EB=B2=84=ED=8A=BC=20=EA=B5=AC?= =?UTF-8?q?=EC=A1=B0=20FilledButton=20=EB=8F=84=EC=9E=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/ui/components/buttons/primary_button.dart | 43 +++++++++---------- 1 file changed, 21 insertions(+), 22 deletions(-) diff --git a/lib/ui/components/buttons/primary_button.dart b/lib/ui/components/buttons/primary_button.dart index 391be75..0a4703e 100644 --- a/lib/ui/components/buttons/primary_button.dart +++ b/lib/ui/components/buttons/primary_button.dart @@ -20,30 +20,29 @@ class PrimaryButton extends StatelessWidget { return SizedBox( height: 53.h, width: 294.w, - 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, - ), - ), + 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, + ), + ), ), ); } From efb3de10b6dd5a40e2ed4bdffb58146ec77bf781 Mon Sep 17 00:00:00 2001 From: hwoo7449 Date: Fri, 27 Feb 2026 01:13:29 +0900 Subject: [PATCH 5/5] =?UTF-8?q?refactor:=20=ED=95=99=EA=B5=90=20=EC=84=A0?= =?UTF-8?q?=ED=83=9D=20=ED=99=94=EB=A9=B4=20=EA=B2=80=EC=83=89=EC=B0=BD=20?= =?UTF-8?q?=EC=9E=90=EB=8F=99=20=ED=8F=AC=EC=BB=A4=EC=8A=A4=20=EC=A0=9C?= =?UTF-8?q?=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/screens/select_school_screen.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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: "학교를 검색해 주세요",