IceCubesApp/Packages/Env/Sources/Env/StatusAction.swift
Peter-Josef Meisch 124aeef7fb
swipe actions improvements (#785)
* swipe actions improvements

* use old values as default settings

* Polish swipe actions settings

* Fix background color

---------

Co-authored-by: Thomas Ricouard <ricouard77@gmail.com>
2023-02-11 21:48:08 +01:00

43 lines
1.2 KiB
Swift

import SwiftUI
public enum StatusAction : String, CaseIterable, Identifiable {
public var id: String {
"\(rawValue)"
}
case none, boost, reply, quote, favorite, bookmark
public var displayName: LocalizedStringKey {
switch self {
case .none:
return "settings.swipeactions.status.action.none"
case .reply:
return "settings.swipeactions.status.action.reply"
case .quote:
return "settings.swipeactions.status.action.quote"
case .boost:
return "settings.swipeactions.status.action.boost"
case .favorite:
return "settings.swipeactions.status.action.favorite"
case .bookmark:
return "settings.swipeactions.status.action.bookmark"
}
}
public func iconName(isReblogged: Bool = false, isFavorited: Bool = false, isBookmarked: Bool = false) -> String {
switch self {
case .none:
return "slash.circle"
case .reply:
return "arrowshape.turn.up.left"
case .quote:
return "quote.bubble"
case .boost:
return isReblogged ? "arrow.left.arrow.right.circle.fill" : "arrow.left.arrow.right.circle"
case .favorite:
return isFavorited ? "star.fill" : "star"
case .bookmark:
return isBookmarked ? "bookmark.fill" : "bookmark"
}
}
}