mirror of
https://github.com/vector-im/element-ios.git
synced 2024-09-28 23:32:41 +00:00
Add “learn more” button in UserOtherSessions
This commit is contained in:
parent
c6342a3ea2
commit
8ababcf52e
3 changed files with 20 additions and 12 deletions
|
@ -119,15 +119,15 @@ private extension UserOtherSessionsFilter {
|
||||||
iconName: nil)
|
iconName: nil)
|
||||||
case .inactive:
|
case .inactive:
|
||||||
return UserOtherSessionsHeaderViewData(title: VectorL10n.userOtherSessionFilterMenuInactive,
|
return UserOtherSessionsHeaderViewData(title: VectorL10n.userOtherSessionFilterMenuInactive,
|
||||||
subtitle: VectorL10n.userSessionsOverviewSecurityRecommendationsInactiveInfo,
|
subtitle: VectorL10n.userSessionsOverviewSecurityRecommendationsInactiveInfo + " %@",
|
||||||
iconName: Asset.Images.userOtherSessionsInactive.name)
|
iconName: Asset.Images.userOtherSessionsInactive.name)
|
||||||
case .unverified:
|
case .unverified:
|
||||||
return UserOtherSessionsHeaderViewData(title: VectorL10n.userSessionUnverifiedShort,
|
return UserOtherSessionsHeaderViewData(title: VectorL10n.userSessionUnverifiedShort,
|
||||||
subtitle: VectorL10n.userOtherSessionUnverifiedSessionsHeaderSubtitle,
|
subtitle: VectorL10n.userOtherSessionUnverifiedSessionsHeaderSubtitle + " %@",
|
||||||
iconName: Asset.Images.userOtherSessionsUnverified.name)
|
iconName: Asset.Images.userOtherSessionsUnverified.name)
|
||||||
case .verified:
|
case .verified:
|
||||||
return UserOtherSessionsHeaderViewData(title: VectorL10n.userOtherSessionFilterMenuVerified,
|
return UserOtherSessionsHeaderViewData(title: VectorL10n.userOtherSessionFilterMenuVerified,
|
||||||
subtitle: VectorL10n.userOtherSessionVerifiedSessionsHeaderSubtitle,
|
subtitle: VectorL10n.userOtherSessionVerifiedSessionsHeaderSubtitle + " %@",
|
||||||
iconName: Asset.Images.userOtherSessionsVerified.name)
|
iconName: Asset.Images.userOtherSessionsVerified.name)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -30,9 +30,14 @@ struct UserOtherSessions: View {
|
||||||
itemsView()
|
itemsView()
|
||||||
}
|
}
|
||||||
} header: {
|
} header: {
|
||||||
UserOtherSessionsHeaderView(viewData: viewModel.viewState.header)
|
UserOtherSessionsHeaderView(
|
||||||
.frame(maxWidth: .infinity, alignment: .leading)
|
viewData: viewModel.viewState.header,
|
||||||
.padding(.top, 24.0)
|
onLearnMoreAction: {
|
||||||
|
|
||||||
|
}
|
||||||
|
)
|
||||||
|
.frame(maxWidth: .infinity, alignment: .leading)
|
||||||
|
.padding(.top, 24.0)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.onChange(of: viewModel.isEditModeEnabled) { _ in
|
.onChange(of: viewModel.isEditModeEnabled) { _ in
|
||||||
|
|
|
@ -17,9 +17,9 @@
|
||||||
import SwiftUI
|
import SwiftUI
|
||||||
|
|
||||||
struct UserOtherSessionsHeaderViewData: Hashable {
|
struct UserOtherSessionsHeaderViewData: Hashable {
|
||||||
var title: String?
|
let title: String?
|
||||||
let subtitle: String
|
let subtitle: String
|
||||||
var iconName: String?
|
let iconName: String?
|
||||||
}
|
}
|
||||||
|
|
||||||
struct UserOtherSessionsHeaderView: View {
|
struct UserOtherSessionsHeaderView: View {
|
||||||
|
@ -30,6 +30,7 @@ struct UserOtherSessionsHeaderView: View {
|
||||||
@Environment(\.theme) private var theme
|
@Environment(\.theme) private var theme
|
||||||
|
|
||||||
let viewData: UserOtherSessionsHeaderViewData
|
let viewData: UserOtherSessionsHeaderViewData
|
||||||
|
var onLearnMoreAction: (() -> Void)?
|
||||||
|
|
||||||
var body: some View {
|
var body: some View {
|
||||||
HStack(alignment: .top, spacing: 0) {
|
HStack(alignment: .top, spacing: 0) {
|
||||||
|
@ -48,10 +49,12 @@ struct UserOtherSessionsHeaderView: View {
|
||||||
.foregroundColor(theme.colors.primaryContent)
|
.foregroundColor(theme.colors.primaryContent)
|
||||||
.padding(.vertical, 9.0)
|
.padding(.vertical, 9.0)
|
||||||
}
|
}
|
||||||
Text(viewData.subtitle)
|
InlineTextButton(viewData.subtitle, tappableText: VectorL10n.userSessionLearnMore) {
|
||||||
.font(theme.fonts.footnote)
|
onLearnMoreAction?()
|
||||||
.foregroundColor(theme.colors.secondaryContent)
|
}
|
||||||
.padding(.bottom, 20.0)
|
.font(theme.fonts.footnote)
|
||||||
|
.foregroundColor(theme.colors.secondaryContent)
|
||||||
|
.padding(.bottom, 20.0)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
.frame(maxWidth: .infinity, alignment: .leading)
|
.frame(maxWidth: .infinity, alignment: .leading)
|
||||||
|
|
Loading…
Reference in a new issue