switch tabs by swipe gesture
This commit is contained in:
+5
-2
@@ -8,13 +8,15 @@ import 'package:text_scroll/text_scroll.dart';
|
||||
class AppBarTitle extends StatelessWidget {
|
||||
final TabState tab;
|
||||
|
||||
final void Function()? onTap;
|
||||
final void Function()? onLongPress;
|
||||
final VoidCallback? onTap;
|
||||
final VoidCallback? onLongPress;
|
||||
final GestureDragEndCallback? onHorizontalDragEnd;
|
||||
|
||||
const AppBarTitle({
|
||||
required this.tab,
|
||||
this.onTap,
|
||||
this.onLongPress,
|
||||
this.onHorizontalDragEnd,
|
||||
super.key,
|
||||
});
|
||||
|
||||
@@ -44,6 +46,7 @@ class AppBarTitle extends StatelessWidget {
|
||||
return GestureDetector(
|
||||
onTap: onTap,
|
||||
onLongPress: onLongPress,
|
||||
onHorizontalDragEnd: onHorizontalDragEnd,
|
||||
child: Row(
|
||||
children: [
|
||||
TabIcon(state: tab),
|
||||
|
||||
+7
-5
@@ -75,6 +75,13 @@ class BrowserBottomAppBar extends HookConsumerWidget {
|
||||
.loadUrl(url: newUrl);
|
||||
}
|
||||
},
|
||||
onHorizontalDragEnd: (details) async {
|
||||
if (details.localPosition.dx > 150) {
|
||||
await ref
|
||||
.read(tabRepositoryProvider.notifier)
|
||||
.selectPreviousTab();
|
||||
}
|
||||
},
|
||||
)
|
||||
: const SizedBox.shrink();
|
||||
},
|
||||
@@ -118,11 +125,6 @@ class BrowserBottomAppBar extends HookConsumerWidget {
|
||||
.show(ViewTabsSheet());
|
||||
}
|
||||
},
|
||||
onDoubleTap: () async {
|
||||
await ref
|
||||
.read(tabRepositoryProvider.notifier)
|
||||
.selectPreviousTab();
|
||||
},
|
||||
onLongPress: () {
|
||||
if (tabMenuController.isOpen) {
|
||||
tabMenuController.close();
|
||||
|
||||
Reference in New Issue
Block a user