Add button to add public instance to custom list

This commit is contained in:
Arkadiusz Fal
2023-07-25 13:08:21 +02:00
parent 548908b26f
commit 19d11a3ad9
6 changed files with 54 additions and 2 deletions

View File

@@ -0,0 +1,29 @@
import SwiftUI
struct AddPublicInstanceButton: View {
@ObservedObject private var accounts = AccountsModel.shared
@State private var id = UUID().uuidString
var body: some View {
if let account = accounts.current, let app = account.app, account.isPublic, !account.isPublicAddedToCustom {
Button {
_ = InstancesModel.shared.add(app: app, name: "", url: account.urlString)
regenerateID()
} label: {
Label("Add \(account.urlString)", systemImage: "plus")
}
.id(id)
}
}
private func regenerateID() {
id = UUID().uuidString
}
}
struct AddPublicInstanceButton_Previews: PreviewProvider {
static var previews: some View {
AddPublicInstanceButton()
}
}

View File

@@ -93,6 +93,7 @@ struct LocationsSettings: View {
ForEach(instances) { instance in
AccountsNavigationLink(instance: instance)
}
AddPublicInstanceButton()
addInstanceButton
#endif
}