drguilhermeapolinario commited on
Commit
ef896cd
1 Parent(s): 9be4a63

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +18 -26
app.py CHANGED
@@ -128,34 +128,26 @@ def apply_neumorphic_style():
128
  apply_neumorphic_style()
129
 
130
  def copy_to_clipboard(text):
131
- # Cria um valor de estado único para este botão
132
- if 'copy_button_clicked' not in st.session_state:
133
- st.session_state.copy_button_clicked = False
134
-
135
- # Função de callback para o botão
136
- def on_button_click():
137
- st.session_state.copy_button_clicked = True
138
-
139
- # Cria o botão com o callback
140
- if st.button("Copiar", on_click=on_button_click):
141
- pass # O código dentro deste bloco não será executado imediatamente
142
-
143
- # Se o botão foi clicado, executa o JavaScript para copiar
144
- if st.session_state.copy_button_clicked:
145
- js_code = f"""
146
  <script>
147
- var textarea = document.createElement('textarea');
148
- textarea.value = {text!r};
149
- document.body.appendChild(textarea);
150
- textarea.select();
151
- document.execCommand('copy');
152
- document.body.removeChild(textarea);
 
 
 
153
  </script>
154
- """
155
- components.html(js_code, height=0)
156
- st.success("Texto copiado para a área de transferência!")
157
- # Reseta o estado para permitir novas cópias
158
- st.session_state.copy_button_clicked = False
159
 
160
 
161
  # Menu lateral
 
128
  apply_neumorphic_style()
129
 
130
  def copy_to_clipboard(text):
131
+ # Cria um componente HTML com JavaScript para copiar o texto
132
+ copy_button = components.html(
133
+ f"""
134
+ <button onclick="copyToClipboard()">Copiar</button>
135
+ <p id="copyStatus"></p>
136
+
 
 
 
 
 
 
 
 
 
137
  <script>
138
+ function copyToClipboard() {{
139
+ const text = {text!r};
140
+ navigator.clipboard.writeText(text).then(function() {{
141
+ document.getElementById("copyStatus").textContent = "Copiado com sucesso!";
142
+ setTimeout(() => document.getElementById("copyStatus").textContent = "", 2000);
143
+ }}).catch(function(err) {{
144
+ document.getElementById("copyStatus").textContent = "Erro ao copiar: " + err;
145
+ }});
146
+ }}
147
  </script>
148
+ """,
149
+ height=70
150
+ )
 
 
151
 
152
 
153
  # Menu lateral