| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- //
- // LNJoinUsReviewViewController.swift
- // Gami
- //
- // Created by OneeChan on 2026/1/20.
- //
- import Foundation
- import UIKit
- import SnapKit
- extension UIView {
- func pushToJoinUsReview(_ animated: Bool = true) {
- let vc = LNJoinUsReviewViewController()
-
- let fromJoin = navigationController?.viewControllers.last is LNJoinUsViewController
- if fromJoin, var viewControllers = navigationController?.viewControllers {
- viewControllers.removeLast()
- viewControllers.append(vc)
- navigationController?.setViewControllers(viewControllers, animated: true)
- } else {
- navigationController?.pushViewController(vc, animated: true)
- }
- }
- }
- class LNJoinUsReviewViewController: LNViewController {
- override func viewDidLoad() {
- super.viewDidLoad()
-
- setupViews()
- }
- }
- extension LNJoinUsReviewViewController {
- private func setupViews() {
- navigationBarColor = .clear
-
- title = .init(key: "B00031")
-
- let bg = UIImageView()
- bg.image = .icJoinUsReviewBg
- bg.backgroundColor = .white
- view.addSubview(bg)
- bg.snp.makeConstraints { make in
- make.horizontalEdges.equalToSuperview()
- make.top.equalTo(fakeNaviBgView)
- }
-
- let infoView = buildInfoView()
- view.addSubview(infoView)
- infoView.snp.makeConstraints { make in
- make.horizontalEdges.equalToSuperview()
- make.centerY.equalToSuperview().multipliedBy(0.75)
- }
- }
-
- private func buildInfoView() -> UIView {
- let container = UIView()
-
- let icon = UIImageView()
- icon.image = .icJoinUsReview
- container.addSubview(icon)
- icon.snp.makeConstraints { make in
- make.centerX.equalToSuperview()
- make.top.equalToSuperview()
- }
-
- let titleLabel = UILabel()
- titleLabel.text = .init(key: "B00061")
- titleLabel.font = .heading_h3
- titleLabel.textColor = .text_5
- titleLabel.numberOfLines = 0
- titleLabel.textAlignment = .center
- container.addSubview(titleLabel)
- titleLabel.snp.makeConstraints { make in
- make.horizontalEdges.equalToSuperview().inset(32)
- make.top.equalTo(icon.snp.bottom).offset(10)
- }
-
- let descLabel = UILabel()
- descLabel.text = .init(key: "B00062")
- descLabel.font = .body_s
- descLabel.textColor = .text_5
- descLabel.numberOfLines = 0
- descLabel.textAlignment = .center
- container.addSubview(descLabel)
- descLabel.snp.makeConstraints { make in
- make.horizontalEdges.equalToSuperview().inset(32)
- make.bottom.equalToSuperview()
- make.top.equalTo(titleLabel.snp.bottom).offset(4)
- }
-
- return container
- }
- }
- #if DEBUG
- import SwiftUI
- struct LNJoinUsReviewViewControllerPreview: UIViewControllerRepresentable {
- func makeUIViewController(context: Context) -> some UIViewController {
- LNJoinUsReviewViewController()
- }
-
- func updateUIViewController(_ uiViewController: UIViewControllerType, context: Context) { }
- }
- #Preview(body: {
- LNJoinUsReviewViewControllerPreview()
- })
- #endif
|