mirror of
https://github.com/yattee/yattee.git
synced 2024-12-22 13:33:42 +00:00
Change shareURL() in VideosAPI and callers to use URLs instead of hostnames
This commit is contained in:
parent
784893048d
commit
1f667818db
@ -66,7 +66,7 @@ protocol VideosAPI {
|
||||
failureHandler: ((RequestError) -> Void)?,
|
||||
completionHandler: @escaping (PlayerQueueItem) -> Void
|
||||
)
|
||||
func shareURL(_ item: ContentItem, frontendHost: String?, time: CMTime?) -> URL?
|
||||
func shareURL(_ item: ContentItem, frontendURL: String?, time: CMTime?) -> URL?
|
||||
|
||||
func comments(_ id: Video.ID, page: String?) -> Resource?
|
||||
}
|
||||
@ -108,17 +108,17 @@ extension VideosAPI {
|
||||
.onFailure { failureHandler?($0) }
|
||||
}
|
||||
|
||||
func shareURL(_ item: ContentItem, frontendHost: String? = nil, time: CMTime? = nil) -> URL? {
|
||||
guard let frontendHost = frontendHost ?? account?.instance?.frontendHost,
|
||||
var urlComponents = account?.instance?.urlComponents
|
||||
else {
|
||||
return nil
|
||||
func shareURL(_ item: ContentItem, frontendURL: String? = nil, time: CMTime? = nil) -> URL? {
|
||||
var urlComponents: URLComponents?
|
||||
if let frontendURLString: String = frontendURL,
|
||||
let frontendURL: URL = URL(string: frontendURLString) {
|
||||
urlComponents = URLComponents(URL: frontendURL, resolvingAgainstBaseURL: false)
|
||||
} else if let instanceComponents = account?.instance?.urlComponents {
|
||||
urlComponents = instanceComponents
|
||||
}
|
||||
|
||||
urlComponents.host = frontendHost
|
||||
|
||||
if frontendHost.contains("youtube.com") {
|
||||
urlComponents.port = nil
|
||||
|
||||
guard var urlComponents: URLComponents = urlComponents else {
|
||||
return nil
|
||||
}
|
||||
|
||||
var queryItems = [URLQueryItem]()
|
||||
|
@ -77,7 +77,7 @@ struct ShareButton<LabelView: View>: View {
|
||||
|
||||
private var youtubeActions: some View {
|
||||
Group {
|
||||
if let url = accounts.api.shareURL(contentItem, frontendHost: "www.youtube.com") {
|
||||
if let url = accounts.api.shareURL(contentItem, frontendURL: "https://www.youtube.com") {
|
||||
Button(labelForShareURL("YouTube")) {
|
||||
shareAction(url)
|
||||
}
|
||||
@ -87,7 +87,7 @@ struct ShareButton<LabelView: View>: View {
|
||||
shareAction(
|
||||
accounts.api.shareURL(
|
||||
contentItem,
|
||||
frontendHost: "www.youtube.com",
|
||||
frontendURL: "https://www.youtube.com",
|
||||
time: player.backend.currentTime
|
||||
)!
|
||||
)
|
||||
|
Loading…
Reference in New Issue
Block a user