burger menu pos

This commit is contained in:
cheykrym 2025-08-14 02:27:34 +03:00
parent f172e33123
commit 927ac45ec8

View File

@ -92,13 +92,14 @@ struct MainView: View {
let translation = gesture.translation.width
if isSideMenuPresented {
// При закрытии двигаем от 0 до -menuWidth
self.menuOffset = max(0, menuWidth + translation)
} else {
// При открытии двигаем от 0 до menuWidth
self.menuOffset = min(menuWidth, translation)
}
// Определяем базовое смещение в зависимости от того, открыто меню или нет
let baseOffset = isSideMenuPresented ? menuWidth : 0
// Новое смещение это база плюс текущий свайп
let newOffset = baseOffset + translation
// Жестко ограничиваем итоговое смещение между 0 и шириной меню
self.menuOffset = max(0, min(menuWidth, newOffset))
}
.onEnded { gesture in
if !isSideMenuPresented && gesture.startLocation.x > 60 { return }
@ -111,7 +112,7 @@ struct MainView: View {
} else {
isSideMenuPresented = false
}
// Сбрасываем menuOffset, так как isSideMenuPresented теперь главный источник истины
// Устанавливаем финальное смещение после анимации
self.menuOffset = isSideMenuPresented ? menuWidth : 0
}
}