Skip to content

Commit 1c82d9b

Browse files
committed
feat: migrate AboutTab to SwiftUI with AboutHostingController
1 parent 66b5b2f commit 1c82d9b

6 files changed

Lines changed: 25 additions & 251 deletions

File tree

Scribe.xcodeproj/project.pbxproj

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
075257CF2F7D481E00E57E2A /* AboutSectionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 075257C82F7D481D00E57E2A /* AboutSectionView.swift */; };
1414
075257D02F7D481E00E57E2A /* AboutTipCardView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 075257CA2F7D481D00E57E2A /* AboutTipCardView.swift */; };
1515
075257D12F7D481E00E57E2A /* ShareSheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 075257CB2F7D481D00E57E2A /* ShareSheet.swift */; };
16+
14AC56842A24AED3006B1DDF /* AboutHostingController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 14AC56832A24AED3006B1DDF /* AboutHostingController.swift */; };
1617
140158992A430DD000D14E52 /* ThirdPartyLicense.swift in Sources */ = {isa = PBXBuildFile; fileRef = 140158982A430DD000D14E52 /* ThirdPartyLicense.swift */; };
1718
1401589B2A45A07200D14E52 /* WikimediaAndScribe.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1401589A2A45A07200D14E52 /* WikimediaAndScribe.swift */; };
1819
140158A22A4EDB2200D14E52 /* TableViewTemplateViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 140158A12A4EDB2200D14E52 /* TableViewTemplateViewController.swift */; };
@@ -23,8 +24,6 @@
2324
147797B32A2CD5AB0044A53E /* ParentTableCellModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 147797B22A2CD5AB0044A53E /* ParentTableCellModel.swift */; };
2425
147797B52A2CFB490044A53E /* SettingsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 147797B42A2CFB490044A53E /* SettingsViewController.swift */; };
2526
147797C02A2D0CDF0044A53E /* SettingsTableData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 147797BF2A2D0CDF0044A53E /* SettingsTableData.swift */; };
26-
14AC56842A24AED3006B1DDF /* AboutViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 14AC56832A24AED3006B1DDF /* AboutViewController.swift */; };
27-
14AC568A2A261663006B1DDF /* InformationScreenVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 14AC56892A261663006B1DDF /* InformationScreenVC.swift */; };
2827
1900C00E2C88BF980017A874 /* TestKeyboardStyling.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1900C00D2C88BF980017A874 /* TestKeyboardStyling.swift */; };
2928
198369CC2C7980BA00C1B583 /* KeyboardProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 198369CB2C7980BA00C1B583 /* KeyboardProvider.swift */; };
3029
198369CD2C7980BA00C1B583 /* KeyboardProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 198369CB2C7980BA00C1B583 /* KeyboardProvider.swift */; };
@@ -1029,15 +1028,14 @@
10291028
075257C92F7D481D00E57E2A /* AboutTab.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AboutTab.swift; sourceTree = "<group>"; };
10301029
075257CA2F7D481D00E57E2A /* AboutTipCardView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AboutTipCardView.swift; sourceTree = "<group>"; };
10311030
075257CB2F7D481D00E57E2A /* ShareSheet.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShareSheet.swift; sourceTree = "<group>"; };
1031+
14AC56832A24AED3006B1DDF /* AboutHostingController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AboutHostingController.swift; sourceTree = "<group>"; };
10321032
1406B78B2A3209CF001DF45B /* AppExtensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppExtensions.swift; sourceTree = "<group>"; };
10331033
144B56F22A568AC200C2F447 /* Scribe.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Scribe.entitlements; sourceTree = "<group>"; };
10341034
147797AE2A2CD3370044A53E /* InfoChildTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InfoChildTableViewCell.swift; sourceTree = "<group>"; };
10351035
147797AF2A2CD3370044A53E /* InfoChildTableViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = InfoChildTableViewCell.xib; sourceTree = "<group>"; };
10361036
147797B22A2CD5AB0044A53E /* ParentTableCellModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ParentTableCellModel.swift; sourceTree = "<group>"; };
10371037
147797B42A2CFB490044A53E /* SettingsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsViewController.swift; sourceTree = "<group>"; };
10381038
147797BF2A2D0CDF0044A53E /* SettingsTableData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsTableData.swift; sourceTree = "<group>"; };
1039-
14AC56832A24AED3006B1DDF /* AboutViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AboutViewController.swift; sourceTree = "<group>"; };
1040-
14AC56892A261663006B1DDF /* InformationScreenVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InformationScreenVC.swift; sourceTree = "<group>"; };
10411039
1900C00D2C88BF980017A874 /* TestKeyboardStyling.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TestKeyboardStyling.swift; sourceTree = "<group>"; };
10421040
198369CB2C7980BA00C1B583 /* KeyboardProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeyboardProvider.swift; sourceTree = "<group>"; };
10431041
19DC85F92C7772FC006E32FD /* KeyboardBuilder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeyboardBuilder.swift; sourceTree = "<group>"; };
@@ -1570,8 +1568,7 @@
15701568
075257C92F7D481D00E57E2A /* AboutTab.swift */,
15711569
075257CA2F7D481D00E57E2A /* AboutTipCardView.swift */,
15721570
075257CB2F7D481D00E57E2A /* ShareSheet.swift */,
1573-
14AC56832A24AED3006B1DDF /* AboutViewController.swift */,
1574-
14AC56892A261663006B1DDF /* InformationScreenVC.swift */,
1571+
14AC56832A24AED3006B1DDF /* AboutHostingController.swift */,
15751572
);
15761573
path = AboutTab;
15771574
sourceTree = "<group>";
@@ -2917,11 +2914,11 @@
29172914
075257CF2F7D481E00E57E2A /* AboutSectionView.swift in Sources */,
29182915
075257D02F7D481E00E57E2A /* AboutTipCardView.swift in Sources */,
29192916
075257D12F7D481E00E57E2A /* ShareSheet.swift in Sources */,
2917+
14AC56842A24AED3006B1DDF /* AboutHostingController.swift in Sources */,
29202918
D171942D27AECEB80038660B /* DEInterfaceVariables.swift in Sources */,
29212919
147797C02A2D0CDF0044A53E /* SettingsTableData.swift in Sources */,
29222920
E9F7273F2F45A6E60060B92D /* APIClient.swift in Sources */,
29232921
E98034E42F45B88C006C1CDC /* ToastView.swift in Sources */,
2924-
14AC568A2A261663006B1DDF /* InformationScreenVC.swift in Sources */,
29252922
147797B02A2CD3370044A53E /* InfoChildTableViewCell.swift in Sources */,
29262923
D1A2DCB427AD3EB50057A10D /* AppUISymbols.swift in Sources */,
29272924
D171945427AF04E50038660B /* KeyboardViewController.swift in Sources */,
@@ -2975,7 +2972,6 @@
29752972
D1CDED812A85A12400098546 /* NBInterfaceVariables.swift in Sources */,
29762973
D17693DE28FC8D6B00DF0FBB /* FR-QWERTYInterfaceVariables.swift in Sources */,
29772974
D1B0719727C63C9100FD7DBD /* KeyAnimation.swift in Sources */,
2978-
14AC56842A24AED3006B1DDF /* AboutViewController.swift in Sources */,
29792975
D171945527AF05D40038660B /* Extensions.swift in Sources */,
29802976
EDC364692AE408F20001E456 /* InterfaceConstants.swift in Sources */,
29812977
);
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
// SPDX-License-Identifier: GPL-3.0-or-later
2+
3+
import SwiftUI
4+
import UIKit
5+
6+
/// Hosts the SwiftUI AboutTab inside the UIKit storyboard navigation stack.
7+
final class AboutHostingController: UIHostingController<AnyView> {
8+
required init?(coder: NSCoder) {
9+
super.init(coder: coder, rootView: AnyView(AboutTab()))
10+
}
11+
12+
override func viewDidLoad() {
13+
super.viewDidLoad()
14+
tabBarItem.title = NSLocalizedString("i18n.app.about.title", value: "About", comment: "")
15+
navigationController?.tabBarItem.title = NSLocalizedString("i18n.app.about.title", value: "About", comment: "")
16+
}
17+
}

Scribe/AboutTab/AboutTab.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -244,6 +244,8 @@ struct AboutTab: View {
244244
.animation(.easeInOut(duration: 0.2), value: tipCardVisible)
245245
}
246246
}
247+
.navigationTitle(NSLocalizedString("i18n.app.about.title", value: "About", comment: ""))
248+
.navigationBarTitleDisplayMode(.large)
247249
.sheet(isPresented: $showShareSheet) {
248250
ShareSheet(items: [scribeShareURL()])
249251
}

Scribe/AboutTab/AboutViewController.swift

Lines changed: 0 additions & 31 deletions
This file was deleted.

Scribe/AboutTab/InformationScreenVC.swift

Lines changed: 0 additions & 10 deletions
This file was deleted.

0 commit comments

Comments
 (0)