Something went wrong. Try again.
A slopfork of Sam Henri Gold's Twitter client, reskinned like Tweetie 2 / Twitter for iPhone circa 2012. Personal use.
Something went wrong. Try again.
12345678910111213141516171819202122232425262728293031323334353637383940/// Who may reply to a post when its author limited replies.package struct ReplyRestriction: Hashable, Codable, Sendable { package enum Policy: String, Hashable, Codable, Sendable { case mentioned case following case verified case subscribers case other }
package var policy: Policy package var ownerScreenName: String? package var viewerCanReply: Bool /// Twitter's own wording, used for policies the app doesn't know. package var prompt: String?
package init(policy: Policy, ownerScreenName: String? = nil, viewerCanReply: Bool, prompt: String? = nil) { self.policy = policy self.ownerScreenName = ownerScreenName self.viewerCanReply = viewerCanReply self.prompt = prompt }
package var message: String { let owner = ownerScreenName.map { "@\($0)" } switch policy { case .mentioned: return owner.map { "People \($0) mentioned can reply" } ?? "Only people mentioned can reply" case .following: return owner.map { "Accounts \($0) follows can reply" } ?? "Only accounts the author follows can reply" case .verified: return "Only verified accounts can reply" case .subscribers: return owner.map { "Only \($0)'s subscribers can reply" } ?? "Only subscribers can reply" case .other: return prompt ?? "Replies to this Tweet are limited" } }}