jayebaku commited on
Commit
a904d6c
·
verified ·
1 Parent(s): 2f1df73

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +23 -10
app.py CHANGED
@@ -21,16 +21,29 @@ js = """
21
  document.head.appendChild(script);
22
 
23
  // Define a global function to reload Twitter widgets
24
- globalThis.reloadTwitterWidgets = (x) => {
25
- twttr.widgets.load();
 
 
 
 
26
 
27
- twttr.widgets.createTweet(
28
- '[x]',
29
- document.getElementById('tweet-container'),
30
- {
31
- theme: 'dark'
32
- }
33
- );
 
 
 
 
 
 
 
 
 
34
  };
35
  }
36
  """
@@ -396,7 +409,7 @@ with gr.Blocks(fill_width=True) as demo:
396
 
397
  # T_data.select(T_on_select, None, T_tweet_embed)#.then(fn=None, js="reloadTwitterWidgets()")
398
  T_data.select(T_on_select, None, T_tweetID)
399
- T_tweetID.change(fn=None, inputs=T_tweetID, outputs=None, js="reloadTwitterWidgets(x)")#.then(fn=None, inputs=T_tweetID, outputs=None, js="(x) => twttr.widgets.createTweet(x,document.getElementById('tweet-container'),{theme: 'dark'});")
400
  # T_data.select(
401
  # fn=lambda: gr.update(value=""),
402
  # outputs=T_tweet_embed).then(T_on_select, None, T_tweet_embed).then(fn=None, js="reloadTwitterWidgets()")
 
21
  document.head.appendChild(script);
22
 
23
  // Define a global function to reload Twitter widgets
24
+ globalThis.reloadTwitterWidgets = (tweetId) => {
25
+ if (typeof twttr !== 'undefined' && twttr.widgets) {
26
+ const container = document.getElementById('tweet-container');
27
+
28
+ // Clear existing content to prevent duplicates
29
+ if (container) container.innerHTML = '';
30
 
31
+ // Reload Twitter widgets
32
+ twttr.widgets.load();
33
+
34
+ // Create new tweet
35
+ twttr.widgets.createTweet(
36
+ tweetId,
37
+ container,
38
+ { theme: 'dark' }
39
+ ).then(() => {
40
+ console.log('Tweet successfully embedded');
41
+ }).catch((error) => {
42
+ console.error('Error embedding tweet:', error);
43
+ });
44
+ } else {
45
+ console.error('Twitter widgets library is not loaded.');
46
+ }
47
  };
48
  }
49
  """
 
409
 
410
  # T_data.select(T_on_select, None, T_tweet_embed)#.then(fn=None, js="reloadTwitterWidgets()")
411
  T_data.select(T_on_select, None, T_tweetID)
412
+ T_tweetID.change(fn=None, inputs=T_tweetID, outputs=None, js="globalThis.reloadTwitterWidgets(x)")#.then(fn=None, inputs=T_tweetID, outputs=None, js="(x) => twttr.widgets.createTweet(x,document.getElementById('tweet-container'),{theme: 'dark'});")
413
  # T_data.select(
414
  # fn=lambda: gr.update(value=""),
415
  # outputs=T_tweet_embed).then(T_on_select, None, T_tweet_embed).then(fn=None, js="reloadTwitterWidgets()")