From 0ea1b346f23f70432348dedea5e5a0f31c45ac3f Mon Sep 17 00:00:00 2001
From: JaviMetalCBA <73643585+JaviMetalCBA@users.noreply.github.com>
Date: Thu, 29 Oct 2020 13:32:24 +0100
Subject: [PATCH] Fix button enabled despite disableColor

Fixed control buttons making jump-loops despite showing disableColor. My implementation conditions the onTap response to the button color or loop being enabled.
---
 lib/src/swiper_control.dart | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/lib/src/swiper_control.dart b/lib/src/swiper_control.dart
index 158b460..039e984 100644
--- a/lib/src/swiper_control.dart
+++ b/lib/src/swiper_control.dart
@@ -36,10 +36,13 @@ class SwiperControl extends SwiperPlugin {
     return new GestureDetector(
       behavior: HitTestBehavior.opaque,
       onTap: () {
+        ///condition onTap animation to loop status or presence of previous or next index (avoiding jump-loop).
+        bool isPrev = config.activeIndex > 0;
+        bool isNext = config.activeIndex < config.itemCount - 1;
         if (previous) {
-          config.controller.previous(animation: true);
+          if (isPrev || config.loop) config.controller.previous(animation: true);
         } else {
-          config.controller.next(animation: true);
+          if (isNext || config.loop) config.controller.next(animation: true);
         }
       },
       child: Padding(