Rebranded the app for iOS

This commit is contained in:
Matheus Gomes
2025-06-09 19:26:12 +02:00
committed by Konstantin Pastbin
parent 51b669cfd1
commit d4e1d53c40
85 changed files with 506 additions and 1309 deletions

View File

@@ -49,7 +49,7 @@ extension BottomMenuInteractor: BottomMenuInteractorProtocol {
func donate() {
close()
guard var url = Settings.donateUrl() else { return }
if url == "https://organicmaps.app/donate/" {
if url == "https://www.comaps.app/donate/" {
url = L("translated_om_site_url") + "donate/"
}
viewController?.openUrl(url, externally: true)

View File

@@ -1,9 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="15702" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" colorMatched="YES">
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="23727" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" colorMatched="YES">
<device id="retina4_7" orientation="portrait" appearance="light"/>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="15704"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="23721"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<objects>
@@ -21,7 +20,7 @@
<constraints>
<constraint firstAttribute="height" relation="greaterThanOrEqual" constant="21" id="q02-z4-K9S"/>
</constraints>
<string key="text">Предложенные вами изменения на карте будут отправлены в OpenStreetMap. Если у вас есть дополнительные сведения об объекте, которые OMaps не может позволить отредактировать, напишите о них.</string>
<string key="text">Предложенные вами изменения на карте будут отправлены в OpenStreetMap. Если у вас есть дополнительные сведения об объекте, которые CoMaps не может позволить отредактировать, напишите о них.</string>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
@@ -30,7 +29,7 @@
<userDefinedRuntimeAttribute type="string" keyPath="localizedText" value="editor_detailed_description"/>
</userDefinedRuntimeAttributes>
</label>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="60F-c7-enR">
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="60F-c7-enR">
<rect key="frame" x="16" y="151" width="288" height="16"/>
<constraints>
<constraint firstAttribute="height" constant="16" id="lB5-ya-sBr"/>

View File

@@ -277,7 +277,7 @@ private extension AboutController {
case .faq:
self?.navigationController?.pushViewController(FaqController(), animated: true)
case .reportABug:
MailComposer.sendBugReportWith(title:"Organic Maps Bug Report")
MailComposer.sendBugReportWith(title:"CoMaps Bug Report")
case .reportMapDataProblem, .volunteer, .news:
self?.openUrl(aboutInfo.link)
case .rateTheApp:
@@ -291,21 +291,21 @@ private extension AboutController {
}
func buildSocialMediaCollectionViewData() -> [SocialMediaCollectionViewCellModel] {
let socialMediaContent: [SocialMedia] = [.telegram, .github, .instagram, .twitter, .linkedin, .organicMapsEmail, .reddit, .matrix, .facebook, .fosstodon]
let socialMediaContent: [SocialMedia] = [.telegram, .codeberg, .instagram, .bluesky, .linkedin, .CoMapsEmail, .lemmy, .matrix, .facebook, .fosstodon]
let data = socialMediaContent.map { [weak self] socialMedia in
return SocialMediaCollectionViewCellModel(image: socialMedia.image, didTapHandler: {
switch socialMedia {
case .telegram: fallthrough
case .github: fallthrough
case .reddit: fallthrough
case .codeberg: fallthrough
case .lemmy: fallthrough
case .matrix: fallthrough
case .fosstodon: fallthrough
case .facebook: fallthrough
case .twitter: fallthrough
case .bluesky: fallthrough
case .instagram: fallthrough
case .linkedin:
self?.openUrl(socialMedia.link, externally: true)
case .organicMapsEmail:
case .CoMapsEmail:
MailComposer.sendEmail(toRecipients: [socialMedia.link])
}
})

View File

@@ -59,7 +59,7 @@ enum AboutInfo {
// These cases don't provide redirection to the web
return nil
case .reportABug:
return "ios@organicmaps.app"
return "hello@comaps.app"
case .reportMapDataProblem:
return "https://www.openstreetmap.org/fixthemap"
case .volunteer:

View File

@@ -1,37 +1,37 @@
enum SocialMedia {
case telegram
case twitter
case bluesky
case instagram
case facebook
case reddit
case lemmy
case matrix
case fosstodon
case linkedin
case organicMapsEmail
case github
case CoMapsEmail
case codeberg
var link: String {
switch self {
case .telegram:
return L("telegram_url")
case .github:
return "https://github.com/organicmaps/organicmaps/"
case .codeberg:
return "https://codeberg.org/comaps/comaps/"
case .linkedin:
return "https://www.linkedin.com/company/organic-maps/"
case .organicMapsEmail:
return "ios@organicmaps.app"
return "https://www.linkedin.com/company/comaps-community/"
case .CoMapsEmail:
return "hello@comaps.app"
case .matrix:
return "https://matrix.to/#/#organicmaps:matrix.org"
return "https://matrix.to/#/%23comaps:matrix.org"
case .fosstodon:
return "https://fosstodon.org/@organicmaps"
return "https://floss.social/@CoMaps"
case .facebook:
return "https://facebook.com/OrganicMaps"
case .twitter:
return "https://twitter.com/OrganicMapsApp"
return "https://www.facebook.com/CoMapsCommunity/"
case .bluesky:
return "https://bsky.app/profile/comaps.app"
case .instagram:
return L("instagram_url")
case .reddit:
return "https://www.reddit.com/r/organicmaps/"
case .lemmy:
return "https://sopuli.xyz/c/CoMaps/"
}
}
@@ -39,11 +39,11 @@ enum SocialMedia {
switch self {
case .telegram:
return UIImage(named: "ic_social_media_telegram")!
case .github:
return UIImage(named: "ic_social_media_github")!
case .codeberg:
return UIImage(named: "ic_social_media_codeberg")!
case .linkedin:
return UIImage(named: "ic_social_media_linkedin")!
case .organicMapsEmail:
case .CoMapsEmail:
return UIImage(named: "ic_social_media_mail")!
case .matrix:
return UIImage(named: "ic_social_media_matrix")!
@@ -51,12 +51,12 @@ enum SocialMedia {
return UIImage(named: "ic_social_media_fosstodon")!
case .facebook:
return UIImage(named: "ic_social_media_facebook")!
case .twitter:
return UIImage(named: "ic_social_media_x")!
case .bluesky:
return UIImage(named: "ic_social_media_bluesky")!
case .instagram:
return UIImage(named: "ic_social_media_instagram")!
case .reddit:
return UIImage(named: "ic_social_media_reddit")!
case .lemmy:
return UIImage(named: "ic_social_media_lemmy")!
}
}
}

View File

@@ -23,7 +23,7 @@ final class MailComposer: NSObject {
func body() -> String {
let appInfo = AppInfo.shared()
return String(format: "\n\n\n\n- %@ (%@)\n- Organic Maps %@-%@\n- %@-%@\n- %@\n",
return String(format: "\n\n\n\n- %@ (%@)\n- CoMaps %@-%@\n- %@-%@\n- %@\n",
appInfo.deviceModel, UIDevice.current.systemVersion,
appInfo.bundleVersion, appInfo.buildNumber,
Locale.current.languageCode ?? "",
@@ -35,7 +35,7 @@ final class MailComposer: NSObject {
UIApplication.shared.hideLoadingOverlay {
sendEmailWith(subject: subject(),
body: body(),
toRecipients: [SocialMedia.organicMapsEmail.link],
toRecipients: [SocialMedia.CoMapsEmail.link],
attachmentFileURL: logFileURL)
}
}