disable burger menu in msg mode

This commit is contained in:
cheykrym 2025-10-23 23:55:19 +03:00
parent e135556fa6
commit dd2abde5b8

View File

@ -129,32 +129,36 @@ struct MainView: View {
.gesture( .gesture(
DragGesture() DragGesture()
.onChanged { gesture in .onChanged { gesture in
if !isSideMenuPresented && gesture.startLocation.x > 60 { return } if !isMessengerModeEnabled {
if !isSideMenuPresented && gesture.startLocation.x > 60 { return }
let translation = gesture.translation.width
let translation = gesture.translation.width
// Определяем базовое смещение в зависимости от того, открыто меню или нет
let baseOffset = isSideMenuPresented ? menuWidth : 0 // Определяем базовое смещение в зависимости от того, открыто меню или нет
let baseOffset = isSideMenuPresented ? menuWidth : 0
// Новое смещение это база плюс текущий свайп
let newOffset = baseOffset + translation // Новое смещение это база плюс текущий свайп
let newOffset = baseOffset + translation
// Жестко ограничиваем итоговое смещение между 0 и шириной меню
self.menuOffset = max(0, min(menuWidth, newOffset)) // Жестко ограничиваем итоговое смещение между 0 и шириной меню
self.menuOffset = max(0, min(menuWidth, newOffset))
}
} }
.onEnded { gesture in .onEnded { gesture in
if !isSideMenuPresented && gesture.startLocation.x > 60 { return } if !isMessengerModeEnabled {
if !isSideMenuPresented && gesture.startLocation.x > 60 { return }
let threshold = menuWidth * 0.4
let threshold = menuWidth * 0.4
withAnimation(.easeInOut) {
if self.menuOffset > threshold { withAnimation(.easeInOut) {
isSideMenuPresented = true if self.menuOffset > threshold {
} else { isSideMenuPresented = true
isSideMenuPresented = false } else {
isSideMenuPresented = false
}
// Устанавливаем финальное смещение после анимации
self.menuOffset = isSideMenuPresented ? menuWidth : 0
} }
// Устанавливаем финальное смещение после анимации
self.menuOffset = isSideMenuPresented ? menuWidth : 0
} }
} }
) )