mirror of
https://github.com/luxfi/safe-ios.git
synced 2026-10-30 15:19:20 +00:00
47 lines
1019 B
Swift
47 lines
1019 B
Swift
//
|
|
// CopyButton.swift
|
|
// Multisig
|
|
//
|
|
// Created by Dmitry Bespalov on 15.05.20.
|
|
// Copyright © 2020 Gnosis Ltd. All rights reserved.
|
|
//
|
|
|
|
import SwiftUI
|
|
|
|
struct CopyButton<Content: View>: View {
|
|
|
|
var value: String?
|
|
var content: Content
|
|
|
|
init(_ value: String? = nil, @ViewBuilder _ content: () -> Content) {
|
|
self.value = value
|
|
self.content = content()
|
|
}
|
|
|
|
var body: some View {
|
|
Button(action: copyToPasteboard) {
|
|
content
|
|
}
|
|
.buttonStyle(BorderlessButtonStyle())
|
|
}
|
|
|
|
func copyToPasteboard() {
|
|
Pasteboard.string = value
|
|
App.shared.snackbar.show(message: "Copied to clipboard", duration: 2)
|
|
}
|
|
}
|
|
|
|
extension CopyButton {
|
|
init(_ address: Address, @ViewBuilder _ content: () -> Content) {
|
|
self.init(address.checksummed, content)
|
|
}
|
|
}
|
|
|
|
struct CopyButton_Previews: PreviewProvider {
|
|
static var previews: some View {
|
|
CopyButton("This is copied text 📜") {
|
|
Text("Copy")
|
|
}
|
|
}
|
|
}
|