diff --git a/app/lib/views/album/album_detail_view.dart b/app/lib/views/album/album_detail_view.dart index ff847cf..48f7d09 100644 --- a/app/lib/views/album/album_detail_view.dart +++ b/app/lib/views/album/album_detail_view.dart @@ -45,6 +45,17 @@ class _AlbumDetailViewState extends State { Widget build(BuildContext context) { return Scaffold( backgroundColor: AppColors.background, + appBar: AppBar( + backgroundColor: Colors.white, + foregroundColor: AppColors.textPrimary, + elevation: 0, + scrolledUnderElevation: 0, + leading: IconButton( + icon: const Icon(LucideIcons.arrowLeft), + onPressed: () => context.pop(), + ), + title: const Text('앨범', style: TextStyle(fontSize: 18, fontWeight: FontWeight.w600)), + ), body: FutureBuilder( future: _albumFuture, builder: (context, snapshot) { @@ -122,27 +133,8 @@ class _AlbumDetailViewState extends State { : album.tracks?.take(5).toList(); return CustomScrollView( + physics: const ClampingScrollPhysics(), slivers: [ - // 앱바 - SliverAppBar( - pinned: true, - backgroundColor: Colors.white, - foregroundColor: AppColors.textPrimary, - elevation: 0, - scrolledUnderElevation: 0, - leading: IconButton( - icon: const Icon(LucideIcons.arrowLeft), - onPressed: () => context.pop(), - ), - title: const Text( - '앨범', - style: TextStyle( - fontSize: 18, - fontWeight: FontWeight.w600, - ), - ), - ), - // 히어로 섹션 SliverToBoxAdapter( child: _HeroSection(album: album, formatDate: _formatDate), diff --git a/app/lib/views/album/album_gallery_view.dart b/app/lib/views/album/album_gallery_view.dart index 90d0d08..5cfbe19 100644 --- a/app/lib/views/album/album_gallery_view.dart +++ b/app/lib/views/album/album_gallery_view.dart @@ -36,6 +36,17 @@ class _AlbumGalleryViewState extends State { Widget build(BuildContext context) { return Scaffold( backgroundColor: AppColors.background, + appBar: AppBar( + backgroundColor: Colors.white, + foregroundColor: AppColors.textPrimary, + elevation: 0, + scrolledUnderElevation: 0, + leading: IconButton( + icon: const Icon(LucideIcons.arrowLeft), + onPressed: () => context.pop(), + ), + title: const Text('컨셉 포토', style: TextStyle(fontSize: 18, fontWeight: FontWeight.w600)), + ), body: FutureBuilder( future: _albumFuture, builder: (context, snapshot) { @@ -103,26 +114,8 @@ class _AlbumGalleryViewState extends State { } return CustomScrollView( + physics: const ClampingScrollPhysics(), slivers: [ - // 앱바 - SliverAppBar( - pinned: true, - backgroundColor: Colors.white, - foregroundColor: AppColors.textPrimary, - elevation: 0, - scrolledUnderElevation: 0, - leading: IconButton( - icon: const Icon(LucideIcons.arrowLeft), - onPressed: () => context.pop(), - ), - title: const Text( - '앨범', - style: TextStyle( - fontSize: 18, - fontWeight: FontWeight.w600, - ), - ), - ), // 앨범 헤더 카드 SliverToBoxAdapter( diff --git a/app/lib/views/album/track_detail_view.dart b/app/lib/views/album/track_detail_view.dart index daa9ad7..250f477 100644 --- a/app/lib/views/album/track_detail_view.dart +++ b/app/lib/views/album/track_detail_view.dart @@ -62,6 +62,17 @@ class _TrackDetailViewState extends State { Widget build(BuildContext context) { return Scaffold( backgroundColor: AppColors.background, + appBar: AppBar( + backgroundColor: Colors.white, + foregroundColor: AppColors.textPrimary, + elevation: 0, + scrolledUnderElevation: 0, + leading: IconButton( + icon: const Icon(LucideIcons.arrowLeft), + onPressed: () => context.pop(), + ), + title: const Text('트랙', style: TextStyle(fontSize: 18, fontWeight: FontWeight.w600)), + ), body: FutureBuilder( future: _trackFuture, builder: (context, snapshot) { @@ -93,23 +104,8 @@ class _TrackDetailViewState extends State { final youtubeVideoId = _getYoutubeVideoId(track.musicVideoUrl); return CustomScrollView( + physics: const ClampingScrollPhysics(), slivers: [ - // 앱바 - SliverAppBar( - pinned: true, - backgroundColor: Colors.white, - foregroundColor: AppColors.textPrimary, - elevation: 0, - leading: IconButton( - icon: const Icon(LucideIcons.arrowLeft), - onPressed: () => context.pop(), - ), - title: const Text( - '트랙', - style: TextStyle(fontSize: 18, fontWeight: FontWeight.w600), - ), - ), - // 트랙 정보 헤더 SliverToBoxAdapter( child: _TrackHeader(track: track),