// // 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.. 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