You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

72 lines
3.2 KiB

// Copyright © 2015 Abhishek Banthia
import Cocoa
import CoreLoggerKit
struct EmailSignupConstants {
static let CLEmailSignupEmailProperty = "email"
static let CLOperatingSystemVersion = "OS"
static let CLClockerVersion = "Clocker version"
static let CLAppFeedbackDateProperty = "date"
static let CLAppLanguageKey = "language"
}
class FinalOnboardingViewController: NSViewController {
@IBOutlet var titleLabel: NSTextField!
@IBOutlet var subtitleLabel: NSTextField!
@IBOutlet var accesoryLabel: NSTextField!
@IBOutlet var accessoryImageView: NSImageView!
@IBOutlet var emailTextField: NSTextField!
@IBOutlet var localizationButton: PointingHandCursorButton!
override func viewDidLoad() {
super.viewDidLoad()
titleLabel.stringValue = "You're all set!".localized()
subtitleLabel.stringValue = "Thank you for the details.".localized()
accesoryLabel.stringValue = "You'll see a clock icon in your Menu Bar when you launch the app. If you'd like to see a dock icon, go to Preferences.".localized()
accessoryImageView.image = Themer.shared().menubarOnboardingImage()
emailTextField.isHidden = true
setupLocalizationButton()
}
private func setupLocalizationButton() {
let mutableParaghStyle = NSMutableParagraphStyle()
mutableParaghStyle.alignment = .center
let underlineRange = NSRange(location: 0, length: 9)
let originalText = NSMutableAttributedString(string: "Follow us on X / Twitter for occasional updates!")
originalText.addAttribute(NSAttributedString.Key.underlineStyle,
value: NSNumber(value: Int8(NSUnderlineStyle.single.rawValue)),
range: underlineRange)
originalText.addAttribute(NSAttributedString.Key.foregroundColor,
value: Themer.shared().mainTextColor(),
range: NSRange(location: 0, length: localizationButton.attributedTitle.string.count))
originalText.addAttribute(NSAttributedString.Key.font,
value: (localizationButton?.font)!,
range: NSRange(location: 0, length: localizationButton.attributedTitle.string.count))
originalText.addAttribute(NSAttributedString.Key.paragraphStyle,
value: mutableParaghStyle,
range: NSRange(location: 0, length: localizationButton.attributedTitle.string.count))
localizationButton.attributedTitle = originalText
}
@IBAction func localizationAction(_: Any) {
guard let localizationURL = URL(string: AboutUsConstants.TwitterFollowIntentLink),
let languageCode = Locale.preferredLanguages.first else { return }
NSWorkspace.shared.open(localizationURL)
// Log this
let custom: [String: Any] = ["Language": languageCode]
Logger.log(object: custom, for: "Opened Localization Link")
guard let parentVC = parent as? OnboardingParentViewController else { return }
parentVC.performFinalStepsBeforeFinishing()
}
override func viewWillAppear() {
super.viewWillAppear()
emailTextField.becomeFirstResponder()
}
}