disable burger menu in msg mode
This commit is contained in:
parent
e135556fa6
commit
dd2abde5b8
@ -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
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user