yattee/Shared/Settings/AddPublicInstanceButton.swift

30 lines
809 B
Swift
Raw Normal View History

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()
}
}