damus

nostr ios client
git clone git://jb55.com/damus
Log | Files | Refs | README | LICENSE

AddEmojiView.swift (1566B)


      1 //
      2 //  AddEmojiView.swift
      3 //  damus
      4 //
      5 //  Created by Suhail Saqan on 7/16/23.
      6 //
      7 
      8 import SwiftUI
      9 
     10 struct AddEmojiView: View {
     11     @Binding var emoji: String
     12     
     13     var body: some View {
     14         ZStack(alignment: .leading) {
     15             HStack{
     16                 TextField(NSLocalizedString("⚡", comment: "Placeholder example for an emoji reaction"), text: $emoji)
     17                     .padding(2)
     18                     .padding(.leading, 25)
     19                     .opacity(emoji == "" ? 0.5 : 1)
     20                     .autocorrectionDisabled(true)
     21                     .textInputAutocapitalization(.never)
     22                     .onChange(of: emoji) { newEmoji in
     23                         if let lastEmoji = newEmoji.last.map(String.init), isValidEmoji(lastEmoji) {
     24                             self.emoji = lastEmoji
     25                         } else {
     26                             self.emoji = ""
     27                         }
     28                     }
     29                 
     30                 Label("", image: "close-circle")
     31                     .foregroundColor(.accentColor)
     32                     .padding(.trailing, -25.0)
     33                     .opacity((emoji == "") ? 0.0 : 1.0)
     34                     .onTapGesture {
     35                         self.emoji = ""
     36                     }
     37             }
     38             
     39             Label("", image: "copy2")
     40                 .padding(.leading, -10)
     41                 .onTapGesture {
     42                     if let pastedEmoji = UIPasteboard.general.string {
     43                         self.emoji = pastedEmoji
     44                     }
     45                 }
     46         }
     47     }
     48 }