Repo created
This commit is contained in:
parent
4af19165ec
commit
68073add76
12458 changed files with 12350765 additions and 2 deletions
85
iphone/Maps/Model/Social Media.swift
Normal file
85
iphone/Maps/Model/Social Media.swift
Normal file
|
|
@ -0,0 +1,85 @@
|
|||
import SwiftUI
|
||||
|
||||
enum SocialMedia: CaseIterable, Identifiable {
|
||||
case codeberg
|
||||
case mastodon
|
||||
case matrix
|
||||
case lemmy
|
||||
case bluesky
|
||||
case pixelfed
|
||||
case email
|
||||
|
||||
|
||||
|
||||
// MARK: Properties
|
||||
|
||||
/// The e-mail address
|
||||
static let emailAddress: String = "ios@comaps.app"
|
||||
|
||||
|
||||
//// The id
|
||||
var id: Self { self }
|
||||
|
||||
|
||||
/// The description text
|
||||
var description: String {
|
||||
switch self {
|
||||
case .codeberg:
|
||||
return String(localized: "social_codeberg")
|
||||
case .mastodon:
|
||||
return String(localized: "social_mastodon")
|
||||
case .matrix:
|
||||
return String(localized: "social_matrix")
|
||||
case .lemmy:
|
||||
return String(localized: "social_lemmy")
|
||||
case .bluesky:
|
||||
return String(localized: "social_bluesky")
|
||||
case .pixelfed:
|
||||
return String(localized: "social_pixelfed")
|
||||
case .email:
|
||||
return String(localized: "social_email")
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// The url
|
||||
var url: URL {
|
||||
switch self {
|
||||
case .codeberg:
|
||||
return URL(string: "https://codeberg.org/comaps/")!
|
||||
case .mastodon:
|
||||
return URL(string: "https://floss.social/@CoMaps")!
|
||||
case .matrix:
|
||||
return URL(string: "https://matrix.to/#/#comaps:matrix.org")!
|
||||
case .lemmy:
|
||||
return URL(string: "https://sopuli.xyz/c/CoMaps")!
|
||||
case .bluesky:
|
||||
return URL(string: "https://bsky.app/profile/comaps.app")!
|
||||
case .pixelfed:
|
||||
return URL(string: "https://pixelfed.social/CoMaps")!
|
||||
case .email:
|
||||
return URL(string: "mailto:\(SocialMedia.emailAddress)")!
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// The image text
|
||||
var image: Image {
|
||||
switch self {
|
||||
case .codeberg:
|
||||
return Image(.SocialMedia.codeberg)
|
||||
case .mastodon:
|
||||
return Image(.SocialMedia.mastodon)
|
||||
case .matrix:
|
||||
return Image(.SocialMedia.matrix)
|
||||
case .lemmy:
|
||||
return Image(.SocialMedia.lemmy)
|
||||
case .bluesky:
|
||||
return Image(.SocialMedia.bluesky)
|
||||
case .pixelfed:
|
||||
return Image(.SocialMedia.pixelfed)
|
||||
case .email:
|
||||
return Image(systemName: "envelope.fill")
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue