From d416f346e352b90dd42e2d79e89ead9c7e38fa40 Mon Sep 17 00:00:00 2001 From: sunga Date: Wed, 14 Aug 2024 04:19:52 +0900 Subject: [PATCH 1/4] =?UTF-8?q?feat=20:=20=EB=A9=94=EC=9D=B8=20=ED=8E=98?= =?UTF-8?q?=EC=9D=B4=EC=A7=80=20UI=20=EB=94=94=EC=9E=90=EC=9D=B8=20?= =?UTF-8?q?=EB=B0=98=EC=98=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit issues : #27 --- .DS_Store | Bin 6148 -> 6148 bytes frontend/assets/icons/camera.svg | 3 + frontend/assets/icons/home.svg | 3 + frontend/assets/icons/main_background.svg | 34 ++++ frontend/assets/icons/mypage.svg | 3 + frontend/assets/icons/search.svg | 6 +- .../icons/{camera.png => splash_camera.png} | Bin frontend/lib/colors/app_colors.dart | 10 +- frontend/lib/main.dart | 8 +- frontend/lib/pages/detail_page.dart | 190 ++---------------- frontend/lib/pages/home_page.dart | 125 ++++++++++-- frontend/lib/pages/my_page.dart | 2 +- frontend/lib/pages/search_page.dart | 2 +- .../widgets/custom_bottom_navigation_bar.dart | 15 +- frontend/lib/widgets/main_app_bar.dart | 9 +- frontend/lib/widgets/search_box.dart | 57 ++++-- frontend/pubspec.yaml | 6 + 17 files changed, 233 insertions(+), 240 deletions(-) create mode 100644 frontend/assets/icons/camera.svg create mode 100644 frontend/assets/icons/home.svg create mode 100644 frontend/assets/icons/main_background.svg create mode 100644 frontend/assets/icons/mypage.svg rename frontend/assets/icons/{camera.png => splash_camera.png} (100%) diff --git a/.DS_Store b/.DS_Store index 2a559d693a35f56dbe5d52e55f9c002ced87b135..c86c2f8fd59b638a43c3a8da7a819e92333d43a0 100644 GIT binary patch delta 236 zcmZoMXfc=|#>B`mu~2NHo}wr#0|Nsi1A_nqLkUAFLmop)PP$?6#Er}AK@uDcX$(aS z`9NVL$>jXp0-zj&@s2~O*wp0aySOCf1c{BX)Huc+^QDEG@_|42D^1 tB5c60u_u{rGdl-A2hbNAH-2ZH%rBzL1GE9;4~7OH-s~f?gLz^D3jpxcI9&h$ delta 92 zcmZoMXfc=|#>CJzu~2NHo}wrt0|NsP3otO0Fr+f%F{G3Q7v)VXRA*$IY``e8c?Y9E r+vW$15{#SKIruq%+BRQg{LVa?UqqJ^r1Jm}GfcMOk=`65vV<7`@)H%v diff --git a/frontend/assets/icons/camera.svg b/frontend/assets/icons/camera.svg new file mode 100644 index 0000000..7a43902 --- /dev/null +++ b/frontend/assets/icons/camera.svg @@ -0,0 +1,3 @@ + + + diff --git a/frontend/assets/icons/home.svg b/frontend/assets/icons/home.svg new file mode 100644 index 0000000..b3c34d8 --- /dev/null +++ b/frontend/assets/icons/home.svg @@ -0,0 +1,3 @@ + + + diff --git a/frontend/assets/icons/main_background.svg b/frontend/assets/icons/main_background.svg new file mode 100644 index 0000000..607b2d4 --- /dev/null +++ b/frontend/assets/icons/main_background.svg @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/frontend/assets/icons/mypage.svg b/frontend/assets/icons/mypage.svg new file mode 100644 index 0000000..81f7de7 --- /dev/null +++ b/frontend/assets/icons/mypage.svg @@ -0,0 +1,3 @@ + + + diff --git a/frontend/assets/icons/search.svg b/frontend/assets/icons/search.svg index 73710ad..7009ddc 100644 --- a/frontend/assets/icons/search.svg +++ b/frontend/assets/icons/search.svg @@ -1,4 +1,4 @@ - - - + + + diff --git a/frontend/assets/icons/camera.png b/frontend/assets/icons/splash_camera.png similarity index 100% rename from frontend/assets/icons/camera.png rename to frontend/assets/icons/splash_camera.png diff --git a/frontend/lib/colors/app_colors.dart b/frontend/lib/colors/app_colors.dart index 0db7482..2b26362 100644 --- a/frontend/lib/colors/app_colors.dart +++ b/frontend/lib/colors/app_colors.dart @@ -1,8 +1,10 @@ import 'package:flutter/material.dart'; class AppColors { - static const Color primaryColor = Color(0xffffffff); - static const Color selectedColor = Color(0xa0a0a0a0); - static const Color noSelectedColor = Color(0xcccccccc); - static const Color backgroundColor = Color(0xd9d9d9d9); + static const Color mainSkyColor = Color(0xFFB9EEF7); + static const Color mainWhiteColor = Color(0xFFFFFFFF); + static const Color mainOrangeColor = Color(0xFFFE8E5E); + static const Color recentSearchColor = Color(0xFFDCEDF0); + static const Color thinFontsColor = Color(0xFF93A5A9); + static const Color boldFontsColor = Color(0xFF567278); } diff --git a/frontend/lib/main.dart b/frontend/lib/main.dart index d79b070..3442869 100644 --- a/frontend/lib/main.dart +++ b/frontend/lib/main.dart @@ -1,6 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:frontend/pages/my_page.dart'; -import 'package:frontend/pages/detail_page.dart'; +import 'package:frontend/pages/home_page.dart'; void main() { runApp(const MyApp()); @@ -32,9 +31,6 @@ class MyHomePage extends StatefulWidget { class _MyHomePageState extends State { @override Widget build(BuildContext context) { - // return const HomePage(); - // return const SearchPage(); - // return const MyPage(); - return const DetailPage(); + return const HomePage(); } } diff --git a/frontend/lib/pages/detail_page.dart b/frontend/lib/pages/detail_page.dart index d300e93..d1b9402 100644 --- a/frontend/lib/pages/detail_page.dart +++ b/frontend/lib/pages/detail_page.dart @@ -1,190 +1,34 @@ import 'package:flutter/material.dart'; +import 'package:flutter_svg/flutter_svg.dart'; // SvgPicture 사용을 위해 추가 import 'package:frontend/widgets/custom_bottom_navigation_bar.dart'; -import 'package:frontend/widgets/detail_app_bar.dart'; +import 'package:frontend/widgets/main_app_bar.dart'; -class DetailPage extends StatelessWidget { - const DetailPage({super.key}); +class HomePage extends StatelessWidget { + const HomePage({super.key}); @override Widget build(BuildContext context) { return Scaffold( - appBar: const DetailAppBar(), - body: CustomScrollView( - slivers: [ - SliverAppBar( - expandedHeight: 400.0, - pinned: true, - flexibleSpace: FlexibleSpaceBar( - background: Stack( - fit: StackFit.expand, - children: [ - Image.asset( - 'assets/icons/logo.png', - fit: BoxFit.cover, - ), - Container( - decoration: const BoxDecoration( - gradient: LinearGradient( - begin: Alignment.topCenter, - end: Alignment.bottomCenter, - colors: [Colors.transparent, Colors.black54], - ), - ), - ), - Positioned( - bottom: 16.0, // 텍스트와 버튼의 위치 조정 - left: 16.0, - right: 16.0, - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - const Text( - '아기 공룡 둘리', - style: TextStyle( - color: Colors.white, - fontSize: 24.0, - fontWeight: FontWeight.bold, - ), - ), - const SizedBox(height: 8.0), - Row( - children: [ - _buildLocationButton('부산'), - const SizedBox(width: 8.0), - _buildLocationButton('울산'), - const SizedBox(width: 8.0), - _buildLocationButton('경남'), - ], - ), - ], - ), - ), - ], - ), + appBar: const MainAppBar(), + body: Stack( + children: [ + Positioned.fill( + child: SvgPicture.asset( + 'assets/icons/main_background.svg', + fit: BoxFit.cover, ), ), - SliverToBoxAdapter( - child: Container( - decoration: const BoxDecoration( - color: Colors.white, - borderRadius: BorderRadius.only( - topLeft: Radius.circular(16.0), - topRight: Radius.circular(16.0), - ), - ), - padding: const EdgeInsets.all(16.0), - child: ListView.builder( - shrinkWrap: true, - physics: - const NeverScrollableScrollPhysics(), // ListView 자체의 스크롤을 막고 전체 페이지 스크롤 사용 - itemCount: 10, - itemBuilder: (context, index) { - return _buildListItem(index + 1, '항목 제목', '항목 설명'); - }, + const Column( + children: [ + SizedBox( + height: 500, // 이미지의 높이 + width: double.infinity, ), - ), + ], ), ], ), bottomNavigationBar: const CustomBottomNavigationBar(), ); } - - Widget _buildListItem(int index, String title, String description) { - return Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Padding( - padding: const EdgeInsets.only( - top: 8.0, - bottom: 8.0, - right: 6.0, - left: 6.0, - ), - child: Row( - crossAxisAlignment: CrossAxisAlignment.center, - children: [ - Container( - height: 80.0, - width: 80.0, - color: Colors.grey, - ), - const SizedBox(width: 16.0), - Expanded( - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text( - '$index화 / $title', - style: const TextStyle( - fontWeight: FontWeight.bold, - fontSize: 16.0, - ), - ), - const SizedBox(height: 4.0), - Text( - description, - style: const TextStyle( - fontSize: 14.0, - color: Colors.grey, - ), - ), - const SizedBox(height: 4.0), - const Row( - children: [ - Icon( - Icons.place, - color: Colors.grey, - size: 14.0, - ), - SizedBox(width: 4.0), - Expanded( - child: Text( - '부산광역시 남구 용소로45 국립부산대학교', - style: TextStyle( - fontSize: 12.0, - color: Colors.grey, - ), - ), - ), - ], - ), - ], - ), - ), - IconButton( - icon: const Icon(Icons.file_download), - onPressed: () { - // 다운로드 버튼 동작 - }, - alignment: Alignment.center, // 아이콘 위치를 중앙으로 맞춤 - ), - ], - ), - ), - const Divider( - color: Colors.orange, - thickness: 2.0, - height: 32.0, // 항목 위아래 간격을 동일하게 맞추기 위해 높이 설정 - ), - ], - ); - } -} - -Widget _buildLocationButton(String label) { - return ElevatedButton( - onPressed: () {}, - style: ElevatedButton.styleFrom( - backgroundColor: Colors.white.withOpacity(0.8), - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(20.0), - ), - padding: const EdgeInsets.symmetric(horizontal: 16.0), - ), - child: Text( - label, - style: const TextStyle(color: Colors.black), - ), - ); } diff --git a/frontend/lib/pages/home_page.dart b/frontend/lib/pages/home_page.dart index 5d4be52..13d82b2 100644 --- a/frontend/lib/pages/home_page.dart +++ b/frontend/lib/pages/home_page.dart @@ -1,39 +1,120 @@ import 'package:flutter/material.dart'; -import 'package:frontend/widgets/main_app_bar.dart'; +import 'package:flutter_svg/flutter_svg.dart'; import 'package:frontend/colors/app_colors.dart'; import 'package:frontend/widgets/custom_bottom_navigation_bar.dart'; import 'package:frontend/widgets/home_recommend_list.dart'; +import 'package:frontend/widgets/main_app_bar.dart'; import 'package:frontend/widgets/search_box.dart'; -class HomePage extends StatefulWidget { +class HomePage extends StatelessWidget { const HomePage({super.key}); - @override - _HomePageState createState() => _HomePageState(); -} - -class _HomePageState extends State { @override Widget build(BuildContext context) { - return const Scaffold( - appBar: MainAppBar(), - backgroundColor: AppColors.backgroundColor, + return Scaffold( + extendBodyBehindAppBar: true, + appBar: const MainAppBar(), body: SingleChildScrollView( - child: Padding( - padding: EdgeInsets.all(10.0), - child: Column( - children: [ - Text('data'), - SizedBox( - height: 200, - child: HomeRecommendList(), + child: Column( + children: [ + Container( + height: 600, + width: double.infinity, + decoration: BoxDecoration( + color: AppColors.mainSkyColor, + ), + child: Stack( + children: [ + Positioned( + top: 80, + right: 30, + child: SvgPicture.asset('assets/icons/main_duckcheol.svg'), + ), + Positioned( + top: 60, + left: 20, + child: Image.asset('assets/icons/logo.png'), + width: 100, + ), + Positioned( + top: 150, + left: 20, + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const Text( + '안녕하세요, 오리님', + style: TextStyle( + color: AppColors.boldFontsColor, + fontSize: 23, + fontWeight: FontWeight.bold, + ), + ), + const SizedBox( + height: 20, + ), + const Text( + '오늘의 추천 촬영지는\n바로 여기임', + style: TextStyle( + color: AppColors.thinFontsColor, + fontSize: 16, + ), + ), + ], + ), + ), + Positioned( + bottom: 0, + left: 0, + child: SizedBox( + height: 200, + child: HomeRecommendList(), + ), + ) + ], + ), + ), + Container( + decoration: BoxDecoration( + color: AppColors.mainWhiteColor, + ), + child: Column( + children: [ + SizedBox( + height: 30, + ), + SearchBox(), + SizedBox( + height: 30, + ), + Row( + children: [ + Padding( + padding: EdgeInsets.only(left: 20), + child: Text( + "오리님의 관심있는 콘텐츠", + style: TextStyle( + fontSize: 20, + fontWeight: FontWeight.bold, + ), + ), + ), + ], + ), + SizedBox( + height: 15, + ), + SizedBox( + height: 200, + child: HomeRecommendList(), + ), + ], ), - SearchBox(), - ], - ), + ), + ], ), ), - bottomNavigationBar: CustomBottomNavigationBar(), + bottomNavigationBar: const CustomBottomNavigationBar(), ); } } diff --git a/frontend/lib/pages/my_page.dart b/frontend/lib/pages/my_page.dart index 70c4110..154b686 100644 --- a/frontend/lib/pages/my_page.dart +++ b/frontend/lib/pages/my_page.dart @@ -17,7 +17,7 @@ class _MyPageState extends State { Widget build(BuildContext context) { return const Scaffold( appBar: MyAppBar(), - backgroundColor: AppColors.backgroundColor, + backgroundColor: AppColors.mainWhiteColor, body: Column( children: [ Padding( diff --git a/frontend/lib/pages/search_page.dart b/frontend/lib/pages/search_page.dart index 847252b..f4c50c2 100644 --- a/frontend/lib/pages/search_page.dart +++ b/frontend/lib/pages/search_page.dart @@ -17,7 +17,7 @@ class _SearchPageState extends State { @override Widget build(BuildContext context) { return const Scaffold( - backgroundColor: AppColors.backgroundColor, + backgroundColor: AppColors.mainWhiteColor, body: SingleChildScrollView( child: Padding( padding: EdgeInsets.only( diff --git a/frontend/lib/widgets/custom_bottom_navigation_bar.dart b/frontend/lib/widgets/custom_bottom_navigation_bar.dart index f21e20e..3983fdf 100644 --- a/frontend/lib/widgets/custom_bottom_navigation_bar.dart +++ b/frontend/lib/widgets/custom_bottom_navigation_bar.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'package:flutter_svg/flutter_svg.dart'; import 'package:frontend/colors/app_colors.dart'; class CustomBottomNavigationBar extends StatefulWidget { @@ -22,27 +23,27 @@ class _CustomBottomNavigationBarState extends State { @override Widget build(BuildContext context) { return BottomNavigationBar( - items: const [ + items: [ BottomNavigationBarItem( - icon: Icon(Icons.home), + icon: SvgPicture.asset('assets/icons/home.svg'), label: '홈', ), BottomNavigationBarItem( - icon: Icon(Icons.search), + icon: SvgPicture.asset('assets/icons/search.svg'), label: '검색', ), BottomNavigationBarItem( - icon: Icon(Icons.person), + icon: SvgPicture.asset('assets/icons/camera.svg'), label: '카메라', ), BottomNavigationBarItem( - icon: Icon(Icons.person), + icon: SvgPicture.asset('assets/icons/mypage.svg'), label: '마이페이지', ), ], currentIndex: _selectedIndex, - selectedItemColor: AppColors.selectedColor, - unselectedItemColor: AppColors.noSelectedColor, + selectedItemColor: AppColors.mainOrangeColor, + unselectedItemColor: AppColors.mainOrangeColor, onTap: _onItemTapped, type: BottomNavigationBarType.fixed, ); diff --git a/frontend/lib/widgets/main_app_bar.dart b/frontend/lib/widgets/main_app_bar.dart index 552ac7a..078f55d 100644 --- a/frontend/lib/widgets/main_app_bar.dart +++ b/frontend/lib/widgets/main_app_bar.dart @@ -1,5 +1,6 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/flutter_svg.dart'; +import 'package:frontend/colors/app_colors.dart'; class MainAppBar extends StatelessWidget implements PreferredSizeWidget { const MainAppBar({super.key}); @@ -9,18 +10,12 @@ class MainAppBar extends StatelessWidget implements PreferredSizeWidget { return AppBar( backgroundColor: Colors.transparent, elevation: 0, - // leading: Padding( - // padding: const EdgeInsets.only(left: 16.0), - // child: SvgPicture.asset( - // 'assets/icons/logo.svg', - // height: 40, - // ), - // ), actions: [ Padding( padding: const EdgeInsets.only(right: 20), child: SvgPicture.asset( 'assets/icons/menu.svg', + color: AppColors.mainOrangeColor, height: 20, ), ), diff --git a/frontend/lib/widgets/search_box.dart b/frontend/lib/widgets/search_box.dart index 0b63d56..bed2755 100644 --- a/frontend/lib/widgets/search_box.dart +++ b/frontend/lib/widgets/search_box.dart @@ -1,4 +1,6 @@ import 'package:flutter/material.dart'; +import 'package:flutter_svg/flutter_svg.dart'; +import 'package:frontend/colors/app_colors.dart'; class SearchBox extends StatefulWidget { const SearchBox({super.key}); @@ -11,25 +13,48 @@ class _SearchBoxState extends State { @override Widget build(BuildContext context) { return Container( - child: Padding( - padding: const EdgeInsets.all(16.0), - child: Column( - children: [ - TextField( - decoration: const InputDecoration( - hintText: '다양한 컨텐츠들을 검색해보아요.', - suffixIcon: Icon(Icons.search), - border: OutlineInputBorder( - borderRadius: BorderRadius.all(Radius.circular(10.0)), + padding: const EdgeInsets.all(16.0), + child: Column( + children: [ + TextField( + decoration: InputDecoration( + hintText: '다양한 컨텐츠들을 검색해보아요.', + suffixIcon: Padding( + padding: const EdgeInsets.all(10.0), // 아이콘 여백 조정 + child: SvgPicture.asset( + 'assets/icons/search.svg', + width: 20, // SVG 아이콘의 크기를 조정 + height: 20, + color: AppColors.mainOrangeColor, // 아이콘 색상 설정 + ), + ), + border: OutlineInputBorder( + borderRadius: const BorderRadius.all(Radius.circular(10.0)), + borderSide: BorderSide( + color: AppColors.mainOrangeColor, + width: 3.0, + ), + ), + enabledBorder: OutlineInputBorder( + borderRadius: const BorderRadius.all(Radius.circular(10.0)), + borderSide: BorderSide( + color: AppColors.mainOrangeColor, + width: 3.0, + ), + ), + focusedBorder: OutlineInputBorder( + borderRadius: const BorderRadius.all(Radius.circular(10.0)), + borderSide: BorderSide( + color: AppColors.mainOrangeColor, + width: 3.0, ), ), - onChanged: (text) { - // 검색어가 입력될 때 수행할 동작 - }, ), - // 다른 위젯 추가 가능 - ], - ), + onChanged: (text) { + // 검색어가 입력될 때 수행할 동작 + }, + ), + ], ), ); } diff --git a/frontend/pubspec.yaml b/frontend/pubspec.yaml index bd3481c..7d28ddc 100644 --- a/frontend/pubspec.yaml +++ b/frontend/pubspec.yaml @@ -56,6 +56,12 @@ flutter: assets: - assets/icons/menu.svg - assets/icons/logo.png + - assets/icons/main_duckcheol.svg + - assets/icons/main_background.svg + - assets/icons/home.svg + - assets/icons/search.svg + - assets/icons/camera.svg + - assets/icons/mypage.svg fonts: - family: Pretendard fonts: From c804a495beea217e7cad99e324617143fe145fbc Mon Sep 17 00:00:00 2001 From: sunga Date: Wed, 14 Aug 2024 04:38:27 +0900 Subject: [PATCH 2/4] =?UTF-8?q?feat=20:=20=EA=B2=80=EC=83=89=20=ED=8E=98?= =?UTF-8?q?=EC=9D=B4=EC=A7=80=20UI=20=EB=94=94=EC=9E=90=EC=9D=B8=20?= =?UTF-8?q?=EB=B0=98=EC=98=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit issues : #27 --- frontend/lib/main.dart | 3 +- frontend/lib/pages/search_page.dart | 71 +++++++++++++++---- frontend/lib/widgets/recent_search_word.dart | 5 +- frontend/lib/widgets/search_box.dart | 8 ++- .../lib/widgets/select_movie_drama_tab.dart | 13 +++- 5 files changed, 77 insertions(+), 23 deletions(-) diff --git a/frontend/lib/main.dart b/frontend/lib/main.dart index 3442869..1fe7c0e 100644 --- a/frontend/lib/main.dart +++ b/frontend/lib/main.dart @@ -1,5 +1,6 @@ import 'package:flutter/material.dart'; import 'package:frontend/pages/home_page.dart'; +import 'package:frontend/pages/search_page.dart'; void main() { runApp(const MyApp()); @@ -31,6 +32,6 @@ class MyHomePage extends StatefulWidget { class _MyHomePageState extends State { @override Widget build(BuildContext context) { - return const HomePage(); + return const SearchPage(); } } diff --git a/frontend/lib/pages/search_page.dart b/frontend/lib/pages/search_page.dart index f4c50c2..1af58de 100644 --- a/frontend/lib/pages/search_page.dart +++ b/frontend/lib/pages/search_page.dart @@ -16,26 +16,67 @@ class SearchPage extends StatefulWidget { class _SearchPageState extends State { @override Widget build(BuildContext context) { - return const Scaffold( + return Scaffold( backgroundColor: AppColors.mainWhiteColor, - body: SingleChildScrollView( - child: Padding( - padding: EdgeInsets.only( - left: 10.0, - right: 10.0, - top: 70.0, - ), - child: Column( + body: Stack( + children: [ + Column( children: [ - SearchBox(), - RecentSearchWord(), - SelectMovieDramaTab(), - SelectableCircle(), + Container( + height: 115, // 원하는 높이 설정 (SearchBox 높이의 절반) + color: AppColors.mainSkyColor, + ), + Expanded( + child: Container( + color: AppColors.mainWhiteColor, + ), + ), ], ), - ), + SingleChildScrollView( + child: Padding( + padding: const EdgeInsets.only( + left: 15.0, + right: 15.0, + top: 70.0, + ), + child: Column( + children: [ + const SearchBox(), + const SizedBox( + height: 5.0, + ), + const Row( + children: [ + Text( + "최근 검색어", + style: TextStyle( + fontSize: 18, + fontWeight: FontWeight.bold, + ), + ), + ], + ), + const SizedBox( + height: 10.0, + ), + const Row( + children: [ + RecentSearchWord(), + ], + ), + const SizedBox( + height: 30.0, + ), + const SelectMovieDramaTab(), + const SelectableCircle(), + ], + ), + ), + ), + ], ), - bottomNavigationBar: CustomBottomNavigationBar(), + bottomNavigationBar: const CustomBottomNavigationBar(), ); } } diff --git a/frontend/lib/widgets/recent_search_word.dart b/frontend/lib/widgets/recent_search_word.dart index cc10106..e9fa7c3 100644 --- a/frontend/lib/widgets/recent_search_word.dart +++ b/frontend/lib/widgets/recent_search_word.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'package:frontend/colors/app_colors.dart'; class RecentSearchWord extends StatelessWidget { const RecentSearchWord({super.key}); @@ -18,8 +19,8 @@ class RecentSearchWord extends StatelessWidget { width: 100, margin: const EdgeInsets.symmetric(horizontal: 4.0), decoration: BoxDecoration( - color: Colors.lightBlueAccent.shade100, - borderRadius: BorderRadius.circular(15.0), + color: AppColors.recentSearchColor, + borderRadius: BorderRadius.circular(18.0), ), child: Padding( padding: const EdgeInsets.symmetric(horizontal: 12.0, vertical: 8.0), diff --git a/frontend/lib/widgets/search_box.dart b/frontend/lib/widgets/search_box.dart index bed2755..01759af 100644 --- a/frontend/lib/widgets/search_box.dart +++ b/frontend/lib/widgets/search_box.dart @@ -28,22 +28,24 @@ class _SearchBoxState extends State { color: AppColors.mainOrangeColor, // 아이콘 색상 설정 ), ), + filled: true, // 배경을 채우기 위해 설정 + fillColor: Colors.white, // 배경을 흰색으로 설정 border: OutlineInputBorder( - borderRadius: const BorderRadius.all(Radius.circular(10.0)), + borderRadius: const BorderRadius.all(Radius.circular(15.0)), borderSide: BorderSide( color: AppColors.mainOrangeColor, width: 3.0, ), ), enabledBorder: OutlineInputBorder( - borderRadius: const BorderRadius.all(Radius.circular(10.0)), + borderRadius: const BorderRadius.all(Radius.circular(15.0)), borderSide: BorderSide( color: AppColors.mainOrangeColor, width: 3.0, ), ), focusedBorder: OutlineInputBorder( - borderRadius: const BorderRadius.all(Radius.circular(10.0)), + borderRadius: const BorderRadius.all(Radius.circular(15.0)), borderSide: BorderSide( color: AppColors.mainOrangeColor, width: 3.0, diff --git a/frontend/lib/widgets/select_movie_drama_tab.dart b/frontend/lib/widgets/select_movie_drama_tab.dart index df63e08..6550e67 100644 --- a/frontend/lib/widgets/select_movie_drama_tab.dart +++ b/frontend/lib/widgets/select_movie_drama_tab.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'package:frontend/colors/app_colors.dart'; class SelectMovieDramaTab extends StatefulWidget { const SelectMovieDramaTab({super.key}); @@ -34,14 +35,22 @@ class _SelectMovieDramaTabState extends State indicator: const BoxDecoration( border: Border( bottom: BorderSide( - color: Colors.orange, + color: AppColors.mainOrangeColor, width: 4.0, ), ), ), - indicatorSize: TabBarIndicatorSize.tab, // 이 속성으로 인디케이터 크기를 탭 크기에 맞춤 + indicatorSize: TabBarIndicatorSize.tab, // 인디케이터 크기를 탭 크기에 맞춤 labelColor: Colors.black, unselectedLabelColor: Colors.grey, + labelStyle: const TextStyle( + fontSize: 18.0, // 텍스트 크기 + fontWeight: FontWeight.bold, // 텍스트 굵기 + ), + unselectedLabelStyle: const TextStyle( + fontSize: 16.0, // 선택되지 않은 탭의 텍스트 크기 + fontWeight: FontWeight.normal, // 선택되지 않은 탭의 텍스트 굵기 + ), ); } } From 7276fbc647ba0bdcd11702682aa17515117d19b7 Mon Sep 17 00:00:00 2001 From: sunga Date: Wed, 14 Aug 2024 09:58:02 +0900 Subject: [PATCH 3/4] =?UTF-8?q?feat=20:=20=EC=B9=B4=EB=A9=94=EB=9D=BC=20?= =?UTF-8?q?=EA=B8=B0=EB=8A=A5=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit issues : #27 --- .../android/app/src/main/AndroidManifest.xml | 3 + frontend/assets/icons/back.svg | 3 + frontend/assets/icons/bookmark.svg | 3 + frontend/assets/images/frame1.png | Bin 0 -> 86846 bytes frontend/assets/images/frame2.png | Bin 0 -> 119411 bytes frontend/assets/images/frame3.png | Bin 0 -> 86032 bytes frontend/ios/Podfile.lock | 33 +-- frontend/ios/Runner.xcodeproj/project.pbxproj | 73 ++++- .../contents.xcworkspacedata | 3 + frontend/ios/Runner/Info.plist | 12 +- frontend/lib/main.dart | 3 +- frontend/lib/models/content_detail.dart | 89 ++++++ frontend/lib/models/content_dto.dart | 57 ++++ frontend/lib/pages/camera_page.dart | 102 +++++++ frontend/lib/pages/detail_page.dart | 275 ++++++++++++++++-- frontend/lib/pages/home_page.dart | 217 ++++++++------ frontend/lib/pages/search_page.dart | 9 +- frontend/lib/services/api_service.dart | 96 ++++++ frontend/lib/widgets/detail_app_bar.dart | 23 +- frontend/lib/widgets/home_recommend_list.dart | 66 ++++- frontend/lib/widgets/search_box.dart | 29 +- frontend/macos/Flutter/Flutter-Debug.xcconfig | 1 + .../macos/Flutter/Flutter-Release.xcconfig | 1 + .../Flutter/GeneratedPluginRegistrant.swift | 2 + frontend/pubspec.lock | 167 ++++++++++- frontend/pubspec.yaml | 8 + 26 files changed, 1111 insertions(+), 164 deletions(-) create mode 100644 frontend/assets/icons/back.svg create mode 100644 frontend/assets/icons/bookmark.svg create mode 100644 frontend/assets/images/frame1.png create mode 100644 frontend/assets/images/frame2.png create mode 100644 frontend/assets/images/frame3.png create mode 100644 frontend/lib/models/content_detail.dart create mode 100644 frontend/lib/models/content_dto.dart create mode 100644 frontend/lib/pages/camera_page.dart create mode 100644 frontend/lib/services/api_service.dart diff --git a/frontend/android/app/src/main/AndroidManifest.xml b/frontend/android/app/src/main/AndroidManifest.xml index 75e5d7d..cfc0249 100644 --- a/frontend/android/app/src/main/AndroidManifest.xml +++ b/frontend/android/app/src/main/AndroidManifest.xml @@ -1,5 +1,8 @@ + + + + + diff --git a/frontend/assets/icons/bookmark.svg b/frontend/assets/icons/bookmark.svg new file mode 100644 index 0000000..5772dc0 --- /dev/null +++ b/frontend/assets/icons/bookmark.svg @@ -0,0 +1,3 @@ + + + diff --git a/frontend/assets/images/frame1.png b/frontend/assets/images/frame1.png new file mode 100644 index 0000000000000000000000000000000000000000..13ac0c42e8c82081a7802b4efe4b9a9216be0b49 GIT binary patch literal 86846 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 z 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 literal 0 HcmV?d00001 diff --git a/frontend/assets/images/frame2.png b/frontend/assets/images/frame2.png new file mode 100644 index 0000000000000000000000000000000000000000..79364b972bf4598d2d16d46489c6092708827293 GIT binary patch literal 119411 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 z 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%0DQT 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 8.0) - - google_maps_flutter_ios (0.0.1): + - path_provider_foundation (0.0.1): - Flutter - - Google-Maps-iOS-Utils (< 7.0, >= 5.0) - - GoogleMaps (< 10.0, >= 8.4) - - GoogleMaps (8.4.0): - - GoogleMaps/Maps (= 8.4.0) - - GoogleMaps/Base (8.4.0) - - GoogleMaps/Maps (8.4.0): - - GoogleMaps/Base + - FlutterMacOS DEPENDENCIES: + - camera_avfoundation (from `.symlinks/plugins/camera_avfoundation/ios`) - Flutter (from `Flutter`) - - google_maps_flutter_ios (from `.symlinks/plugins/google_maps_flutter_ios/ios`) - -SPEC REPOS: - trunk: - - Google-Maps-iOS-Utils - - GoogleMaps + - path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/darwin`) EXTERNAL SOURCES: + camera_avfoundation: + :path: ".symlinks/plugins/camera_avfoundation/ios" Flutter: :path: Flutter - google_maps_flutter_ios: - :path: ".symlinks/plugins/google_maps_flutter_ios/ios" + path_provider_foundation: + :path: ".symlinks/plugins/path_provider_foundation/darwin" SPEC CHECKSUMS: + camera_avfoundation: dd002b0330f4981e1bbcb46ae9b62829237459a4 Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7 - Google-Maps-iOS-Utils: 66d6de12be1ce6d3742a54661e7a79cb317a9321 - google_maps_flutter_ios: e31555a04d1986ab130f2b9f24b6cdc861acc6d3 - GoogleMaps: 8939898920281c649150e0af74aa291c60f2e77d + path_provider_foundation: 2b6b4c569c0fb62ec74538f866245ac84301af46 PODFILE CHECKSUM: 1ae9405747c555b46415ec1fb8dd3e15c1cb409e diff --git a/frontend/ios/Runner.xcodeproj/project.pbxproj b/frontend/ios/Runner.xcodeproj/project.pbxproj index 85c470b..5da95c3 100644 --- a/frontend/ios/Runner.xcodeproj/project.pbxproj +++ b/frontend/ios/Runner.xcodeproj/project.pbxproj @@ -13,6 +13,7 @@ 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; + E734B2CE766F2A51B71DDC0C /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FCFB601F6DD8C7C9F338624E /* Pods_Runner.framework */; }; /* End PBXBuildFile section */ /* Begin PBXCopyFilesBuildPhase section */ @@ -32,6 +33,7 @@ 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; + 3D3114C7B8486E364A41DE02 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; @@ -42,6 +44,9 @@ 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + B5185CD4AFAB24EED1F5A9FD /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + FCFB601F6DD8C7C9F338624E /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + FDC8C249584EA57F36AB8655 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -49,12 +54,31 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + E734B2CE766F2A51B71DDC0C /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ + 11F484E32DBBFA57728D0092 /* Pods */ = { + isa = PBXGroup; + children = ( + 3D3114C7B8486E364A41DE02 /* Pods-Runner.debug.xcconfig */, + FDC8C249584EA57F36AB8655 /* Pods-Runner.release.xcconfig */, + B5185CD4AFAB24EED1F5A9FD /* Pods-Runner.profile.xcconfig */, + ); + path = Pods; + sourceTree = ""; + }; + 23808300D93881BD2EE67EF3 /* Frameworks */ = { + isa = PBXGroup; + children = ( + FCFB601F6DD8C7C9F338624E /* Pods_Runner.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; 9740EEB11CF90186004384FC /* Flutter */ = { isa = PBXGroup; children = ( @@ -72,6 +96,8 @@ 9740EEB11CF90186004384FC /* Flutter */, 97C146F01CF9000F007C117D /* Runner */, 97C146EF1CF9000F007C117D /* Products */, + 11F484E32DBBFA57728D0092 /* Pods */, + 23808300D93881BD2EE67EF3 /* Frameworks */, ); sourceTree = ""; }; @@ -105,12 +131,14 @@ isa = PBXNativeTarget; buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( + D1C57AC243232AF71A47000D /* [CP] Check Pods Manifest.lock */, 9740EEB61CF901F6004384FC /* Run Script */, 97C146EA1CF9000F007C117D /* Sources */, 97C146EB1CF9000F007C117D /* Frameworks */, 97C146EC1CF9000F007C117D /* Resources */, 9705A1C41CF9048500538489 /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, + 9444F69BED7E6069CC700313 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -185,6 +213,23 @@ shellPath = /bin/sh; shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; }; + 9444F69BED7E6069CC700313 /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; 9740EEB61CF901F6004384FC /* Run Script */ = { isa = PBXShellScriptBuildPhase; alwaysOutOfDate = 1; @@ -200,6 +245,28 @@ shellPath = /bin/sh; shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; }; + D1C57AC243232AF71A47000D /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ @@ -298,7 +365,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - PRODUCT_BUNDLE_IDENTIFIER = com.example.frontend; + PRODUCT_BUNDLE_IDENTIFIER = com.pknu.duckdam; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; SWIFT_VERSION = 5.0; @@ -427,7 +494,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - PRODUCT_BUNDLE_IDENTIFIER = com.example.frontend; + PRODUCT_BUNDLE_IDENTIFIER = com.pknu.duckdam; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; @@ -450,7 +517,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - PRODUCT_BUNDLE_IDENTIFIER = com.example.frontend; + PRODUCT_BUNDLE_IDENTIFIER = com.pknu.duckdam; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; SWIFT_VERSION = 5.0; diff --git a/frontend/ios/Runner.xcworkspace/contents.xcworkspacedata b/frontend/ios/Runner.xcworkspace/contents.xcworkspacedata index 1d526a1..21a3cc1 100644 --- a/frontend/ios/Runner.xcworkspace/contents.xcworkspacedata +++ b/frontend/ios/Runner.xcworkspace/contents.xcworkspacedata @@ -4,4 +4,7 @@ + + diff --git a/frontend/ios/Runner/Info.plist b/frontend/ios/Runner/Info.plist index 1392c3a..ce8e69d 100644 --- a/frontend/ios/Runner/Info.plist +++ b/frontend/ios/Runner/Info.plist @@ -2,6 +2,8 @@ + CADisableMinimumFrameDurationOnPhone + CFBundleDevelopmentRegion $(DEVELOPMENT_LANGUAGE) CFBundleDisplayName @@ -24,6 +26,12 @@ $(FLUTTER_BUILD_NUMBER) LSRequiresIPhoneOS + NSCameraUsageDescription + We need access to the camera to take pictures. + NSMicrophoneUsageDescription + We need access to the microphone to record videos. + UIApplicationSupportsIndirectInputEvents + UILaunchStoryboardName LaunchScreen UIMainStoryboardFile @@ -43,9 +51,5 @@ UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone - - UIApplicationSupportsIndirectInputEvents - diff --git a/frontend/lib/main.dart b/frontend/lib/main.dart index 1fe7c0e..f4cac07 100644 --- a/frontend/lib/main.dart +++ b/frontend/lib/main.dart @@ -13,6 +13,7 @@ class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( + // debugShowCheckedModeBanner: false, title: 'Flutter Demo', theme: ThemeData(fontFamily: "Pretendard"), home: const MyHomePage(title: 'Flutter Demo Home Page'), @@ -32,6 +33,6 @@ class MyHomePage extends StatefulWidget { class _MyHomePageState extends State { @override Widget build(BuildContext context) { - return const SearchPage(); + return const HomePage(); } } diff --git a/frontend/lib/models/content_detail.dart b/frontend/lib/models/content_detail.dart new file mode 100644 index 0000000..63ed560 --- /dev/null +++ b/frontend/lib/models/content_detail.dart @@ -0,0 +1,89 @@ +class ContentDetail { + final int contentId; + final String contentTitle; + final String contentImage; + final String contentType; + final String year; + final bool isScraped; + final List addressTag; + final List placeDtos; + + ContentDetail({ + required this.contentId, + required this.contentTitle, + required this.contentImage, + required this.contentType, + required this.year, + required this.isScraped, + required this.addressTag, + required this.placeDtos, + }); + + factory ContentDetail.fromJson(Map json) { + return ContentDetail( + contentId: json['contentId'], + contentTitle: json['contentTitle'], + contentImage: json['contentImage'], + contentType: json['contentType'], + year: json['year'], + isScraped: json['isScraped'], + addressTag: List.from(json['addressTag']), + placeDtos: (json['placeDtos'] as List) + .map((place) => PlaceDto.fromJson(place)) + .toList(), + ); + } + + Map toJson() { + return { + 'contentId': contentId, + 'contentTitle': contentTitle, + 'contentImage': contentImage, + 'contentType': contentType, + 'year': year, + 'isScraped': isScraped, + 'addressTag': addressTag, + 'placeDtos': placeDtos.map((place) => place.toJson()).toList(), + }; + } +} + +class PlaceDto { + final int placeId; + final String placeName; + final String placeOverview; + final String placeImage; + final String placeAddress; + final String openTime; + + PlaceDto({ + required this.placeId, + required this.placeName, + required this.placeOverview, + required this.placeImage, + required this.placeAddress, + required this.openTime, + }); + + factory PlaceDto.fromJson(Map json) { + return PlaceDto( + placeId: json['placeId'], + placeName: json['placeName'], + placeOverview: json['placeOverview'], + placeImage: json['placeImage'], + placeAddress: json['placeAddress'], + openTime: json['openTime'], + ); + } + + Map toJson() { + return { + 'placeId': placeId, + 'placeName': placeName, + 'placeOverview': placeOverview, + 'placeImage': placeImage, + 'placeAddress': placeAddress, + 'openTime': openTime, + }; + } +} diff --git a/frontend/lib/models/content_dto.dart b/frontend/lib/models/content_dto.dart new file mode 100644 index 0000000..0e05e51 --- /dev/null +++ b/frontend/lib/models/content_dto.dart @@ -0,0 +1,57 @@ +class ContentDto { + final int? contentId; + final String? contentTitle; + final String? contentImage; + final bool? isScraped; + final String? address; + + ContentDto({ + required this.contentId, + required this.contentTitle, + required this.contentImage, + required this.isScraped, + required this.address, + }); + + // JSON 데이터를 Dart 객체로 변환하는 factory 생성자 + factory ContentDto.fromJson(Map json) { + return ContentDto( + contentId: json['contentId'], + contentTitle: json['contentTitle'], + contentImage: json['contentImage'], + isScraped: json['isScraped'], + address: json['address'], + ); + } + + // Dart 객체를 JSON 데이터로 변환하는 메서드 + Map toJson() { + return { + 'contentId': contentId, + 'contentTitle': contentTitle, + 'contentImage': contentImage, + 'isScraped': isScraped, + 'address': address, + }; + } +} + +class ContentList { + final List contentDtos; + + ContentList({required this.contentDtos}); + + factory ContentList.fromJson(Map json) { + var list = json['contentDtos'] as List; + List contentDtoList = + list.map((item) => ContentDto.fromJson(item)).toList(); + + return ContentList(contentDtos: contentDtoList); + } + + Map toJson() { + return { + 'contentDtos': contentDtos.map((item) => item.toJson()).toList(), + }; + } +} diff --git a/frontend/lib/pages/camera_page.dart b/frontend/lib/pages/camera_page.dart new file mode 100644 index 0000000..fbdbafb --- /dev/null +++ b/frontend/lib/pages/camera_page.dart @@ -0,0 +1,102 @@ +import 'package:flutter/material.dart'; +import 'package:camera/camera.dart'; +import 'package:path_provider/path_provider.dart'; +import 'dart:io'; +import 'dart:math' as math; +import 'package:path/path.dart' show join; + +class CameraPage extends StatefulWidget { + final String imagePath; + + const CameraPage({ + super.key, + required this.imagePath, + }); + + @override + _CameraPageState createState() => _CameraPageState(); +} + +class _CameraPageState extends State { + CameraController? _cameraController; + List? cameras; + + @override + void initState() { + super.initState(); + _initializeCamera(); + } + + Future _initializeCamera() async { + cameras = await availableCameras(); + _cameraController = CameraController(cameras![0], ResolutionPreset.high); + await _cameraController!.initialize(); + setState(() {}); + } + + Future _takePicture() async { + if (!_cameraController!.value.isInitialized) { + return; + } + + if (_cameraController!.value.isTakingPicture) { + return; + } + + try { + final directory = await getTemporaryDirectory(); + final String filePath = join( + directory.path, + '${DateTime.now().millisecondsSinceEpoch}.png', + ); + + XFile picture = await _cameraController!.takePicture(); + final File image = File(picture.path); + final savedImagePath = await image.copy(filePath); + + print('Picture saved to $savedImagePath'); + } catch (e) { + print(e); + } + } + + @override + void dispose() { + _cameraController?.dispose(); + super.dispose(); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + body: _cameraController == null || !_cameraController!.value.isInitialized + ? const Center(child: CircularProgressIndicator()) + : Stack( + children: [ + CameraPreview(_cameraController!), + Positioned.fill( + child: FittedBox( + fit: BoxFit.contain, + child: Transform.rotate( + angle: math.pi / 2, + child: Image.asset( + widget.imagePath, + fit: BoxFit.cover, + ), + ), + ), + ), + Positioned( + bottom: 30, + right: 30, + child: IconButton( + icon: const Icon(Icons.camera_alt, + color: Colors.white, size: 30), + onPressed: _takePicture, + ), + ), + ], + ), + ); + } +} diff --git a/frontend/lib/pages/detail_page.dart b/frontend/lib/pages/detail_page.dart index d1b9402..3c835e2 100644 --- a/frontend/lib/pages/detail_page.dart +++ b/frontend/lib/pages/detail_page.dart @@ -1,34 +1,275 @@ import 'package:flutter/material.dart'; -import 'package:flutter_svg/flutter_svg.dart'; // SvgPicture 사용을 위해 추가 +import 'package:flutter_svg/flutter_svg.dart'; +import 'package:frontend/colors/app_colors.dart'; +import 'package:frontend/models/content_detail.dart'; +import 'package:frontend/services/api_service.dart'; import 'package:frontend/widgets/custom_bottom_navigation_bar.dart'; -import 'package:frontend/widgets/main_app_bar.dart'; +import 'package:frontend/widgets/detail_app_bar.dart'; +import 'package:frontend/pages/camera_page.dart'; -class HomePage extends StatelessWidget { - const HomePage({super.key}); +class DetailPage extends StatefulWidget { + const DetailPage({super.key, required this.contentId}); + + final int contentId; + + @override + _DetailPageState createState() => _DetailPageState(); +} + +class _DetailPageState extends State { + ContentDetail? contentDetail; + String contentName = ''; + + @override + void initState() { + super.initState(); + print(widget.contentId); + _fetchContentDetails(); + } + + Future _fetchContentDetails() async { + ContentDetail? fetchedContent = + await APIService.getContentDetail(widget.contentId); + print(fetchedContent); + setState(() { + contentDetail = fetchedContent; + contentName = contentDetail!.contentTitle; + }); + } @override Widget build(BuildContext context) { return Scaffold( - appBar: const MainAppBar(), - body: Stack( - children: [ - Positioned.fill( - child: SvgPicture.asset( - 'assets/icons/main_background.svg', - fit: BoxFit.cover, + extendBodyBehindAppBar: true, + appBar: const DetailAppBar(), + body: contentDetail == null + ? const Center(child: CircularProgressIndicator()) + : CustomScrollView( + slivers: [ + SliverAppBar( + automaticallyImplyLeading: false, + expandedHeight: 400.0, + pinned: true, + flexibleSpace: FlexibleSpaceBar( + background: Stack( + fit: StackFit.expand, + children: [ + Image.network( + contentDetail!.contentImage, + fit: BoxFit.cover, + ), + Container( + decoration: const BoxDecoration( + gradient: LinearGradient( + begin: Alignment.topCenter, + end: Alignment.bottomCenter, + colors: [Colors.transparent, Colors.black54], + ), + ), + ), + Positioned( + bottom: 16.0, + left: 16.0, + right: 16.0, + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + crossAxisAlignment: CrossAxisAlignment.end, + children: [ + Text( + contentDetail!.contentTitle, + style: const TextStyle( + color: Colors.white, + fontSize: 24.0, + fontWeight: FontWeight.bold, + ), + ), + const SizedBox( + width: 5, + ), + Text( + contentDetail!.year, + style: const TextStyle( + color: Colors.white, + fontSize: 20.0, + fontWeight: FontWeight.normal, + ), + ), + ], + ), + const SizedBox(height: 8.0), + SingleChildScrollView( + scrollDirection: Axis.horizontal, + child: Row( + children: [ + SvgPicture.asset( + 'assets/icons/location.svg', + color: AppColors.mainWhiteColor, + height: 20, + ), + const SizedBox( + width: 8.0), // 아이콘과 첫 번째 버튼 사이 간격 + ...contentDetail!.addressTag.map((tag) { + return Padding( + padding: + const EdgeInsets.only(right: 8.0), + child: _buildLocationButton(tag), + ); + }).toList(), + ], + ), + ) + ], + ), + ), + ], + ), + ), + ), + SliverToBoxAdapter( + child: Container( + decoration: const BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.only( + topLeft: Radius.circular(16.0), + topRight: Radius.circular(16.0), + ), + ), + padding: const EdgeInsets.all(16.0), + child: ListView.builder( + shrinkWrap: true, + physics: const NeverScrollableScrollPhysics(), + itemCount: contentDetail!.placeDtos.length, + itemBuilder: (context, index) { + final place = contentDetail!.placeDtos[index]; + return _buildListItem( + index + 1, + place.placeImage, + place.placeName, + place.placeOverview, + place.placeAddress, + ); + }, + ), + ), + ), + ], ), + bottomNavigationBar: const CustomBottomNavigationBar(), + ); + } + + Widget _buildListItem(int index, String placeImage, String title, + String description, String placeAddress) { + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Padding( + padding: const EdgeInsets.only( + top: 8.0, + bottom: 8.0, + right: 6.0, + left: 6.0, ), - const Column( + child: Row( + crossAxisAlignment: CrossAxisAlignment.center, children: [ - SizedBox( - height: 500, // 이미지의 높이 - width: double.infinity, + Container( + width: 80, + height: 80, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(14.0), + image: DecorationImage( + image: NetworkImage(placeImage), + fit: BoxFit.cover, + ), + ), + ), + const SizedBox(width: 16.0), + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + '$index화 / $title', + style: const TextStyle( + fontWeight: FontWeight.bold, + fontSize: 16.0, + ), + ), + const SizedBox(height: 4.0), + Text( + description, + style: const TextStyle( + fontSize: 14.0, + color: Colors.grey, + ), + ), + const SizedBox(height: 4.0), + Row( + children: [ + const Icon( + Icons.place, + color: Colors.grey, + size: 14.0, + ), + const SizedBox(width: 4.0), + Expanded( + child: Text( + placeAddress, + style: const TextStyle( + fontSize: 12.0, + color: Colors.grey, + ), + ), + ), + ], + ), + ], + ), + ), + InkWell( + child: SvgPicture.asset('assets/icons/camera.svg'), + onTap: () { + Navigator.push( + context, + MaterialPageRoute( + builder: (context) => CameraPage( + imagePath: contentName == '극한직업' + ? 'assets/images/frame1.png' + : 'assets/images/frame2.png', + ), + ), + ); + }, ), ], ), - ], + ), + const Divider( + color: Colors.orange, + thickness: 2.0, + height: 32.0, + ), + ], + ); + } + + Widget _buildLocationButton(String label) { + return ElevatedButton( + onPressed: () {}, + style: ElevatedButton.styleFrom( + backgroundColor: Colors.white.withOpacity(0.8), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(20.0), + ), + padding: const EdgeInsets.symmetric(horizontal: 16.0), + ), + child: Text( + label, + style: const TextStyle(color: Colors.black), ), - bottomNavigationBar: const CustomBottomNavigationBar(), ); } } diff --git a/frontend/lib/pages/home_page.dart b/frontend/lib/pages/home_page.dart index 13d82b2..855e0bd 100644 --- a/frontend/lib/pages/home_page.dart +++ b/frontend/lib/pages/home_page.dart @@ -1,119 +1,170 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:frontend/colors/app_colors.dart'; +import 'package:frontend/models/content_dto.dart'; +import 'package:frontend/services/api_service.dart'; import 'package:frontend/widgets/custom_bottom_navigation_bar.dart'; import 'package:frontend/widgets/home_recommend_list.dart'; import 'package:frontend/widgets/main_app_bar.dart'; import 'package:frontend/widgets/search_box.dart'; -class HomePage extends StatelessWidget { +class HomePage extends StatefulWidget { const HomePage({super.key}); + @override + _HomePageState createState() => _HomePageState(); +} + +class _HomePageState extends State { + List contentDto = []; + List simpleContentDto = []; + bool isLoading = true; + + @override + void initState() { + super.initState(); + _fetchData(); + print(simpleContentDto); + } + + Future _fetchData() async { + try { + final fetchedContentDto = await APIService.getContentDto(); + final fetchedSimpleContentDto = await APIService.getSimpleContentDto(); + + setState(() { + contentDto = fetchedContentDto; + simpleContentDto = fetchedSimpleContentDto; + isLoading = false; + }); + } catch (error) { + setState(() { + isLoading = false; // 오류가 발생해도 로딩 상태 해제 + }); + print('데이터를 불러오는 중 오류가 발생했습니다: $error'); + } + } + @override Widget build(BuildContext context) { return Scaffold( extendBodyBehindAppBar: true, appBar: const MainAppBar(), - body: SingleChildScrollView( - child: Column( - children: [ - Container( - height: 600, - width: double.infinity, - decoration: BoxDecoration( - color: AppColors.mainSkyColor, - ), - child: Stack( + body: isLoading + ? const Center(child: CircularProgressIndicator()) // 로딩 중일 때 표시 + : SingleChildScrollView( + child: Column( children: [ - Positioned( - top: 80, - right: 30, - child: SvgPicture.asset('assets/icons/main_duckcheol.svg'), - ), - Positioned( - top: 60, - left: 20, - child: Image.asset('assets/icons/logo.png'), - width: 100, - ), - Positioned( - top: 150, - left: 20, - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, + Container( + height: 600, + width: double.infinity, + decoration: BoxDecoration( + color: AppColors.mainSkyColor, + ), + child: Stack( children: [ - const Text( - '안녕하세요, 오리님', - style: TextStyle( - color: AppColors.boldFontsColor, - fontSize: 23, - fontWeight: FontWeight.bold, - ), + Positioned( + top: 80, + right: 30, + child: SvgPicture.asset( + 'assets/icons/main_duckcheol.svg'), ), - const SizedBox( - height: 20, + Positioned( + top: 60, + left: 20, + child: Image.asset('assets/icons/logo.png'), + width: 100, ), - const Text( - '오늘의 추천 촬영지는\n바로 여기임', - style: TextStyle( - color: AppColors.thinFontsColor, - fontSize: 16, + Positioned( + top: 150, + left: 20, + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const Text( + '안녕하세요, 오리님', + style: TextStyle( + color: AppColors.boldFontsColor, + fontSize: 23, + fontWeight: FontWeight.bold, + ), + ), + const SizedBox( + height: 20, + ), + const Text( + '오늘의 추천 촬영지는\n바로 여기임', + style: TextStyle( + color: AppColors.thinFontsColor, + fontSize: 16, + ), + ), + ], + ), + ), + Positioned( + bottom: 10, + left: 0, + child: SizedBox( + height: 280, + child: HomeRecommendList( + contentDtos: contentDto, + type: 1, + ), ), ), ], ), ), - Positioned( - bottom: 0, - left: 0, - child: SizedBox( - height: 200, - child: HomeRecommendList(), + Container( + decoration: BoxDecoration( + color: AppColors.mainWhiteColor, ), - ) - ], - ), - ), - Container( - decoration: BoxDecoration( - color: AppColors.mainWhiteColor, - ), - child: Column( - children: [ - SizedBox( - height: 30, - ), - SearchBox(), - SizedBox( - height: 30, - ), - Row( - children: [ - Padding( - padding: EdgeInsets.only(left: 20), - child: Text( - "오리님의 관심있는 콘텐츠", - style: TextStyle( - fontSize: 20, - fontWeight: FontWeight.bold, + child: Column( + children: [ + const SizedBox( + height: 30, + ), + const SearchBox( + isComeFromHome: true, + isDrama: false, + ), + const SizedBox( + height: 30, + ), + Row( + children: const [ + Padding( + padding: EdgeInsets.only(left: 20), + child: Text( + "오리님의 관심있는 콘텐츠", + style: TextStyle( + fontSize: 20, + fontWeight: FontWeight.bold, + ), + ), + ), + ], + ), + const SizedBox( + height: 15, + ), + SizedBox( + height: 250, + child: HomeRecommendList( + contentDtos: simpleContentDto, + type: 2, ), ), - ), - ], + ], + ), ), - SizedBox( + const SizedBox( height: 15, ), - SizedBox( - height: 200, - child: HomeRecommendList(), - ), ], ), ), - ], - ), - ), bottomNavigationBar: const CustomBottomNavigationBar(), ); } diff --git a/frontend/lib/pages/search_page.dart b/frontend/lib/pages/search_page.dart index 1af58de..ef5911d 100644 --- a/frontend/lib/pages/search_page.dart +++ b/frontend/lib/pages/search_page.dart @@ -7,7 +7,12 @@ import 'package:frontend/widgets/select_movie_drama_tab.dart'; import 'package:frontend/widgets/selectable_circle.dart'; class SearchPage extends StatefulWidget { - const SearchPage({super.key}); + const SearchPage({ + super.key, + required this.isDrama, + }); + + final bool isDrama; @override _SearchPageState createState() => _SearchPageState(); @@ -42,7 +47,7 @@ class _SearchPageState extends State { ), child: Column( children: [ - const SearchBox(), + const SearchBox(isComeFromHome: false, isDrama: true), const SizedBox( height: 5.0, ), diff --git a/frontend/lib/services/api_service.dart b/frontend/lib/services/api_service.dart new file mode 100644 index 0000000..e2fd692 --- /dev/null +++ b/frontend/lib/services/api_service.dart @@ -0,0 +1,96 @@ +import 'dart:convert'; +import 'package:frontend/models/content_detail.dart'; +import 'package:http/http.dart' as http; +import 'dart:async'; +import 'package:http_parser/http_parser.dart'; +import 'package:frontend/models/content_dto.dart'; + +const String domainUrl = + 'https://port-0-hackathon-be-lyqylohp8957ca6e.sel5.cloudtype.app'; + +class APIService { + static Future> getContentDto() async { + const url = '$domainUrl/api/content/interest?userId=1&pagesize=5'; + + try { + final response = await http.get( + Uri.parse(url), + headers: { + 'Content-Type': 'application/json', + }, + ); + + if (response.statusCode == 200) { + print("불러오기 성공"); + final responseData = json.decode(utf8.decode(response.bodyBytes)); + final data = responseData['contentDtos']; + + if (data != null && data is List) { + return data + .map((item) => ContentDto.fromJson(item)) + .toList(); + } + } + return []; + } catch (error) { + return []; + } + } + + static Future> getSimpleContentDto() async { + const url = '$domainUrl/api/content/scrap?userId=1'; + + try { + final response = await http.get( + Uri.parse(url), + headers: { + 'Content-Type': 'application/json', + }, + ); + + if (response.statusCode == 200) { + print("불러오기 성공"); + final responseData = json.decode(utf8.decode(response.bodyBytes)); + final data = responseData['simpleContentDtos']; + + if (data != null && data is List) { + return data + .map((item) => ContentDto.fromJson(item)) + .toList(); + } + } + return []; + } catch (error) { + return []; + } + } + + static Future getContentDetail(int contentId) async { + final url = '$domainUrl/api/detail/content?userId=1&contentId=$contentId'; + + print(url); + + try { + final response = await http.get( + Uri.parse(url), + headers: { + 'Content-Type': 'application/json', + }, + ); + + if (response.statusCode == 200) { + print("불러오기 성공"); + final responseData = json.decode(utf8.decode(response.bodyBytes)); + print(responseData); + + if (responseData != null && responseData is Map) { + return ContentDetail.fromJson(responseData); + } + } + return null; + } catch (error) { + print("에러 발생: $error"); + return null; + } + } +} diff --git a/frontend/lib/widgets/detail_app_bar.dart b/frontend/lib/widgets/detail_app_bar.dart index 761cfaf..f8165e1 100644 --- a/frontend/lib/widgets/detail_app_bar.dart +++ b/frontend/lib/widgets/detail_app_bar.dart @@ -1,5 +1,6 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/flutter_svg.dart'; +import 'package:frontend/colors/app_colors.dart'; class DetailAppBar extends StatelessWidget implements PreferredSizeWidget { const DetailAppBar({super.key}); @@ -7,21 +8,25 @@ class DetailAppBar extends StatelessWidget implements PreferredSizeWidget { @override Widget build(BuildContext context) { return AppBar( - backgroundColor: Colors.transparent, - elevation: 0, - leading: Padding( - padding: const EdgeInsets.only(left: 20.0), - child: SvgPicture.asset( - 'assets/icons/menu.svg', - height: 20, + leading: IconButton( + icon: SvgPicture.asset( + 'assets/icons/back.svg', + color: AppColors.mainWhiteColor, + height: 25, ), + onPressed: () { + Navigator.of(context).pop(); // 뒤로 가기 버튼 동작 + }, + padding: const EdgeInsets.only(left: 16.0), // 아이콘과 화면 가장자리 사이의 여백 조정 ), + backgroundColor: Colors.transparent, actions: [ Padding( padding: const EdgeInsets.only(right: 20.0), child: SvgPicture.asset( - 'assets/icons/menu.svg', - height: 20, + 'assets/icons/bookmark.svg', + color: AppColors.mainWhiteColor, + height: 25, ), ), ], diff --git a/frontend/lib/widgets/home_recommend_list.dart b/frontend/lib/widgets/home_recommend_list.dart index f6aa6b7..5795fd9 100644 --- a/frontend/lib/widgets/home_recommend_list.dart +++ b/frontend/lib/widgets/home_recommend_list.dart @@ -1,7 +1,15 @@ import 'package:flutter/material.dart'; +import 'package:frontend/colors/app_colors.dart'; +import 'package:frontend/models/content_dto.dart'; +import 'package:frontend/colors/app_colors.dart'; +import 'package:frontend/pages/detail_page.dart'; class HomeRecommendList extends StatefulWidget { - const HomeRecommendList({super.key}); + const HomeRecommendList( + {super.key, required this.contentDtos, required this.type}); + + final List contentDtos; + final int type; @override _HomeRecommendListState createState() => _HomeRecommendListState(); @@ -11,22 +19,50 @@ class _HomeRecommendListState extends State { @override Widget build(BuildContext context) { return ListView.builder( + shrinkWrap: true, scrollDirection: Axis.horizontal, - itemCount: 10, + itemCount: widget.contentDtos.length, itemBuilder: (context, index) { - return Column( - children: [ - Container( - width: 150, - height: 150, - margin: const EdgeInsets.all(8), - color: Colors.greenAccent, - ), - Text( - 'Item $index', - style: const TextStyle(color: Colors.white, fontSize: 24), - ), - ], + final content = widget.contentDtos[index]; + + return InkWell( + onTap: () { + Navigator.push( + context, + MaterialPageRoute( + builder: (context) => DetailPage( + contentId: content.contentId!, + )), + ); + }, + child: Column( + children: [ + Container( + width: 150, + height: 200, + margin: const EdgeInsets.all(8), + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(14.0), + image: DecorationImage( + image: NetworkImage(content.contentImage!), + fit: BoxFit.cover, + ), + ), + ), + Text( + content.contentTitle!, + style: const TextStyle( + color: AppColors.boldFontsColor, fontSize: 13), + ), + widget.type == 1 + ? Text( + content.address!, + style: const TextStyle( + color: AppColors.thinFontsColor, fontSize: 11), + ) + : Container(), + ], + ), ); }, ); diff --git a/frontend/lib/widgets/search_box.dart b/frontend/lib/widgets/search_box.dart index 01759af..3421477 100644 --- a/frontend/lib/widgets/search_box.dart +++ b/frontend/lib/widgets/search_box.dart @@ -1,15 +1,25 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:frontend/colors/app_colors.dart'; +import 'package:frontend/services/api_service.dart'; class SearchBox extends StatefulWidget { - const SearchBox({super.key}); + const SearchBox( + {super.key, required this.isComeFromHome, required this.isDrama}); + + final bool isComeFromHome; + final bool isDrama; @override _SearchBoxState createState() => _SearchBoxState(); } class _SearchBoxState extends State { + void _onSearchIconTapped() { + if (widget.isComeFromHome) { + } else {} + } + @override Widget build(BuildContext context) { return Container( @@ -19,13 +29,16 @@ class _SearchBoxState extends State { TextField( decoration: InputDecoration( hintText: '다양한 컨텐츠들을 검색해보아요.', - suffixIcon: Padding( - padding: const EdgeInsets.all(10.0), // 아이콘 여백 조정 - child: SvgPicture.asset( - 'assets/icons/search.svg', - width: 20, // SVG 아이콘의 크기를 조정 - height: 20, - color: AppColors.mainOrangeColor, // 아이콘 색상 설정 + suffixIcon: InkWell( + onTap: _onSearchIconTapped, + child: Padding( + padding: const EdgeInsets.all(10.0), // 아이콘 여백 조정 + child: SvgPicture.asset( + 'assets/icons/search.svg', + width: 20, // SVG 아이콘의 크기를 조정 + height: 20, + color: AppColors.mainOrangeColor, // 아이콘 색상 설정 + ), ), ), filled: true, // 배경을 채우기 위해 설정 diff --git a/frontend/macos/Flutter/Flutter-Debug.xcconfig b/frontend/macos/Flutter/Flutter-Debug.xcconfig index c2efd0b..4b81f9b 100644 --- a/frontend/macos/Flutter/Flutter-Debug.xcconfig +++ b/frontend/macos/Flutter/Flutter-Debug.xcconfig @@ -1 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" #include "ephemeral/Flutter-Generated.xcconfig" diff --git a/frontend/macos/Flutter/Flutter-Release.xcconfig b/frontend/macos/Flutter/Flutter-Release.xcconfig index c2efd0b..5caa9d1 100644 --- a/frontend/macos/Flutter/Flutter-Release.xcconfig +++ b/frontend/macos/Flutter/Flutter-Release.xcconfig @@ -1 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" #include "ephemeral/Flutter-Generated.xcconfig" diff --git a/frontend/macos/Flutter/GeneratedPluginRegistrant.swift b/frontend/macos/Flutter/GeneratedPluginRegistrant.swift index cccf817..e777c67 100644 --- a/frontend/macos/Flutter/GeneratedPluginRegistrant.swift +++ b/frontend/macos/Flutter/GeneratedPluginRegistrant.swift @@ -5,6 +5,8 @@ import FlutterMacOS import Foundation +import path_provider_foundation func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { + PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin")) } diff --git a/frontend/pubspec.lock b/frontend/pubspec.lock index 685f5a9..3453d6d 100644 --- a/frontend/pubspec.lock +++ b/frontend/pubspec.lock @@ -25,6 +25,46 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.1" + camera: + dependency: "direct main" + description: + name: camera + sha256: "26ff41045772153f222ffffecba711a206f670f5834d40ebf5eed3811692f167" + url: "https://pub.dev" + source: hosted + version: "0.11.0+2" + camera_android_camerax: + dependency: transitive + description: + name: camera_android_camerax + sha256: "8bd9cab67551642eb33ceb33ece7acc0890014fc90ddfae637c7e2b683657e65" + url: "https://pub.dev" + source: hosted + version: "0.6.7+2" + camera_avfoundation: + dependency: transitive + description: + name: camera_avfoundation + sha256: "7c28969a975a7eb2349bc2cb2dfe3ad218a33dba9968ecfb181ce08c87486655" + url: "https://pub.dev" + source: hosted + version: "0.9.17+3" + camera_platform_interface: + dependency: transitive + description: + name: camera_platform_interface + sha256: b3ede1f171532e0d83111fe0980b46d17f1aa9788a07a2fbed07366bbdbb9061 + url: "https://pub.dev" + source: hosted + version: "2.8.0" + camera_web: + dependency: transitive + description: + name: camera_web + sha256: "595f28c89d1fb62d77c73c633193755b781c6d2e0ebcd8dc25b763b514e6ba8f" + url: "https://pub.dev" + source: hosted + version: "0.3.5" characters: dependency: transitive description: @@ -49,6 +89,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.18.0" + cross_file: + dependency: transitive + description: + name: cross_file + sha256: "7caf6a750a0c04effbb52a676dce9a4a592e10ad35c34d6d2d0e4811160d5670" + url: "https://pub.dev" + source: hosted + version: "0.3.4+2" cupertino_icons: dependency: "direct main" description: @@ -65,6 +113,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.3.1" + ffi: + dependency: transitive + description: + name: ffi + sha256: "16ed7b077ef01ad6170a3d0c57caa4a112a38d7a2ed5602e0aca9ca6f3d98da6" + url: "https://pub.dev" + source: hosted + version: "2.1.3" flutter: dependency: "direct main" description: flutter @@ -78,6 +134,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.0.3" + flutter_plugin_android_lifecycle: + dependency: transitive + description: + name: flutter_plugin_android_lifecycle + sha256: "9d98bd47ef9d34e803d438f17fd32b116d31009f534a6fa5ce3a1167f189a6de" + url: "https://pub.dev" + source: hosted + version: "2.0.21" flutter_svg: dependency: "direct main" description: @@ -91,6 +155,11 @@ packages: description: flutter source: sdk version: "0.0.0" + flutter_web_plugins: + dependency: transitive + description: flutter + source: sdk + version: "0.0.0" http: dependency: transitive description: @@ -139,6 +208,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.0.1" + logger: + dependency: transitive + description: + name: logger + sha256: "697d067c60c20999686a0add96cf6aba723b3aa1f83ecf806a8097231529ec32" + url: "https://pub.dev" + source: hosted + version: "2.4.0" matcher: dependency: transitive description: @@ -179,6 +256,54 @@ packages: url: "https://pub.dev" source: hosted version: "1.0.1" + path_provider: + dependency: "direct main" + description: + name: path_provider + sha256: fec0d61223fba3154d87759e3cc27fe2c8dc498f6386c6d6fc80d1afdd1bf378 + url: "https://pub.dev" + source: hosted + version: "2.1.4" + path_provider_android: + dependency: transitive + description: + name: path_provider_android + sha256: "6f01f8e37ec30b07bc424b4deabac37cacb1bc7e2e515ad74486039918a37eb7" + url: "https://pub.dev" + source: hosted + version: "2.2.10" + path_provider_foundation: + dependency: transitive + description: + name: path_provider_foundation + sha256: f234384a3fdd67f989b4d54a5d73ca2a6c422fa55ae694381ae0f4375cd1ea16 + url: "https://pub.dev" + source: hosted + version: "2.4.0" + path_provider_linux: + dependency: transitive + description: + name: path_provider_linux + sha256: f7a1fe3a634fe7734c8d3f2766ad746ae2a2884abe22e241a8b301bf5cac3279 + url: "https://pub.dev" + source: hosted + version: "2.2.1" + path_provider_platform_interface: + dependency: transitive + description: + name: path_provider_platform_interface + sha256: "88f5779f72ba699763fa3a3b06aa4bf6de76c8e5de842cf6f29e2e06476c2334" + url: "https://pub.dev" + source: hosted + version: "2.1.2" + path_provider_windows: + dependency: transitive + description: + name: path_provider_windows + sha256: bd6f00dbd873bfb70d0761682da2b3a2c2fccc2b9e84c495821639601d81afe7 + url: "https://pub.dev" + source: hosted + version: "2.3.0" petitparser: dependency: transitive description: @@ -187,6 +312,30 @@ packages: url: "https://pub.dev" source: hosted version: "6.0.2" + platform: + dependency: transitive + description: + name: platform + sha256: "9b71283fc13df574056616011fb138fd3b793ea47cc509c189a6c3fa5f8a1a65" + url: "https://pub.dev" + source: hosted + version: "3.1.5" + plugin_platform_interface: + dependency: transitive + description: + name: plugin_platform_interface + sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02" + url: "https://pub.dev" + source: hosted + version: "2.1.8" + rename: + dependency: "direct main" + description: + name: rename + sha256: "6ef5daf4b11130e71d93630cfb70725e5a35b19039739cfcd2b272c834ba25fe" + url: "https://pub.dev" + source: hosted + version: "3.0.2" sky_engine: dependency: transitive description: flutter @@ -216,6 +365,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.2" + stream_transform: + dependency: transitive + description: + name: stream_transform + sha256: "14a00e794c7c11aa145a170587321aedce29769c08d7f58b1d141da75e3b1c6f" + url: "https://pub.dev" + source: hosted + version: "2.1.0" string_scanner: dependency: transitive description: @@ -296,6 +453,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.0.0" + xdg_directories: + dependency: transitive + description: + name: xdg_directories + sha256: faea9dee56b520b55a566385b84f2e8de55e7496104adada9962e0bd11bcff1d + url: "https://pub.dev" + source: hosted + version: "1.0.4" xml: dependency: transitive description: @@ -306,4 +471,4 @@ packages: version: "6.5.0" sdks: dart: ">=3.4.0 <4.0.0" - flutter: ">=3.18.0-18.0.pre.54" + flutter: ">=3.22.0" diff --git a/frontend/pubspec.yaml b/frontend/pubspec.yaml index 7d28ddc..02b6e00 100644 --- a/frontend/pubspec.yaml +++ b/frontend/pubspec.yaml @@ -36,6 +36,9 @@ dependencies: # Use with the CupertinoIcons class for iOS style icons. cupertino_icons: ^1.0.2 flutter_svg: ^2.0.10+1 + camera: ^0.11.0+2 + rename: ^3.0.2 + path_provider: ^2.1.4 dev_dependencies: flutter_test: @@ -62,6 +65,11 @@ flutter: - assets/icons/search.svg - assets/icons/camera.svg - assets/icons/mypage.svg + - assets/icons/location.svg + - assets/icons/back.svg + - assets/icons/bookmark.svg + - assets/images/frame1.png + - assets/images/frame2.png fonts: - family: Pretendard fonts: From 4fb10f7b31854b1c4ed1a9ae22066471db1ff6e4 Mon Sep 17 00:00:00 2001 From: sunga Date: Wed, 14 Aug 2024 11:55:53 +0900 Subject: [PATCH 4/4] =?UTF-8?q?feat=20:=20=EA=B2=80=EC=83=89=20=EA=B8=B0?= =?UTF-8?q?=EB=8A=A5=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit issues : #27 --- frontend/android/build.gradle | 2 +- frontend/lib/models/search_content_dto.dart | 55 +++++++++++ frontend/lib/pages/camera_page.dart | 4 +- frontend/lib/pages/detail_page.dart | 7 +- frontend/lib/pages/home_page.dart | 18 ++-- frontend/lib/pages/search_page.dart | 98 +++++++++++++++++-- frontend/lib/services/api_service.dart | 57 +++++++++++ .../widgets/custom_bottom_navigation_bar.dart | 2 + frontend/lib/widgets/recent_search_word.dart | 25 +++-- frontend/lib/widgets/search_box.dart | 71 ++++++++++---- .../lib/widgets/select_movie_drama_tab.dart | 11 ++- frontend/lib/widgets/selectable_circle.dart | 47 ++++----- 12 files changed, 315 insertions(+), 82 deletions(-) create mode 100644 frontend/lib/models/search_content_dto.dart diff --git a/frontend/android/build.gradle b/frontend/android/build.gradle index 58a8c74..713d7f6 100644 --- a/frontend/android/build.gradle +++ b/frontend/android/build.gradle @@ -26,6 +26,6 @@ subprojects { project.evaluationDependsOn(':app') } -task clean(type: Delete) { +tasks.register("clean", Delete) { delete rootProject.buildDir } diff --git a/frontend/lib/models/search_content_dto.dart b/frontend/lib/models/search_content_dto.dart new file mode 100644 index 0000000..33dc0b4 --- /dev/null +++ b/frontend/lib/models/search_content_dto.dart @@ -0,0 +1,55 @@ +class SearchContentResponse { + final bool hasNextPage; + final List searchContentDtos; + + SearchContentResponse({ + required this.hasNextPage, + required this.searchContentDtos, + }); + + factory SearchContentResponse.fromJson(Map json) { + return SearchContentResponse( + hasNextPage: json['hasNextPage'], + searchContentDtos: List.from( + json['searchContentDtos'] + .map((item) => SearchContentDto.fromJson(item)), + ), + ); + } + + Map toJson() { + return { + 'hasNextPage': hasNextPage, + 'searchContentDtos': + searchContentDtos.map((item) => item.toJson()).toList(), + }; + } +} + +class SearchContentDto { + final int contentId; + final String contentTitle; + final String contentImage; + + SearchContentDto({ + required this.contentId, + required this.contentTitle, + required this.contentImage, + }); + + factory SearchContentDto.fromJson(Map json) { + return SearchContentDto( + contentId: json['contentId'], + contentTitle: json['contentTitle'], + contentImage: json['contentImage'], + ); + } + + Map toJson() { + return { + 'contentId': contentId, + 'contentTitle': contentTitle, + 'contentImage': contentImage, + }; + } +} diff --git a/frontend/lib/pages/camera_page.dart b/frontend/lib/pages/camera_page.dart index fbdbafb..9f7df3b 100644 --- a/frontend/lib/pages/camera_page.dart +++ b/frontend/lib/pages/camera_page.dart @@ -6,7 +6,7 @@ import 'dart:math' as math; import 'package:path/path.dart' show join; class CameraPage extends StatefulWidget { - final String imagePath; + final String? imagePath; const CameraPage({ super.key, @@ -80,7 +80,7 @@ class _CameraPageState extends State { child: Transform.rotate( angle: math.pi / 2, child: Image.asset( - widget.imagePath, + widget.imagePath ?? '', fit: BoxFit.cover, ), ), diff --git a/frontend/lib/pages/detail_page.dart b/frontend/lib/pages/detail_page.dart index 3c835e2..be56e3f 100644 --- a/frontend/lib/pages/detail_page.dart +++ b/frontend/lib/pages/detail_page.dart @@ -144,7 +144,6 @@ class _DetailPageState extends State { itemBuilder: (context, index) { final place = contentDetail!.placeDtos[index]; return _buildListItem( - index + 1, place.placeImage, place.placeName, place.placeOverview, @@ -160,8 +159,8 @@ class _DetailPageState extends State { ); } - Widget _buildListItem(int index, String placeImage, String title, - String description, String placeAddress) { + Widget _buildListItem(String placeImage, String title, String description, + String placeAddress) { return Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ @@ -192,7 +191,7 @@ class _DetailPageState extends State { crossAxisAlignment: CrossAxisAlignment.start, children: [ Text( - '$index화 / $title', + title, style: const TextStyle( fontWeight: FontWeight.bold, fontSize: 16.0, diff --git a/frontend/lib/pages/home_page.dart b/frontend/lib/pages/home_page.dart index 855e0bd..9200041 100644 --- a/frontend/lib/pages/home_page.dart +++ b/frontend/lib/pages/home_page.dart @@ -58,7 +58,7 @@ class _HomePageState extends State { Container( height: 600, width: double.infinity, - decoration: BoxDecoration( + decoration: const BoxDecoration( color: AppColors.mainSkyColor, ), child: Stack( @@ -72,16 +72,16 @@ class _HomePageState extends State { Positioned( top: 60, left: 20, - child: Image.asset('assets/icons/logo.png'), width: 100, + child: Image.asset('assets/icons/logo.png'), ), - Positioned( + const Positioned( top: 150, left: 20, child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - const Text( + Text( '안녕하세요, 오리님', style: TextStyle( color: AppColors.boldFontsColor, @@ -89,10 +89,10 @@ class _HomePageState extends State { fontWeight: FontWeight.bold, ), ), - const SizedBox( + SizedBox( height: 20, ), - const Text( + Text( '오늘의 추천 촬영지는\n바로 여기임', style: TextStyle( color: AppColors.thinFontsColor, @@ -117,7 +117,7 @@ class _HomePageState extends State { ), ), Container( - decoration: BoxDecoration( + decoration: const BoxDecoration( color: AppColors.mainWhiteColor, ), child: Column( @@ -132,8 +132,8 @@ class _HomePageState extends State { const SizedBox( height: 30, ), - Row( - children: const [ + const Row( + children: [ Padding( padding: EdgeInsets.only(left: 20), child: Text( diff --git a/frontend/lib/pages/search_page.dart b/frontend/lib/pages/search_page.dart index ef5911d..d902887 100644 --- a/frontend/lib/pages/search_page.dart +++ b/frontend/lib/pages/search_page.dart @@ -1,24 +1,87 @@ import 'package:flutter/material.dart'; import 'package:frontend/colors/app_colors.dart'; +import 'package:frontend/models/search_content_dto.dart'; +import 'package:frontend/services/api_service.dart'; import 'package:frontend/widgets/custom_bottom_navigation_bar.dart'; import 'package:frontend/widgets/search_box.dart'; import 'package:frontend/widgets/recent_search_word.dart'; import 'package:frontend/widgets/select_movie_drama_tab.dart'; import 'package:frontend/widgets/selectable_circle.dart'; +import 'package:frontend/pages/detail_page.dart'; // DetailPage 임포트 class SearchPage extends StatefulWidget { const SearchPage({ super.key, required this.isDrama, + this.searchContentResponse, + this.hint, }); final bool isDrama; + final String? hint; + final SearchContentResponse? searchContentResponse; @override _SearchPageState createState() => _SearchPageState(); } class _SearchPageState extends State { + late bool isDrama; + String? hint; + late List keywords = []; + late List selectableCircles = []; + + @override + void initState() { + super.initState(); + isDrama = widget.isDrama; + hint = widget.hint; + _fetchRecentSearches(); + _generateSelectableCircles(); + } + + Future _fetchRecentSearches() async { + final recentKeywords = await APIService.getRecentSearch( + hint ?? '', isDrama ? 'Drama' : 'Movie'); + if (recentKeywords != null) { + setState(() { + keywords = recentKeywords; + }); + } + } + + void _generateSelectableCircles() { + if (widget.searchContentResponse != null) { + selectableCircles = widget.searchContentResponse!.searchContentDtos + .map((dto) => SelectableCircle( + contentTitle: dto.contentTitle, + contentImage: dto.contentImage, + onTap: () { + // DetailPage로 이동 + Navigator.push( + context, + MaterialPageRoute( + builder: (context) => + DetailPage(contentId: dto.contentId), + ), + ); + }, + )) + .toList(); + } + } + + void _onTabSelected(int index) { + setState( + () { + isDrama = index == 1; // '드라마' 탭이 선택되면 true, '영화' 탭이 선택되면 false + }, + ); + + // 선택된 탭에 따라 필요한 작업을 수행 + _fetchRecentSearches(); + } + @override Widget build(BuildContext context) { return Scaffold( @@ -47,7 +110,11 @@ class _SearchPageState extends State { ), child: Column( children: [ - const SearchBox(isComeFromHome: false, isDrama: true), + SearchBox( + isComeFromHome: false, + isDrama: isDrama, + hint: hint, // hint를 SearchBox에 전달 + ), const SizedBox( height: 5.0, ), @@ -65,16 +132,33 @@ class _SearchPageState extends State { const SizedBox( height: 10.0, ), - const Row( - children: [ - RecentSearchWord(), - ], + SingleChildScrollView( + scrollDirection: Axis.horizontal, + child: Row( + children: keywords + .map((keyword) => RecentSearchWord(text: keyword)) + .toList(), + ), ), const SizedBox( height: 30.0, ), - const SelectMovieDramaTab(), - const SelectableCircle(), + SelectMovieDramaTab(onTabSelected: _onTabSelected), + GridView.builder( + gridDelegate: + const SliverGridDelegateWithFixedCrossAxisCount( + crossAxisCount: 3, // 가로로 3개씩 배치 + crossAxisSpacing: 10.0, + mainAxisSpacing: 10.0, + ), + itemCount: selectableCircles.length, + shrinkWrap: true, + physics: + const NeverScrollableScrollPhysics(), // 전체 페이지 스크롤 사용 + itemBuilder: (context, index) { + return selectableCircles[index]; + }, + ), ], ), ), diff --git a/frontend/lib/services/api_service.dart b/frontend/lib/services/api_service.dart index e2fd692..35f4aff 100644 --- a/frontend/lib/services/api_service.dart +++ b/frontend/lib/services/api_service.dart @@ -4,6 +4,7 @@ import 'package:http/http.dart' as http; import 'dart:async'; import 'package:http_parser/http_parser.dart'; import 'package:frontend/models/content_dto.dart'; +import 'package:frontend/models/search_content_dto.dart'; const String domainUrl = 'https://port-0-hackathon-be-lyqylohp8957ca6e.sel5.cloudtype.app'; @@ -93,4 +94,60 @@ class APIService { return null; } } + + static Future search( + String keyword, String type) async { + final url = + '$domainUrl/api/content/search?userId=1&keyword=$keyword&searchType=$type&pagesize=9&pageindex=0'; + try { + final response = await http.get( + Uri.parse(url), + headers: { + 'Content-Type': 'application/json', + }, + ); + + if (response.statusCode == 200) { + print("불러오기 성공"); + final responseData = json.decode(utf8.decode(response.bodyBytes)); + print(responseData); + + if (responseData != null && responseData is Map) { + return SearchContentResponse.fromJson(responseData); + } + } + return null; + } catch (error) { + print("에러 발생: $error"); + return null; + } + } + + static Future?> getRecentSearch( + String keyword, String type) async { + const url = '$domainUrl/api/content/search/recent/keyword?userId=1'; + try { + final response = await http.get( + Uri.parse(url), + headers: { + 'Content-Type': 'application/json', + }, + ); + + if (response.statusCode == 200) { + print("불러오기 성공"); + final responseData = json.decode(utf8.decode(response.bodyBytes)); + print(responseData); + + if (responseData != null && responseData is Map) { + print(responseData['keywords']); + return responseData['keywords']; + } + } + return null; + } catch (error) { + print("에러 발생: $error"); + return null; + } + } } diff --git a/frontend/lib/widgets/custom_bottom_navigation_bar.dart b/frontend/lib/widgets/custom_bottom_navigation_bar.dart index 3983fdf..690e878 100644 --- a/frontend/lib/widgets/custom_bottom_navigation_bar.dart +++ b/frontend/lib/widgets/custom_bottom_navigation_bar.dart @@ -13,6 +13,8 @@ class CustomBottomNavigationBar extends StatefulWidget { class _CustomBottomNavigationBarState extends State { int _selectedIndex = 0; + final List _pages = []; + // 탭 클릭시 호출될 함수 void _onItemTapped(int index) { setState(() { diff --git a/frontend/lib/widgets/recent_search_word.dart b/frontend/lib/widgets/recent_search_word.dart index e9fa7c3..50693c5 100644 --- a/frontend/lib/widgets/recent_search_word.dart +++ b/frontend/lib/widgets/recent_search_word.dart @@ -2,21 +2,16 @@ import 'package:flutter/material.dart'; import 'package:frontend/colors/app_colors.dart'; class RecentSearchWord extends StatelessWidget { - const RecentSearchWord({super.key}); + final String text; - // final String text; - // final VoidCallback onDelete; - - // const RecentSearchWord({ - // Key? key, - // required this.text, - // required this.onDelete, - // }) : super(key: key); + const RecentSearchWord({ + super.key, + required this.text, + }); @override Widget build(BuildContext context) { return Container( - width: 100, margin: const EdgeInsets.symmetric(horizontal: 4.0), decoration: BoxDecoration( color: AppColors.recentSearchColor, @@ -27,18 +22,20 @@ class RecentSearchWord extends StatelessWidget { child: Row( mainAxisSize: MainAxisSize.min, children: [ - const Flexible( + Flexible( child: Text( - "안녕안녕안녕안녕안녕", + text, overflow: TextOverflow.fade, maxLines: 1, softWrap: false, - style: TextStyle(color: Colors.black), + style: const TextStyle(color: Colors.black), ), ), const SizedBox(width: 4.0), GestureDetector( - // onTap: , + onTap: () { + // 삭제 로직 구현 + }, child: const Icon( Icons.cancel, size: 16.0, diff --git a/frontend/lib/widgets/search_box.dart b/frontend/lib/widgets/search_box.dart index 3421477..ca0e585 100644 --- a/frontend/lib/widgets/search_box.dart +++ b/frontend/lib/widgets/search_box.dart @@ -1,23 +1,57 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:frontend/colors/app_colors.dart'; +import 'package:frontend/pages/search_page.dart'; import 'package:frontend/services/api_service.dart'; +import 'package:frontend/models/search_content_dto.dart'; class SearchBox extends StatefulWidget { - const SearchBox( - {super.key, required this.isComeFromHome, required this.isDrama}); + const SearchBox({ + super.key, + required this.isComeFromHome, + required this.isDrama, + this.hint, + }); final bool isComeFromHome; final bool isDrama; + final String? hint; @override _SearchBoxState createState() => _SearchBoxState(); } class _SearchBoxState extends State { - void _onSearchIconTapped() { + final TextEditingController textEditingController = TextEditingController(); + late String keyword; + + @override + void initState() { + super.initState(); + textEditingController.text = widget.hint ?? ''; + keyword = widget.hint ?? ''; + } + + void _onSearchIconTapped() async { + String type = widget.isDrama ? 'Drama' : 'Movie'; + SearchContentResponse? data = await APIService.search(keyword, type); + if (widget.isComeFromHome) { - } else {} + WidgetsBinding.instance.addPostFrameCallback((_) { + Navigator.push( + context, + MaterialPageRoute( + builder: (context) => SearchPage( + isDrama: widget.isDrama, + hint: textEditingController.text, + searchContentResponse: data, + ), + ), + ); + }); + } else { + // 홈에서 오지 않은 경우의 처리 + } } @override @@ -27,38 +61,39 @@ class _SearchBoxState extends State { child: Column( children: [ TextField( + controller: textEditingController, decoration: InputDecoration( - hintText: '다양한 컨텐츠들을 검색해보아요.', + hintText: widget.hint ?? '다양한 컨텐츠들을 검색해보아요.', suffixIcon: InkWell( onTap: _onSearchIconTapped, child: Padding( - padding: const EdgeInsets.all(10.0), // 아이콘 여백 조정 + padding: const EdgeInsets.all(10.0), child: SvgPicture.asset( 'assets/icons/search.svg', - width: 20, // SVG 아이콘의 크기를 조정 + width: 20, height: 20, - color: AppColors.mainOrangeColor, // 아이콘 색상 설정 + color: AppColors.mainOrangeColor, ), ), ), - filled: true, // 배경을 채우기 위해 설정 - fillColor: Colors.white, // 배경을 흰색으로 설정 - border: OutlineInputBorder( - borderRadius: const BorderRadius.all(Radius.circular(15.0)), + filled: true, + fillColor: Colors.white, + border: const OutlineInputBorder( + borderRadius: BorderRadius.all(Radius.circular(15.0)), borderSide: BorderSide( color: AppColors.mainOrangeColor, width: 3.0, ), ), - enabledBorder: OutlineInputBorder( - borderRadius: const BorderRadius.all(Radius.circular(15.0)), + enabledBorder: const OutlineInputBorder( + borderRadius: BorderRadius.all(Radius.circular(15.0)), borderSide: BorderSide( color: AppColors.mainOrangeColor, width: 3.0, ), ), - focusedBorder: OutlineInputBorder( - borderRadius: const BorderRadius.all(Radius.circular(15.0)), + focusedBorder: const OutlineInputBorder( + borderRadius: BorderRadius.all(Radius.circular(15.0)), borderSide: BorderSide( color: AppColors.mainOrangeColor, width: 3.0, @@ -66,7 +101,9 @@ class _SearchBoxState extends State { ), ), onChanged: (text) { - // 검색어가 입력될 때 수행할 동작 + setState(() { + keyword = text; + }); }, ), ], diff --git a/frontend/lib/widgets/select_movie_drama_tab.dart b/frontend/lib/widgets/select_movie_drama_tab.dart index 6550e67..029d7a7 100644 --- a/frontend/lib/widgets/select_movie_drama_tab.dart +++ b/frontend/lib/widgets/select_movie_drama_tab.dart @@ -2,7 +2,9 @@ import 'package:flutter/material.dart'; import 'package:frontend/colors/app_colors.dart'; class SelectMovieDramaTab extends StatefulWidget { - const SelectMovieDramaTab({super.key}); + final ValueChanged onTabSelected; + + const SelectMovieDramaTab({super.key, required this.onTabSelected}); @override _SelectMovieDramaTabState createState() => _SelectMovieDramaTabState(); @@ -16,6 +18,11 @@ class _SelectMovieDramaTabState extends State void initState() { super.initState(); tabController = TabController(length: 2, vsync: this); + tabController.addListener(() { + if (!tabController.indexIsChanging) { + widget.onTabSelected(tabController.index); + } + }); } @override @@ -40,7 +47,7 @@ class _SelectMovieDramaTabState extends State ), ), ), - indicatorSize: TabBarIndicatorSize.tab, // 인디케이터 크기를 탭 크기에 맞춤 + indicatorSize: TabBarIndicatorSize.tab, labelColor: Colors.black, unselectedLabelColor: Colors.grey, labelStyle: const TextStyle( diff --git a/frontend/lib/widgets/selectable_circle.dart b/frontend/lib/widgets/selectable_circle.dart index da05bf2..43d3272 100644 --- a/frontend/lib/widgets/selectable_circle.dart +++ b/frontend/lib/widgets/selectable_circle.dart @@ -1,10 +1,15 @@ import 'package:flutter/material.dart'; class SelectableCircle extends StatefulWidget { - // final String label; + final String contentTitle; + final String contentImage; + final VoidCallback onTap; // 추가된 onTap 콜백 const SelectableCircle({ Key? key, + required this.contentTitle, + required this.contentImage, + required this.onTap, // onTap 콜백을 받아옴 }) : super(key: key); @override @@ -23,15 +28,19 @@ class _SelectableCircleState extends State { @override Widget build(BuildContext context) { return GestureDetector( - onTap: _toggleSelection, + onTap: () { + _toggleSelection(); + widget.onTap(); // 탭 시 onTap 콜백 호출 + }, child: Column( children: [ Stack( alignment: Alignment.center, children: [ - // 회색 원 + // 이미지가 들어간 원 CircleAvatar( radius: 35, + backgroundImage: NetworkImage(widget.contentImage), backgroundColor: Colors.grey.shade300, ), // 주황색 테두리가 그려진 원 @@ -49,31 +58,17 @@ class _SelectableCircleState extends State { ], ), const SizedBox(height: 8), - Text("영화", - style: TextStyle(color: isSelected ? Colors.black : Colors.grey)), + Text( + widget.contentTitle, + style: TextStyle( + color: isSelected ? Colors.black : Colors.grey, + overflow: TextOverflow.ellipsis, + ), + maxLines: 1, + textAlign: TextAlign.center, + ), ], ), ); } } - -class CircleGrid extends StatelessWidget { - const CircleGrid({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return GridView.builder( - padding: const EdgeInsets.all(16.0), - gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount( - crossAxisCount: 3, // 한 줄에 3개의 항목 - crossAxisSpacing: 10.0, - mainAxisSpacing: 10.0, - childAspectRatio: 1, // 정사각형 비율 - ), - itemCount: 9, // 예시를 위해 9개의 아이템을 표시 - itemBuilder: (context, index) { - return const SelectableCircle(); - }, - ); - } -}