| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- //
- // LNSkillReviewViewController.swift
- // Gami
- //
- // Created by OneeChan on 2026/1/26.
- //
- import Foundation
- import UIKit
- import SnapKit
- extension UIView {
- func pushToSkillReview(cls: UIViewController.Type? = nil) {
- let vc = LNSkillReviewViewController()
-
- if let cls,
- let index = navigationController?.viewControllers.lastIndex (where: { type(of: $0) == cls }),
- var viewControllers = navigationController?.viewControllers {
- viewControllers = Array(viewControllers[0..<index])
- viewControllers.append(vc)
- navigationController?.setViewControllers(viewControllers, animated: true)
- } else {
- navigationController?.pushViewController(vc, animated: true)
- }
- }
- }
- class LNSkillReviewViewController: LNViewController {
- override func viewDidLoad() {
- super.viewDidLoad()
-
- setupViews()
- }
- }
- extension LNSkillReviewViewController {
- private func setupViews() {
- title = .init(key: "B00101")
- view.backgroundColor = .primary_1
-
- 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 LNSkillReviewViewControllerPreview: UIViewControllerRepresentable {
- func makeUIViewController(context: Context) -> some UIViewController {
- LNSkillReviewViewController()
- }
-
- func updateUIViewController(_ uiViewController: UIViewControllerType, context: Context) { }
- }
- #Preview(body: {
- LNSkillReviewViewControllerPreview()
- })
- #endif
|