mirror of
https://github.com/kiwix/libkiwix.git
synced 2025-09-07 14:18:18 -04:00
Front-end calls the /search endpoint with userlang
This commit is contained in:
parent
958067d94d
commit
70dd738801
@ -10,13 +10,22 @@ let viewerState = {
|
|||||||
uiLanguage: 'en',
|
uiLanguage: 'en',
|
||||||
};
|
};
|
||||||
|
|
||||||
|
function dropUserLang(query) {
|
||||||
|
const q = new URLSearchParams(query);
|
||||||
|
q.delete('userlang');
|
||||||
|
const pre = (query.startsWith('?') && q.size != 0 ? '?' : '');
|
||||||
|
return pre + q.toString();
|
||||||
|
}
|
||||||
|
|
||||||
function userUrl2IframeUrl(url) {
|
function userUrl2IframeUrl(url) {
|
||||||
if ( url == '' ) {
|
if ( url == '' ) {
|
||||||
return blankPageUrl;
|
return blankPageUrl;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( url.startsWith('search?') ) {
|
if ( url.startsWith('search?') ) {
|
||||||
return `${root}/${url}`;
|
const q = new URLSearchParams(url.slice("search?".length));
|
||||||
|
q.set('userlang', viewerState.uiLanguage);
|
||||||
|
return `${root}/search?${q.toString()}`;
|
||||||
}
|
}
|
||||||
|
|
||||||
return `${root}/content/${url}`;
|
return `${root}/content/${url}`;
|
||||||
@ -73,7 +82,7 @@ function quasiUriEncode(s, specialSymbols) {
|
|||||||
function performSearch() {
|
function performSearch() {
|
||||||
const searchbox = document.getElementById('kiwixsearchbox');
|
const searchbox = document.getElementById('kiwixsearchbox');
|
||||||
const q = encodeURIComponent(searchbox.value);
|
const q = encodeURIComponent(searchbox.value);
|
||||||
gotoUrl(`/search?books.name=${currentBook}&pattern=${q}`);
|
gotoUrl(`/search?books.name=${currentBook}&pattern=${q}&userlang=${viewerState.uiLanguage}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
function makeJSLink(jsCodeString, linkText, linkAttr="") {
|
function makeJSLink(jsCodeString, linkText, linkAttr="") {
|
||||||
@ -148,7 +157,7 @@ function iframeUrl2UserUrl(url, query) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ( url == `${root}/search` ) {
|
if ( url == `${root}/search` ) {
|
||||||
return `search${query}`;
|
return `search${dropUserLang(query)}`;
|
||||||
}
|
}
|
||||||
|
|
||||||
url = url.slice(root.length);
|
url = url.slice(root.length);
|
||||||
@ -537,9 +546,8 @@ function setupViewer() {
|
|||||||
const lang = getUserLanguage();
|
const lang = getUserLanguage();
|
||||||
setUserLanguage(lang, finishViewerSetupOnceTranslationsAreLoaded);
|
setUserLanguage(lang, finishViewerSetupOnceTranslationsAreLoaded);
|
||||||
viewerState.uiLanguage = lang;
|
viewerState.uiLanguage = lang;
|
||||||
const q = new URLSearchParams(window.location.search);
|
const cleanedUpQuery = dropUserLang(window.location.search);
|
||||||
q.delete('userlang');
|
const rewrittenURL = makeURL(cleanedUpQuery, location.hash);
|
||||||
const rewrittenURL = makeURL(q.toString(), location.hash);
|
|
||||||
history.replaceState(viewerState, null, rewrittenURL);
|
history.replaceState(viewerState, null, rewrittenURL);
|
||||||
|
|
||||||
kiwixToolBarWrapper.style.display = 'block';
|
kiwixToolBarWrapper.style.display = 'block';
|
||||||
|
@ -75,7 +75,7 @@ const ResourceCollection resources200Compressible{
|
|||||||
{ DYNAMIC_CONTENT, "/ROOT%23%3F/skin/taskbar.css" },
|
{ DYNAMIC_CONTENT, "/ROOT%23%3F/skin/taskbar.css" },
|
||||||
{ STATIC_CONTENT, "/ROOT%23%3F/skin/taskbar.css?cacheid=e014a885" },
|
{ STATIC_CONTENT, "/ROOT%23%3F/skin/taskbar.css?cacheid=e014a885" },
|
||||||
{ DYNAMIC_CONTENT, "/ROOT%23%3F/skin/viewer.js" },
|
{ DYNAMIC_CONTENT, "/ROOT%23%3F/skin/viewer.js" },
|
||||||
{ STATIC_CONTENT, "/ROOT%23%3F/skin/viewer.js?cacheid=e9c025f2" },
|
{ STATIC_CONTENT, "/ROOT%23%3F/skin/viewer.js?cacheid=5fc4badf" },
|
||||||
{ DYNAMIC_CONTENT, "/ROOT%23%3F/skin/fonts/Poppins.ttf" },
|
{ DYNAMIC_CONTENT, "/ROOT%23%3F/skin/fonts/Poppins.ttf" },
|
||||||
{ STATIC_CONTENT, "/ROOT%23%3F/skin/fonts/Poppins.ttf?cacheid=af705837" },
|
{ STATIC_CONTENT, "/ROOT%23%3F/skin/fonts/Poppins.ttf?cacheid=af705837" },
|
||||||
{ DYNAMIC_CONTENT, "/ROOT%23%3F/skin/fonts/Roboto.ttf" },
|
{ DYNAMIC_CONTENT, "/ROOT%23%3F/skin/fonts/Roboto.ttf" },
|
||||||
@ -320,7 +320,7 @@ R"EXPECTEDRESULT( <link type="text/css" href="./skin/kiwix.css?cacheid=2158fa
|
|||||||
<link type="text/css" href="./skin/autoComplete/css/autoComplete.css?cacheid=ef30cd42" rel="Stylesheet" />
|
<link type="text/css" href="./skin/autoComplete/css/autoComplete.css?cacheid=ef30cd42" rel="Stylesheet" />
|
||||||
<script type="module" src="./skin/i18n.js?cacheid=071abc9a" defer></script>
|
<script type="module" src="./skin/i18n.js?cacheid=071abc9a" defer></script>
|
||||||
<script type="text/javascript" src="./skin/languages.js?cacheid=c41aae47" defer></script>
|
<script type="text/javascript" src="./skin/languages.js?cacheid=c41aae47" defer></script>
|
||||||
<script type="text/javascript" src="./skin/viewer.js?cacheid=e9c025f2" defer></script>
|
<script type="text/javascript" src="./skin/viewer.js?cacheid=5fc4badf" defer></script>
|
||||||
<script type="text/javascript" src="./skin/autoComplete/autoComplete.min.js?cacheid=1191aaaf"></script>
|
<script type="text/javascript" src="./skin/autoComplete/autoComplete.min.js?cacheid=1191aaaf"></script>
|
||||||
const blankPageUrl = root + "/skin/blank.html?cacheid=6b1fa032";
|
const blankPageUrl = root + "/skin/blank.html?cacheid=6b1fa032";
|
||||||
<label for="kiwix_button_show_toggle"><img src="./skin/caret.png?cacheid=22b942b4" alt=""></label>
|
<label for="kiwix_button_show_toggle"><img src="./skin/caret.png?cacheid=22b942b4" alt=""></label>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user