diff --git a/core/lib/presentation/extensions/color_extension.dart b/core/lib/presentation/extensions/color_extension.dart index 52317dee6..1aad56566 100644 --- a/core/lib/presentation/extensions/color_extension.dart +++ b/core/lib/presentation/extensions/color_extension.dart @@ -232,6 +232,7 @@ extension AppColor on Color { static const messageDialogColor = Color(0xFF8C9CAF); static const messageDialogHighlightColor = Color(0xFF37383A); static const labelColor = Color(0xFF71767C); + static const thumbScrollbarColor = Color(0xFFC1C1C1); static const mapGradientColor = [ [Color(0xFF21D4FD), Color(0xFFB721FF)], diff --git a/lib/features/base/widget/custom_scroll_behavior.dart b/lib/features/base/widget/custom_scroll_behavior.dart deleted file mode 100644 index 36180d7df..000000000 --- a/lib/features/base/widget/custom_scroll_behavior.dart +++ /dev/null @@ -1,10 +0,0 @@ -import 'package:flutter/gestures.dart'; -import 'package:flutter/material.dart'; - -class CustomScrollBehavior extends MaterialScrollBehavior { - @override - Set get dragDevices => { - PointerDeviceKind.touch, - PointerDeviceKind.mouse, - }; -} diff --git a/lib/features/base/widget/scrollbar_list_view.dart b/lib/features/base/widget/scrollbar_list_view.dart new file mode 100644 index 000000000..d27788fbb --- /dev/null +++ b/lib/features/base/widget/scrollbar_list_view.dart @@ -0,0 +1,32 @@ +import 'package:core/presentation/extensions/color_extension.dart'; +import 'package:flutter/material.dart'; + +class ScrollbarListView extends StatelessWidget { + + final Widget child; + final ScrollController scrollController; + final ScrollBehavior? scrollBehavior; + + const ScrollbarListView({ + super.key, + required this.child, + required this.scrollController, + this.scrollBehavior + }); + + @override + Widget build(BuildContext context) { + return RawScrollbar( + thumbColor: AppColor.thumbScrollbarColor, + radius: const Radius.circular(10.0), + trackRadius: const Radius.circular(10.0), + minThumbLength: 70, + minOverscrollLength: 70, + controller: scrollController, + child: ScrollConfiguration( + behavior: scrollBehavior ?? ScrollConfiguration.of(context).copyWith(scrollbars: false), + child: child, + ), + ); + } +} \ No newline at end of file