|
|
@@ -1,5 +1,5 @@
|
|
|
//
|
|
|
-// LNSharePostViewController.swift
|
|
|
+// LNPostShareViewController.swift
|
|
|
// Lanu
|
|
|
//
|
|
|
// Created by OneeChan on 2025/11/27.
|
|
|
@@ -12,18 +12,19 @@ import Combine
|
|
|
|
|
|
|
|
|
extension UIView {
|
|
|
- func pushToSharePost() {
|
|
|
- let vc = LNSharePostViewController()
|
|
|
+ func pushToPostShare() {
|
|
|
+ let vc = LNPostShareViewController()
|
|
|
navigationController?.pushViewController(vc, animated: true)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
-class LNSharePostViewController: LNViewController {
|
|
|
+class LNPostShareViewController: LNViewController {
|
|
|
private let postView = UIImageView()
|
|
|
|
|
|
private let skillStackView = UIStackView()
|
|
|
private var selectedSkills: [LNGameMateSkillVO] = []
|
|
|
+ private var lastDesc: String?
|
|
|
|
|
|
override func viewDidLoad() {
|
|
|
super.viewDidLoad()
|
|
|
@@ -31,12 +32,12 @@ class LNSharePostViewController: LNViewController {
|
|
|
setupViews()
|
|
|
prefetchSkillIcon()
|
|
|
|
|
|
- selectedSkills = myGameMateInfo?.skills ?? []
|
|
|
+ selectedSkills = Array(myGameMateInfo?.skills.prefix(3) ?? [])
|
|
|
updateSkillsView()
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-extension LNSharePostViewController {
|
|
|
+extension LNPostShareViewController {
|
|
|
private func prefetchSkillIcon() {
|
|
|
myGameMateInfo?.skills.forEach {
|
|
|
SDWebImageManager.shared.loadImage(with: URL(string: $0.icon),
|
|
|
@@ -44,9 +45,17 @@ extension LNSharePostViewController {
|
|
|
{ _, _, _, _, _, _ in }
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ private func loadLastOrder() {
|
|
|
+ LNOrderManager.shared.getLastOrder { [weak self] res in
|
|
|
+ guard let self else { return }
|
|
|
+ guard let res else { return }
|
|
|
+ lastDesc = .init(key: "在 %@ 与 %@ 进行了一场 %@ 比赛", Double(res.finishTime).formattedDate("."), res.nickname, res.bizCateGoryName)
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
-extension LNSharePostViewController {
|
|
|
+extension LNPostShareViewController {
|
|
|
private func updateSkillsView() {
|
|
|
skillStackView.arrangedSubviews.forEach {
|
|
|
skillStackView.removeArrangedSubview($0)
|
|
|
@@ -140,6 +149,7 @@ extension LNSharePostViewController {
|
|
|
|
|
|
let generator = LNPostShareImageGenerator()
|
|
|
generator.setInfo(info: info)
|
|
|
+ generator.setOrderInfo(desc: lastDesc)
|
|
|
generator.setAlbum(image: album)
|
|
|
generator.setSkills(skills: selectedSkills)
|
|
|
generator.setShareQRCode(url: .profileShareUrl + "?id=\(myUid)&share=app")
|
|
|
@@ -276,13 +286,13 @@ extension LNSharePostViewController {
|
|
|
let container = UIView()
|
|
|
container.backgroundColor = .fill
|
|
|
container.layer.cornerRadius = 20
|
|
|
-
|
|
|
- skillStackView.axis = .horizontal
|
|
|
- skillStackView.spacing = 10
|
|
|
- skillStackView.onTap { [weak self] in
|
|
|
+ container.onTap { [weak self] in
|
|
|
guard let self else { return }
|
|
|
showSkillSelectPanel()
|
|
|
}
|
|
|
+
|
|
|
+ skillStackView.axis = .horizontal
|
|
|
+ skillStackView.spacing = 10
|
|
|
container.addSubview(skillStackView)
|
|
|
skillStackView.snp.makeConstraints { make in
|
|
|
make.leading.equalToSuperview().offset(113)
|
|
|
@@ -421,7 +431,7 @@ import SwiftUI
|
|
|
|
|
|
struct LNSharePostViewControllerPreview: UIViewControllerRepresentable {
|
|
|
func makeUIViewController(context: Context) -> some UIViewController {
|
|
|
- LNSharePostViewController()
|
|
|
+ LNPostShareViewController()
|
|
|
}
|
|
|
|
|
|
func updateUIViewController(_ uiViewController: UIViewControllerType, context: Context) { }
|