add context menu in msg
This commit is contained in:
parent
59a1c6e035
commit
ec70d1f59d
@ -491,6 +491,9 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Выбрать" : {
|
||||
|
||||
},
|
||||
"Выйти из аккаунта" : {
|
||||
"localizations" : {
|
||||
@ -728,6 +731,9 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Закрепить" : {
|
||||
|
||||
},
|
||||
"Закрепить (скоро)" : {
|
||||
|
||||
@ -983,6 +989,9 @@
|
||||
},
|
||||
"Концепт" : {
|
||||
"comment" : "Tab bar: concept clicker"
|
||||
},
|
||||
"Копировать" : {
|
||||
|
||||
},
|
||||
"Корзина" : {
|
||||
"comment" : "Cart",
|
||||
@ -1791,6 +1800,9 @@
|
||||
},
|
||||
"Основной режим находится в ранней разработке (около 10%)." : {
|
||||
|
||||
},
|
||||
"Ответить" : {
|
||||
|
||||
},
|
||||
"Отключить" : {
|
||||
"comment" : "Кнопка подтверждения отключения 2FA"
|
||||
@ -2050,6 +2062,9 @@
|
||||
},
|
||||
"Перейдите в раздел \"Настройки > Сменить пароль\" и следуйте инструкциям." : {
|
||||
"comment" : "FAQ answer: reset password"
|
||||
},
|
||||
"Переслать" : {
|
||||
|
||||
},
|
||||
"По умолчанию это полноценная соцсеть с лентой, историями и подписками. Если нужно только общение без лишнего контента, переключитесь на режим “Только чаты”. Переключить режим можно в любой момент." : {
|
||||
|
||||
@ -2484,6 +2499,9 @@
|
||||
},
|
||||
"Профиль пока не загружен. Попробуйте позже." : {
|
||||
"comment" : "Profile not ready error"
|
||||
},
|
||||
"Прочитано" : {
|
||||
|
||||
},
|
||||
"Прямого сброса пароля нет: сменить его можно только из настроек, уже будучи в аккаунте. Если привязана почта или другое 2FA-устройство, воспользуйтесь входом по коду - он подтвердит вашу личность и пустит в аккаунт. После входа откройте настройки → безопасность и задайте новый пароль." : {
|
||||
|
||||
|
||||
@ -259,6 +259,92 @@ struct PrivateChatView: View {
|
||||
.padding(.horizontal, 8)
|
||||
.padding(.top, topPadding)
|
||||
.padding(.vertical, verticalPadding)
|
||||
.contextMenu {
|
||||
if isCurrentUser {
|
||||
if message.isViewed == true {
|
||||
Text("Прочитано") // Placeholder for read status
|
||||
}
|
||||
Button(action: {
|
||||
// Reply action
|
||||
}) {
|
||||
Text("Ответить")
|
||||
Image(systemName: "arrowshape.turn.up.left")
|
||||
}
|
||||
Button(action: {
|
||||
// Copy action
|
||||
}) {
|
||||
Text("Копировать")
|
||||
Image(systemName: "doc.on.doc")
|
||||
}
|
||||
Button(action: {
|
||||
// Edit action
|
||||
}) {
|
||||
Text("Изменить")
|
||||
Image(systemName: "pencil")
|
||||
}
|
||||
Button(action: {
|
||||
// Pin action
|
||||
}) {
|
||||
Text("Закрепить")
|
||||
Image(systemName: "pin")
|
||||
}
|
||||
Button(action: {
|
||||
// Forward action
|
||||
}) {
|
||||
Text("Переслать")
|
||||
Image(systemName: "arrowshape.turn.up.right")
|
||||
}
|
||||
Button(role: .destructive, action: {
|
||||
// Delete action
|
||||
}) {
|
||||
Text("Удалить")
|
||||
Image(systemName: "trash")
|
||||
}
|
||||
Button(action: {
|
||||
// Select action
|
||||
}) {
|
||||
Text("Выбрать")
|
||||
Image(systemName: "checkmark.circle")
|
||||
}
|
||||
} else {
|
||||
Button(action: {
|
||||
// Reply action
|
||||
}) {
|
||||
Text("Ответить")
|
||||
Image(systemName: "arrowshape.turn.up.left")
|
||||
}
|
||||
Button(action: {
|
||||
// Copy action
|
||||
}) {
|
||||
Text("Копировать")
|
||||
Image(systemName: "doc.on.doc")
|
||||
}
|
||||
Button(action: {
|
||||
// Pin action
|
||||
}) {
|
||||
Text("Закрепить")
|
||||
Image(systemName: "pin")
|
||||
}
|
||||
Button(action: {
|
||||
// Forward action
|
||||
}) {
|
||||
Text("Переслать")
|
||||
Image(systemName: "arrowshape.turn.up.right")
|
||||
}
|
||||
Button(role: .destructive, action: {
|
||||
// Delete action
|
||||
}) {
|
||||
Text("Удалить")
|
||||
Image(systemName: "trash")
|
||||
}
|
||||
Button(action: {
|
||||
// Select action
|
||||
}) {
|
||||
Text("Выбрать")
|
||||
Image(systemName: "checkmark.circle")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private func messageBubble(
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user