add context menu in msg
This commit is contained in:
parent
59a1c6e035
commit
ec70d1f59d
@ -491,6 +491,9 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"Выбрать" : {
|
||||||
|
|
||||||
},
|
},
|
||||||
"Выйти из аккаунта" : {
|
"Выйти из аккаунта" : {
|
||||||
"localizations" : {
|
"localizations" : {
|
||||||
@ -728,6 +731,9 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"Закрепить" : {
|
||||||
|
|
||||||
},
|
},
|
||||||
"Закрепить (скоро)" : {
|
"Закрепить (скоро)" : {
|
||||||
|
|
||||||
@ -983,6 +989,9 @@
|
|||||||
},
|
},
|
||||||
"Концепт" : {
|
"Концепт" : {
|
||||||
"comment" : "Tab bar: concept clicker"
|
"comment" : "Tab bar: concept clicker"
|
||||||
|
},
|
||||||
|
"Копировать" : {
|
||||||
|
|
||||||
},
|
},
|
||||||
"Корзина" : {
|
"Корзина" : {
|
||||||
"comment" : "Cart",
|
"comment" : "Cart",
|
||||||
@ -1791,6 +1800,9 @@
|
|||||||
},
|
},
|
||||||
"Основной режим находится в ранней разработке (около 10%)." : {
|
"Основной режим находится в ранней разработке (около 10%)." : {
|
||||||
|
|
||||||
|
},
|
||||||
|
"Ответить" : {
|
||||||
|
|
||||||
},
|
},
|
||||||
"Отключить" : {
|
"Отключить" : {
|
||||||
"comment" : "Кнопка подтверждения отключения 2FA"
|
"comment" : "Кнопка подтверждения отключения 2FA"
|
||||||
@ -2050,6 +2062,9 @@
|
|||||||
},
|
},
|
||||||
"Перейдите в раздел \"Настройки > Сменить пароль\" и следуйте инструкциям." : {
|
"Перейдите в раздел \"Настройки > Сменить пароль\" и следуйте инструкциям." : {
|
||||||
"comment" : "FAQ answer: reset password"
|
"comment" : "FAQ answer: reset password"
|
||||||
|
},
|
||||||
|
"Переслать" : {
|
||||||
|
|
||||||
},
|
},
|
||||||
"По умолчанию это полноценная соцсеть с лентой, историями и подписками. Если нужно только общение без лишнего контента, переключитесь на режим “Только чаты”. Переключить режим можно в любой момент." : {
|
"По умолчанию это полноценная соцсеть с лентой, историями и подписками. Если нужно только общение без лишнего контента, переключитесь на режим “Только чаты”. Переключить режим можно в любой момент." : {
|
||||||
|
|
||||||
@ -2484,6 +2499,9 @@
|
|||||||
},
|
},
|
||||||
"Профиль пока не загружен. Попробуйте позже." : {
|
"Профиль пока не загружен. Попробуйте позже." : {
|
||||||
"comment" : "Profile not ready error"
|
"comment" : "Profile not ready error"
|
||||||
|
},
|
||||||
|
"Прочитано" : {
|
||||||
|
|
||||||
},
|
},
|
||||||
"Прямого сброса пароля нет: сменить его можно только из настроек, уже будучи в аккаунте. Если привязана почта или другое 2FA-устройство, воспользуйтесь входом по коду - он подтвердит вашу личность и пустит в аккаунт. После входа откройте настройки → безопасность и задайте новый пароль." : {
|
"Прямого сброса пароля нет: сменить его можно только из настроек, уже будучи в аккаунте. Если привязана почта или другое 2FA-устройство, воспользуйтесь входом по коду - он подтвердит вашу личность и пустит в аккаунт. После входа откройте настройки → безопасность и задайте новый пароль." : {
|
||||||
|
|
||||||
|
|||||||
@ -259,6 +259,92 @@ struct PrivateChatView: View {
|
|||||||
.padding(.horizontal, 8)
|
.padding(.horizontal, 8)
|
||||||
.padding(.top, topPadding)
|
.padding(.top, topPadding)
|
||||||
.padding(.vertical, verticalPadding)
|
.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(
|
private func messageBubble(
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user