bep40 commited on
Commit
7953b35
·
verified ·
1 Parent(s): 452730d

fix: share original article URL (has og:image) instead of hash URL

Browse files
Files changed (1) hide show
  1. app_wrapper.py +4 -9
app_wrapper.py CHANGED
@@ -184,13 +184,6 @@ def _build_tiktok_html(videos, current_url, source_label):
184
  badge_cls = "bdp-badge-24h" if source_label == "24h" else "bdp-badge-bdp"
185
  is_shorts = source_label == "24h"
186
 
187
- # og:image meta for share preview
188
- first_img = ""
189
- if ordered:
190
- fi = app.safe_url(ordered[0].get("img") or ordered[0].get("poster",""))
191
- ft = app.esc(ordered[0].get("title",""))
192
- first_img = f'<div style="display:none"><meta itemprop="image" content="{fi}"><meta itemprop="name" content="{ft}"></div>'
193
-
194
  slides = []
195
  for vi, v in enumerate(ordered):
196
  poster = app.safe_url(v.get("poster",""))
@@ -198,7 +191,9 @@ def _build_tiktok_html(videos, current_url, source_label):
198
  vsrc = v["src"]
199
  aid = app.make_id(v["link"])
200
  sl = app.slug(v["title"])
201
- share_js = f"event.stopPropagation();window.bdpShareHash('{app.esc(v['title'])}','{sl}','{aid}')"
 
 
202
  vtag = f'<video class="tiktok-video" playsinline preload="metadata"{poster_attr} data-hls-src="{vsrc}" muted loop></video>' if v.get("vtype")=="hls" else f'<video class="tiktok-video" playsinline preload="metadata"{poster_attr} muted loop><source src="{app.safe_url(vsrc)}" type="video/mp4"></video>'
203
 
204
  fullheight_btn = ''
@@ -234,7 +229,7 @@ def _build_tiktok_html(videos, current_url, source_label):
234
  grid = f'<div class="bdp-wrap"><div class="bdp-topbar"><span>\U0001f3ac Video</span><span>{len(ordered)} video</span></div><div class="bdp-grid">{"".join(cards)}</div></div>'
235
 
236
  mode_class = "shorts-feed-mode" if is_shorts else ""
237
- return f'''{first_img}<div class="tiktok-fullscreen-container {mode_class}" id="tiktok-fullscreen-feed">
238
  <div class="tiktok-fullscreen-feed">{''.join(slides)}</div>
239
  </div>
240
  {grid}'''
 
184
  badge_cls = "bdp-badge-24h" if source_label == "24h" else "bdp-badge-bdp"
185
  is_shorts = source_label == "24h"
186
 
 
 
 
 
 
 
 
187
  slides = []
188
  for vi, v in enumerate(ordered):
189
  poster = app.safe_url(v.get("poster",""))
 
191
  vsrc = v["src"]
192
  aid = app.make_id(v["link"])
193
  sl = app.slug(v["title"])
194
+ # Share the ORIGINAL article URL (has og:image built-in)
195
+ original_url = app.esc(v["link"])
196
+ share_js = f"event.stopPropagation();window.bdpShareOriginal('{app.esc(v['title'])}','{original_url}')"
197
  vtag = f'<video class="tiktok-video" playsinline preload="metadata"{poster_attr} data-hls-src="{vsrc}" muted loop></video>' if v.get("vtype")=="hls" else f'<video class="tiktok-video" playsinline preload="metadata"{poster_attr} muted loop><source src="{app.safe_url(vsrc)}" type="video/mp4"></video>'
198
 
199
  fullheight_btn = ''
 
229
  grid = f'<div class="bdp-wrap"><div class="bdp-topbar"><span>\U0001f3ac Video</span><span>{len(ordered)} video</span></div><div class="bdp-grid">{"".join(cards)}</div></div>'
230
 
231
  mode_class = "shorts-feed-mode" if is_shorts else ""
232
+ return f'''<div class="tiktok-fullscreen-container {mode_class}" id="tiktok-fullscreen-feed">
233
  <div class="tiktok-fullscreen-feed">{''.join(slides)}</div>
234
  </div>
235
  {grid}'''