IceCubesApp/Packages/DesignSystem/Sources/DesignSystem/Views/StatusEditorToolbarItem.swift
Jérôme Danthinne 9b3b3692ee
Support for follow requests (#376) close #321
* Support for follow requests (#321)

* Run SwiftFormat

Co-authored-by: Thomas Ricouard <ricouard77@gmail.com>
2023-01-25 13:02:28 +01:00

41 lines
1.1 KiB
Swift

import Env
import Models
import SwiftUI
@MainActor
public extension View {
func statusEditorToolbarItem(routerPath: RouterPath, visibility: Models.Visibility) -> some ToolbarContent {
ToolbarItem(placement: .navigationBarTrailing) {
Button {
let feedback = UISelectionFeedbackGenerator()
routerPath.presentedSheet = .newStatusEditor(visibility: visibility)
feedback.selectionChanged()
} label: {
Image(systemName: "square.and.pencil")
}
}
}
}
public struct StatusEditorToolbarItem: ToolbarContent {
@EnvironmentObject private var routerPath: RouterPath
let visibility: Models.Visibility
let feedbackGenerator = UISelectionFeedbackGenerator()
public init(visibility: Models.Visibility) {
self.visibility = visibility
}
public var body: some ToolbarContent {
ToolbarItem(placement: .navigationBarTrailing) {
Button {
routerPath.presentedSheet = .newStatusEditor(visibility: visibility)
feedbackGenerator.selectionChanged()
} label: {
Image(systemName: "square.and.pencil")
}
}
}
}