Skip to content

Commit

Permalink
fix: global linking failing to load url
Browse files Browse the repository at this point in the history
  • Loading branch information
ejbills committed Dec 21, 2024
1 parent d4ffa95 commit c8ead8f
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 13 deletions.
Binary file not shown.
23 changes: 10 additions & 13 deletions OpenArtemis/Utilities/Navigation/NavInjector.swift
Original file line number Diff line number Diff line change
Expand Up @@ -80,9 +80,14 @@ struct HandleDeepLinkResolution: ViewModifier {
let cleanedURLString = MiscUtils.convertToOldRedditLink(normalLink: urlStringWithoutScheme)
let correctedURLString = correctSchemeInURLString(cleanedURLString)

if let url = URL(string: correctedURLString) {
// Ensure URL has a scheme
let fullURLString = correctedURLString.hasPrefix("http") ? correctedURLString : "https://" + correctedURLString

if let url = URL(string: fullURLString) {
let pathComponents = url.pathComponents

print(pathComponents)

if pathComponents.count > 1 {
switch pathComponents[1] {
case "r":
Expand All @@ -100,18 +105,10 @@ struct HandleDeepLinkResolution: ViewModifier {
coordinator.path.append(ProfileResponse(username: username))
}
default:
// handle regular link display in an in-app browser
let safariURL = URL(string: "https://" + urlStringWithoutScheme)
if let safariURL = safariURL {
SafariHelper.openSafariView(withURL: safariURL)
}
SafariHelper.openSafariView(withURL: url)
}
} else {
// handle regular link display in an in-app browser
let safariURL = URL(string: "https://" + urlStringWithoutScheme)
if let safariURL = safariURL {
SafariHelper.openSafariView(withURL: safariURL)
}
SafariHelper.openSafariView(withURL: url)
}
}
}
Expand All @@ -130,11 +127,11 @@ struct HandleDeepLinkResolution: ViewModifier {
switch result {
case .success(let post):
coordinator.path.append(PostResponse(post: post, commentsURLOverride: originalURL))
GlobalLoadingManager.shared.setLoading(toState: false)
case .failure(let error):
print("Failed to scrape Reddit post: \(error)")
GlobalLoadingManager.shared.setLoading(toState: false)
}

GlobalLoadingManager.shared.setLoading(toState: false)
}

private func correctSchemeInURLString(_ urlString: String) -> String {
Expand Down

0 comments on commit c8ead8f

Please sign in to comment.