change names

This commit is contained in:
cheykrym 2025-10-08 03:10:24 +03:00
parent dd5680742c
commit 28ae309042
2 changed files with 36 additions and 24 deletions

View File

@ -177,6 +177,9 @@
}, },
"Включить автоудаление аккаунта" : { "Включить автоудаление аккаунта" : {
},
"Включить ограничитель таймера автоудаления в ЛС" : {
}, },
"Вложение" : { "Вложение" : {
@ -826,6 +829,9 @@
}, },
"Обратная связь" : { "Обратная связь" : {
},
"Ограничить таймер автоудаления (максимум): %@" : {
}, },
"Описание" : { "Описание" : {
@ -1071,6 +1077,9 @@
}, },
"Попробуйте изменить запрос поиска." : { "Попробуйте изменить запрос поиска." : {
},
"Приватные чаты" : {
}, },
"Приглашение достигло лимита использования." : { "Приглашение достигло лимита использования." : {
"localizations" : { "localizations" : {
@ -1121,7 +1130,7 @@
"Принимать сообщения от незнакомцев" : { "Принимать сообщения от незнакомцев" : {
}, },
"Принудительное автоудаление в ЛС (Приватный)" : { "Принудительное включение автоудаление сообщений" : {
}, },
"Проверьте данные и повторите попытку." : { "Проверьте данные и повторите попытку." : {
@ -1172,7 +1181,7 @@
"Разрешить поиск профиля" : { "Разрешить поиск профиля" : {
}, },
"Разрешить хранить чаты на сервере (Обычный)" : { "Разрешить хранить чаты на сервере" : {
}, },
"Регистрация" : { "Регистрация" : {
@ -1368,9 +1377,6 @@
} }
} }
} }
},
"Таймер автоудаления: %@" : {
}, },
"Тёмная" : { "Тёмная" : {
"localizations" : { "localizations" : {

View File

@ -11,13 +11,6 @@ struct EditPrivacyView: View {
private var privacyScopeOptions: [PrivacyScope] { PrivacyScope.allCases } private var privacyScopeOptions: [PrivacyScope] { PrivacyScope.allCases }
private var forceAutoDeleteBinding: Binding<Int> {
Binding(
get: { profilePermissions.maxMessageAutoDeleteSeconds ?? 30 },
set: { profilePermissions.maxMessageAutoDeleteSeconds = $0 }
)
}
private var autoDeleteAccountEnabled: Binding<Bool> { private var autoDeleteAccountEnabled: Binding<Bool> {
Binding( Binding(
get: { profilePermissions.autoDeleteAfterDays != nil }, get: { profilePermissions.autoDeleteAfterDays != nil },
@ -34,6 +27,22 @@ struct EditPrivacyView: View {
) )
} }
private var autoDeleteTimerEnabled: Binding<Bool> {
Binding(
get: { profilePermissions.maxMessageAutoDeleteSeconds != nil },
set: { newValue in
profilePermissions.maxMessageAutoDeleteSeconds = newValue ? (profilePermissions.maxMessageAutoDeleteSeconds ?? 30) : nil
}
)
}
private var autoDeleteTimerBinding: Binding<Int> {
Binding(
get: { profilePermissions.maxMessageAutoDeleteSeconds ?? 30 },
set: { profilePermissions.maxMessageAutoDeleteSeconds = min(max($0, 5), 86400) }
)
}
var body: some View { var body: some View {
Form { Form {
if isLoading { if isLoading {
@ -93,12 +102,16 @@ struct EditPrivacyView: View {
} }
Section(header: Text("Чаты и хранение")) { Section(header: Text("Чаты и хранение")) {
Toggle("Разрешить хранить чаты на сервере (Обычный)", isOn: $profilePermissions.allowServerChats) Toggle("Разрешить хранить чаты на сервере", isOn: $profilePermissions.allowServerChats)
Toggle("Принудительное автоудаление в ЛС (Приватный)", isOn: $profilePermissions.forceAutoDeleteMessagesInPrivate) }
if profilePermissions.forceAutoDeleteMessagesInPrivate { Section(header: Text("Приватные чаты")) {
Stepper(value: forceAutoDeleteBinding, in: 5...86400, step: 5) { Toggle("Принудительное включение автоудаление сообщений", isOn: $profilePermissions.forceAutoDeleteMessagesInPrivate)
Text("Таймер автоудаления: \(formattedAutoDeleteSeconds(forceAutoDeleteBinding.wrappedValue))") Toggle("Включить ограничитель таймера автоудаления в ЛС", isOn: autoDeleteTimerEnabled)
if autoDeleteTimerEnabled.wrappedValue {
Stepper(value: autoDeleteTimerBinding, in: 5...86400, step: 5) {
Text("Ограничить таймер автоудаления (максимум): \(formattedAutoDeleteSeconds(autoDeleteTimerBinding.wrappedValue))")
} }
} }
} }
@ -153,13 +166,6 @@ struct EditPrivacyView: View {
) )
} }
.navigationTitle("Настройки приватности") .navigationTitle("Настройки приватности")
.onChange(of: profilePermissions.forceAutoDeleteMessagesInPrivate) { newValue in
if newValue {
profilePermissions.maxMessageAutoDeleteSeconds = profilePermissions.maxMessageAutoDeleteSeconds ?? 30
} else {
profilePermissions.maxMessageAutoDeleteSeconds = nil
}
}
.task { .task {
await loadProfile() await loadProfile()
} }