Skip to content

Convert keyboard app About tab to SwiftUI (#608)#645

Open
prince-0408 wants to merge 4 commits intoscribe-org:mainfrom
prince-0408:feat/keyboard-about-swiftui
Open

Convert keyboard app About tab to SwiftUI (#608)#645
prince-0408 wants to merge 4 commits intoscribe-org:mainfrom
prince-0408:feat/keyboard-about-swiftui

Conversation

@prince-0408
Copy link
Copy Markdown
Contributor

@prince-0408 prince-0408 commented Apr 4, 2026

Summary

Converts the About tab of the Scribe keyboard app from UIKit to SwiftUI, following the pattern established in #607 for the Conjugate app.

Closes #608

Changes

New SwiftUI Files

File Description
AboutTab.swift Main view with Community, Feedback and support, and Legal sections
AboutRowView.swift Reusable row with icon, title, and trailing indicator
AboutSectionView.swift Grouped section container with heading
AboutTipCardView.swift Dismissible tip card shown at the top of the tab
AboutInfoView.swift Detail screens for Wikimedia, Privacy policy, and Third-party licenses
ShareSheet.swift UIKit bridge for system share sheet and mail compose view

Modified Files

File Change
AppScreen.storyboard About scene now uses AboutHostingController (a UIHostingController subclass) instead of AboutViewControllerInformationScreenVC scene fully removed
project.pbxproj AboutViewController.swift and InformationScreenVC.swift removed, AboutHostingController.swift registered

Deleted Files

File Reason
AboutViewController.swift Replaced by AboutHostingController — a minimal UIHostingController<AnyView> subclass
InformationScreenVC.swift Fully removed — navigation to info screens handled via SwiftUI NavigationLink
AboutTableData.swift Replaced by inline data in AboutTab.swift

Notes

  • The tab content is pure SwiftUI. AboutHostingController is the only remaining UIKit code — it is a necessary bridge since the app's root is a UITabBarController wired via storyboard. This cannot be removed until the Installation and Settings tabs are also migrated to SwiftUI, at which point the storyboard and AppDelegate can be replaced with a SwiftUI App entry point
  • Email uses MFMailComposeViewController via UIViewControllerRepresentable with a fallback alert for devices that can't send mail
  • Reset app hints resets all three tip card states: installationTipCardState, settingsTipCardState, aboutTipCardState
  • All URLs and GitHub links point to scribe-org/Scribe-iOS

Update

Updated based on feedback from @andrewtavis — removed all UIKit related code (AboutViewController and InformationScreenVC) entirely. Replaced with a minimal AboutHostingController (UIHostingController subclass) as the only remaining bridge, which is necessary since the app root is still a UITabBarController wired via storyboard. This can be fully removed once Installation and Settings tabs are also migrated to SwiftUI.

Screenshots

Simulator Screenshot - iPhone 17 Pro - 2026-04-10 at 17 25 11

@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 4, 2026

Thank you for the pull request! 💙🩵

The Scribe-iOS team will do our best to address your contribution as soon as we can. The following are some important points:

  • Those interested in developing their skills and expanding their role in the community should read the mentorship and growth section of the contribution guide
  • If you're not already a member of our public Matrix community, please consider joining!
    • We'd suggest that you use the Element client as well as Element X for a mobile app
    • Join the General and iOS rooms once you're in
  • Also consider attending our bi-weekly Saturday developer syncs!
    • Details are shared in the General room on Matrix each Wednesday before the sync
    • It would be great to meet you 😊

Note

Scribe uses Conventional Comments in reviews to make sure that communication is as clear as possible.

@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 4, 2026

Maintainer Checklist

The following is a checklist for maintainers to make sure this process goes as well as possible. Feel free to address the points below yourself in further commits if you realize that actions are needed :)

  • Tests for changes have been written and the CI unit test, linting and formatting workflows within the PR checks do not indicate new errors in the files changed

  • The CHANGELOG has been updated with a description of the changes for the upcoming release and the corresponding issue (if necessary)

@prince-0408 prince-0408 force-pushed the feat/keyboard-about-swiftui branch from 980917a to 1c82d9b Compare April 10, 2026 12:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Convert Keyboard app About tab to Swift UI

1 participant