fix: search page vertical scrollbar moves on horizontal scroll #1017

This commit is contained in:
Kingkor Roy Tirtho 2024-01-05 20:02:27 +06:00
parent 988a975bf1
commit c203ac69ee

View File

@ -55,48 +55,52 @@ class HorizontalPlaybuttonCardView<T> extends HookWidget {
), ),
SizedBox( SizedBox(
height: height, height: height,
child: ScrollConfiguration( child: NotificationListener(
behavior: ScrollConfiguration.of(context).copyWith( // disable multiple scrollbar to use this
dragDevices: { onNotification: (notification) => true,
PointerDeviceKind.touch, child: ScrollConfiguration(
PointerDeviceKind.mouse, behavior: ScrollConfiguration.of(context).copyWith(
}, dragDevices: {
), PointerDeviceKind.touch,
child: items.isEmpty PointerDeviceKind.mouse,
? ListView.builder( },
scrollDirection: Axis.horizontal, ),
itemCount: 5, child: items.isEmpty
itemBuilder: (context, index) { ? ListView.builder(
return AlbumCard(FakeData.albumSimple); scrollDirection: Axis.horizontal,
}, itemCount: 5,
) itemBuilder: (context, index) {
: InfiniteList( return AlbumCard(FakeData.albumSimple);
scrollController: scrollController, },
scrollDirection: Axis.horizontal, )
padding: const EdgeInsets.symmetric(vertical: 8.0), : InfiniteList(
itemCount: items.length, scrollController: scrollController,
onFetchData: onFetchMore, scrollDirection: Axis.horizontal,
loadingBuilder: (context) => Skeletonizer( padding: const EdgeInsets.symmetric(vertical: 8.0),
enabled: true, itemCount: items.length,
child: AlbumCard(FakeData.albumSimple), onFetchData: onFetchMore,
), loadingBuilder: (context) => Skeletonizer(
isLoading: isLoadingNextPage, enabled: true,
hasReachedMax: !hasNextPage, child: AlbumCard(FakeData.albumSimple),
itemBuilder: (context, index) {
final item = items[index];
return switch (item.runtimeType) {
PlaylistSimple =>
PlaylistCard(item as PlaylistSimple),
Album => AlbumCard(item as Album),
Artist => Padding(
padding:
const EdgeInsets.symmetric(horizontal: 12.0),
child: ArtistCard(item as Artist),
), ),
_ => const SizedBox.shrink(), isLoading: isLoadingNextPage,
}; hasReachedMax: !hasNextPage,
}), itemBuilder: (context, index) {
final item = items[index];
return switch (item.runtimeType) {
PlaylistSimple =>
PlaylistCard(item as PlaylistSimple),
Album => AlbumCard(item as Album),
Artist => Padding(
padding: const EdgeInsets.symmetric(
horizontal: 12.0),
child: ArtistCard(item as Artist),
),
_ => const SizedBox.shrink(),
};
}),
),
), ),
), ),
], ],