diff --git a/frontend/spa/src/App.vue b/frontend/spa/src/App.vue
index 271c724..e03b531 100644
--- a/frontend/spa/src/App.vue
+++ b/frontend/spa/src/App.vue
@@ -21,6 +21,45 @@
+
+
@@ -66,7 +105,7 @@ const haptic = window.Telegram.WebApp.HapticFeedback;
const drawerOpen = ref(false);
// Инициализация жеста Swipe Back (без визуального индикатора)
-useSwipeBack();
+const swiperBack = useSwipeBack();
const routesToHideAppDock = [
'product.show',
@@ -75,6 +114,12 @@ const routesToHideAppDock = [
'filters',
];
+function easeOut(value, max) {
+ const x = Math.min(Math.abs(value) / max, 1)
+ const eased = 1 - (1 - x) ** 3
+ return Math.sign(value) * eased * max
+}
+
const isAppDockShown = computed(() => {
if (routesToHideAppDock.indexOf(route.name) === -1) {
// Скрываем Dock, если клавиатура открыта на странице поиска
diff --git a/frontend/spa/src/composables/useSwipeBack.js b/frontend/spa/src/composables/useSwipeBack.js
index 45e6861..961f095 100644
--- a/frontend/spa/src/composables/useSwipeBack.js
+++ b/frontend/spa/src/composables/useSwipeBack.js
@@ -20,7 +20,7 @@ export function useSwipeBack() {
// Конфигурация
const EDGE_THRESHOLD = 20; // Расстояние от левого края для активации (px)
- const ACTIVATION_THRESHOLD = 40; // Пороговое расстояние для активации (px)
+ const ACTIVATION_THRESHOLD = 80; // Пороговое расстояние для активации (px)
const MAX_DELTA = 80; // Максимальное расстояние для расчета прогресса (px)
let touchStartX = 0;
@@ -198,6 +198,7 @@ export function useSwipeBack() {
});
return {
+ isTracking,
isActive,
deltaX,
progress,