Improve buttons
This commit is contained in:
@ -51,20 +51,24 @@ struct FileDetailView: View {
|
||||
text: "A file that can be used in a post or page")
|
||||
|
||||
GenericPropertyView(title: "Actions") {
|
||||
HStack(spacing: 10) {
|
||||
ButtonIcon(.folder, action: showFileInFinder)
|
||||
ButtonIcon(.arrowClockwise, action: markFileAsChanged)
|
||||
if file.isExternallyStored {
|
||||
ButtonIcon(.squareAndArrowDown, action: replaceFile)
|
||||
} else {
|
||||
ButtonIcon(.arrowLeftArrowRight, action: replaceFile)
|
||||
ButtonIcon(.squareDashed, action: convertToExternal)
|
||||
}
|
||||
ButtonIcon(.trash, action: deleteFile)
|
||||
.foregroundStyle(.red)
|
||||
ColoredButton(icon: .folder, text: "Show in folder", action: showFileInFinder)
|
||||
ColoredButton(icon: .arrowClockwise, text: "Mark file as changed", action: markFileAsChanged)
|
||||
if file.isExternallyStored {
|
||||
ColoredButton(
|
||||
icon: .squareAndArrowDown,
|
||||
text: "Convert to internal file",
|
||||
action: replaceFile)
|
||||
} else {
|
||||
ColoredButton(
|
||||
icon: .arrowLeftArrowRight,
|
||||
text: "Replace file",
|
||||
action: replaceFile)
|
||||
ColoredButton(
|
||||
icon: .squareDashed,
|
||||
text: "Convert to external file",
|
||||
action: convertToExternal)
|
||||
}
|
||||
.buttonStyle(.plain)
|
||||
.foregroundStyle(.blue)
|
||||
ColoredButton(delete: deleteFile)
|
||||
}
|
||||
|
||||
IdPropertyView(
|
||||
|
@ -1,20 +0,0 @@
|
||||
import SwiftUI
|
||||
|
||||
struct DeleteButton: View {
|
||||
|
||||
let action: () -> Void
|
||||
|
||||
var body: some View {
|
||||
Button(action: action) {
|
||||
HStack {
|
||||
Spacer()
|
||||
Image(systemSymbol: .trash)
|
||||
Text("Delete")
|
||||
.padding(.vertical, 8)
|
||||
Spacer()
|
||||
}
|
||||
.foregroundStyle(Color.white)
|
||||
.background(RoundedRectangle(cornerRadius: 8).fill(Color.red))
|
||||
}.buttonStyle(.plain)
|
||||
}
|
||||
}
|
@ -76,7 +76,7 @@ struct PageDetailView: View {
|
||||
page: page.localized(in: language),
|
||||
transferImage: transferImage)
|
||||
.id(page.id + language.rawValue)
|
||||
DeleteButton(action: deletePage)
|
||||
ColoredButton(delete: deletePage)
|
||||
}
|
||||
.padding()
|
||||
}
|
||||
|
@ -1,4 +1,5 @@
|
||||
import SwiftUI
|
||||
import SFSafeSymbols
|
||||
|
||||
struct PostDetailView: View {
|
||||
|
||||
@ -33,7 +34,12 @@ struct PostDetailView: View {
|
||||
text: "Posts capture quick updates and can link to pages")
|
||||
|
||||
if post.linkedPage == nil {
|
||||
Button("Create page", action: createPageFromPost)
|
||||
ColoredButton(
|
||||
icon: .documentBadgePlus,
|
||||
text: "Create page",
|
||||
fillColor: .blue,
|
||||
textColor: .white,
|
||||
action: createPageFromPost)
|
||||
}
|
||||
|
||||
IdPropertyView(
|
||||
@ -76,7 +82,7 @@ struct PostDetailView: View {
|
||||
LocalizedPostDetailView(
|
||||
post: post.localized(in: language),
|
||||
transferImage: transferImage)
|
||||
DeleteButton(action: deletePost)
|
||||
ColoredButton(delete: deletePost)
|
||||
}
|
||||
.padding()
|
||||
}
|
||||
|
@ -43,7 +43,7 @@ struct TagDetailView: View {
|
||||
tag: tag.localized(in: language),
|
||||
transferImage: transferImage)
|
||||
.id(tag.id + language.rawValue)
|
||||
DeleteButton(action: deleteTag)
|
||||
ColoredButton(delete: deleteTag)
|
||||
}
|
||||
.padding()
|
||||
}
|
||||
|
Reference in New Issue
Block a user