mirror of
				https://github.com/yattee/yattee.git
				synced 2025-10-31 12:41:57 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			32 lines
		
	
	
		
			887 B
		
	
	
	
		
			Swift
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			887 B
		
	
	
	
		
			Swift
		
	
	
	
	
	
| import SwiftUI
 | |
| 
 | |
| struct AccountsNavigationLink: View {
 | |
|     @EnvironmentObject<AccountsModel> private var accounts
 | |
|     var instance: Instance
 | |
| 
 | |
|     var body: some View {
 | |
|         NavigationLink(instance.longDescription) {
 | |
|             InstanceSettings(instanceID: instance.id)
 | |
|         }
 | |
|         .buttonStyle(.plain)
 | |
|         .contextMenu {
 | |
|             removeInstanceButton(instance)
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     private func removeInstanceButton(_ instance: Instance) -> some View {
 | |
|         if #available(iOS 15.0, *) {
 | |
|             return Button("Remove", role: .destructive) { removeAction(instance) }
 | |
|         } else {
 | |
|             return Button("Remove") { removeAction(instance) }
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     private func removeAction(_ instance: Instance) {
 | |
|         if accounts.current?.instance == instance {
 | |
|             accounts.setCurrent(nil)
 | |
|         }
 | |
|         InstancesModel.remove(instance)
 | |
|     }
 | |
| }
 | 
