IceCubesApp/Packages/StatusKit/Sources/StatusKit/Editor/ViewModeMode.swift
2024-01-06 19:27:26 +01:00

55 lines
1.3 KiB
Swift

import Models
import SwiftUI
import UIKit
public extension StatusEditor.ViewModel {
enum Mode {
case replyTo(status: Status)
case new(visibility: Models.Visibility)
case edit(status: Status)
case quote(status: Status)
case mention(account: Account, visibility: Models.Visibility)
case shareExtension(items: [NSItemProvider])
var isInShareExtension: Bool {
switch self {
case .shareExtension:
true
default:
false
}
}
var isEditing: Bool {
switch self {
case .edit:
true
default:
false
}
}
var replyToStatus: Status? {
switch self {
case let .replyTo(status):
status
default:
nil
}
}
var title: LocalizedStringKey {
switch self {
case .new, .mention, .shareExtension:
"status.editor.mode.new"
case .edit:
"status.editor.mode.edit"
case let .replyTo(status):
"status.editor.mode.reply-\(status.reblog?.account.displayNameWithoutEmojis ?? status.account.displayNameWithoutEmojis)"
case let .quote(status):
"status.editor.mode.quote-\(status.reblog?.account.displayNameWithoutEmojis ?? status.account.displayNameWithoutEmojis)"
}
}
}
}