bharatgraph / scripts /patches /fix_lang_search.py.applied
abinazebinoy's picture
chore: archive one-off patch scripts instead of leaving them at repo root
a083c8b
Raw
History Blame Contribute Delete
1.69 kB
# fix_lang_search.py
with open('frontend/js/app.js', 'r', encoding='utf-8') as f:
content = f.read()
# LOGIC-3: preserve language in filter buttons
# Find the filter button onclick and append lang param
import re
# Pattern: onclick="Router.navigate('/search?q=${...}${...}')"
old_onclick = "onclick=\"Router.navigate('/search?q=${encodeURIComponent(query)}${t!==\"All\"?\"&type=\"+t.toLowerCase():\"\"}')\">"
new_onclick = "onclick=\"Router.navigate('/search?q=${encodeURIComponent(query)}${t!==\\'All\\'?\"&type=\"+t.toLowerCase():\"\"}'+(State.language&&State.language!=='en'?'&lang='+State.language:''))\">"
if old_onclick in content:
content = content.replace(old_onclick, new_onclick)
print('OK: lang param added to filter buttons')
else:
print('WARNING: filter onclick not found, trying simpler replace...')
# Simpler: just find the navigate call inside the filter map
idx = content.find("Router.navigate('/search?q=${encodeURIComponent(query)}")
if idx != -1:
print('Found at index', idx)
print('Context:', repr(content[idx:idx+120]))
else:
print('Not found at all')
# LOGIC-3: preserve language in search button
old_btn = "if (q) Router.navigate(`/search?q=${encodeURIComponent(q)}`);"
new_btn = "const _l=State.language&&State.language!=='en'?'&lang='+State.language:'';\n if (q) Router.navigate(`/search?q=${encodeURIComponent(q)}${_l}`);"
replaced = 0
while old_btn in content:
content = content.replace(old_btn, new_btn, 1)
replaced += 1
print(f'OK: search button lang param added ({replaced} replacements)')
with open('frontend/js/app.js', 'w', encoding='utf-8') as f:
f.write(content)
print('Done')