mirror of
https://github.com/lux-tel/session-ios.git
synced 2026-10-30 20:38:32 +00:00
39 lines
1.1 KiB
Swift
39 lines
1.1 KiB
Swift
// Copyright © 2025 Rangeproof Pty Ltd. All rights reserved.
|
|
|
|
import Foundation
|
|
import DifferenceKit
|
|
|
|
public extension SessionListScreenContent {
|
|
protocol ListSection: Differentiable, Equatable, Hashable {
|
|
var title: String? { get }
|
|
var style: ListSectionStyle { get }
|
|
var divider: Bool { get }
|
|
var footer: String? { get }
|
|
}
|
|
|
|
enum ListSectionStyle: Equatable, Hashable, Differentiable {
|
|
case none
|
|
case titleWithTooltips(info: TooltipInfo)
|
|
case titleNoBackgroundContent
|
|
|
|
var height: CGFloat {
|
|
switch self {
|
|
case .none:
|
|
return 0
|
|
case .titleWithTooltips, .titleNoBackgroundContent:
|
|
return 44
|
|
}
|
|
}
|
|
|
|
var edgePadding: CGFloat {
|
|
switch self {
|
|
case .none:
|
|
return 0
|
|
case .titleWithTooltips, .titleNoBackgroundContent:
|
|
return (Values.largeSpacing + Values.mediumSpacing)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|