92 lines
2.0 KiB
Swift
92 lines
2.0 KiB
Swift
//
|
|
// SPEmptyState.swift
|
|
// ShortPlay
|
|
//
|
|
// Created by Overseas on 2025/4/19.
|
|
//
|
|
|
|
import UIKit
|
|
import EmptyStateKit
|
|
|
|
struct SPEmptyParameters {
|
|
// var title: String = "暂无内容"
|
|
// var titleFont: UIFont = UIFont.text_md
|
|
// var titleColor: UIColor = UIColor.system_text_secondary_300
|
|
var image: UIImage? = UIImage(named: "empty_image_01")
|
|
// var buttonTitle: String?
|
|
}
|
|
|
|
enum SPEmptyState {
|
|
case normail(parameters: SPEmptyParameters)
|
|
}
|
|
|
|
extension SPEmptyState: CustomState {
|
|
|
|
var image: UIImage? {
|
|
switch self {
|
|
case .normail(let parameters):
|
|
return parameters.image
|
|
|
|
|
|
}
|
|
}
|
|
|
|
var title: String? {
|
|
switch self {
|
|
case .normail(let parameters):
|
|
return nil
|
|
|
|
}
|
|
}
|
|
|
|
// var titleButton: String? {
|
|
// switch self {
|
|
// case .normail(let parameters):
|
|
// return parameters.buttonTitle
|
|
// }
|
|
|
|
}
|
|
|
|
extension SPEmptyState {
|
|
var format: EmptyStateFormat {
|
|
|
|
var format = EmptyStateFormat()
|
|
format.backgroundColor = .clear
|
|
format.imageSize = self.image?.size ?? .zero
|
|
// format.verticalMargin = -10
|
|
//
|
|
// format.buttonWidth = 107
|
|
// format.buttonTopMargin = 10
|
|
// format.buttonColor = .system_fill_primary_100
|
|
// format.buttonAttributes = [
|
|
// .font: UIFont.text_md,
|
|
// .foregroundColor: UIColor.system_text_secondary_500
|
|
// ]
|
|
//
|
|
// switch self {
|
|
// case .normail(let p):
|
|
// format.titleAttributes = [
|
|
// .font: p.titleFont,
|
|
// .foregroundColor: p.titleColor
|
|
// ]
|
|
//
|
|
//
|
|
// case .login(let p):
|
|
// format.titleAttributes = [
|
|
// .font: p.titleFont,
|
|
// .foregroundColor: p.titleColor
|
|
// ]
|
|
//
|
|
//
|
|
// }
|
|
|
|
|
|
|
|
|
|
return format
|
|
}
|
|
}
|
|
|
|
|
|
|