Fix region resizing and make swipe > 2/3 screen

This commit is contained in:
Jaifroid 2023-11-01 21:55:32 +00:00
parent 8ee8cb8150
commit ef29fdc07b
5 changed files with 14 additions and 11 deletions

View File

@ -209,7 +209,7 @@ document.localeJson = {
"about-search-para3": "<b>Alphabetical search:</b> If you type a letter of the alphabet in the search box (upper case may be most useful), it will show an alphabetical list of articles starting with that letter. This is useful for ZIM archives that have descriptive rather than semantic titles (e.g. TED Talks). You can also display a list of all titles (up to the limit set in Configuration) simply by clicking the search button without typing anything.",
"about-search-para4": "<b>Full-text search:</b> This type of search is only availalbe in relatively recent desktop browsers, and if the archive contains a full-text index. If it is supported, it will be used automatically, but it is slower than title search, and you may notice a delay before the results are added to the title-search results. Additionally, full-text search cannot be used if your archive is split into various chunks. To see whether it is available, look in the API panel at the bottom of the Configuration page after you have loaded a ZIM. If it says \"Xapian [fulltext]\" then it should be automatically enabled for that ZIM.",
"about-remove-navbars": "Removing navigation bars",
"about-remove-navbars-para1": "The default setting is for the top and bottom navigation bars to slide away when you scroll down and slide back when you scroll up. However, in some ZIM archives, e.g. PhET, it is not possible to scroll, and the navigation bars can obscure some content. In this case, in most browsers you can swipe up or down on the window (with touch or with the mouse wheel/touchpad) to toggle the display of the navigation bars. In all browsers, you can also use the <code>Ctrl/Cmd</code> + <code>UpArrow</code>/<code>DownArrow</code> keys.",
"about-remove-navbars-para1": "The default setting is for the top and bottom navigation bars to slide away when you scroll down and slide back when you scroll up. However, in some ZIM archives, e.g. PhET, it is not possible to scroll, and the navigation bars can obscure some content. In this case, in most browsers you can swipe decisively up or down on the window (with touch or with the mouse wheel/touchpad) to toggle the display of the navigation bars. In all browsers, you can also use the <code>Ctrl/Cmd</code> + <code>UpArrow</code>/<code>DownArrow</code> keys.",
"about-image-download-para1": "Unfortunately, it is not usually possible to download and save an image from a ZIM article using the context menu (after right-clicking or long-pressing the image). One workaround is to choose \"Copy Image\" in the context menu, then paste it in any suitable software (Paint, Gimp etc, or even a Word processor), and then save it from there.",
"about-privacy-short-title": "Short version:",
"about-privacy-short-para1": "Kiwix JS works offline, and does not collect or record any of your personal data. It only remembers your browsing history for the duration of a session (for the purpose of returning to previously viewed pages). This history is lost on exiting the app and is not recorded in any way.",

View File

@ -209,7 +209,7 @@ document.localeJson = {
"about-search-para3": "<b>La búsqueda alfabética:</b> Si escribe una letra del alfabeto en el campo de búsqueda (las mayúsculas pueden ser más útiles), se mostrará una lista alfabética de artículos que empiezan por esa letra. Esto es útil para los archivos ZIM que tienen títulos descriptivos en lugar de semánticos (por ejemplo, TED Talks). También se puede mostrar una lista de todos los títulos (hasta el límite establecido en Configuración) simplemente haciendo clic en el botón de búsqueda sin escribir nada.",
"about-search-para4": "<b>La búsqueda de texto completo:</b> Este tipo de búsqueda sólo está disponible en los navegadores de escritorio relativamente recientes, y si el archivo contiene un índice de texto completo. Si es compatible, se utilizará automáticamente, pero es más lenta que la búsqueda por título, y puede notar un retraso antes de que los resultados se añadan a los resultados de la búsqueda por título. Además, la búsqueda de texto completo no se puede utilizar si su archivo está dividido en varios fragmentos. Para ver si está disponible, mire en el panel API en la parte inferior de la página de Configuración después de haber cargado un ZIM. Si dice \"Xapian [fulltext]\", entonces debería estar habilitada automáticamente para ese ZIM.",
"about-remove-navbars": "Eliminación de barras de navegación",
"about-remove-navbars-para1": "La configuración predeterminada es que las barras de navegación superior e inferior se deslicen cuando se desplaza hacia abajo y vuelvan a aparecer cuando se desplaza hacia arriba. Sin embargo, en algunos archivos ZIM, por ejemplo, PhET, no es posible desplazarse, y las barras de navegación pueden ocultar parte del contenido. En este caso, en la mayoría de los navegadores puede deslizar hacia arriba o hacia abajo en la ventana (con el tacto o con la rueda del ratón/touchpad) para alternar la visualización de las barras de navegación. En todos los navegadores, también puede utilizar las teclas <code>Ctrl/Cmd</code> + <code>FlechaArriba</code>/<code>FlechaAbajo</code>.",
"about-remove-navbars-para1": "La configuración predeterminada es que las barras de navegación superior e inferior se deslicen cuando se desplaza hacia abajo y vuelvan a aparecer cuando se desplaza hacia arriba. Sin embargo, en algunos archivos ZIM, por ejemplo, PhET, no es posible desplazarse, y las barras de navegación pueden ocultar parte del contenido. En este caso, en la mayoría de los navegadores puede deslizar decididamente hacia arriba o hacia abajo en la ventana (con el tacto o con la rueda del ratón/touchpad) para alternar la visualización de las barras de navegación. En todos los navegadores, también puede utilizar las teclas <code>Ctrl/Cmd</code> + <code>FlechaArriba</code>/<code>FlechaAbajo</code>.",
"about-image-download-para1": "Desafortunadamente, no suele ser posible descargar y guardar una imagen de un artículo ZIM utilizando el menú contextual (después de hacer clic con el botón derecho o mantener pulsada la imagen). Una solución alternativa es elegir \"Copiar imagen\" en el menú contextual, luego pegarla en cualquier software adecuado (Paint, Gimp, etc, o incluso un procesador de textos), y luego guardarla desde allí.",
"about-privacy-short-title": "Versión corta:",
"about-privacy-short-para1": "Kiwix JS funciona sin conexión a Internet y no recopila ni registra ninguno de los datos personales del usuario. Sólo recuerda su historial de navegación durante la duración de una sesión (con el fin de volver a las páginas vistadas anteriormente). Este historial se pierde al salir de la aplicación y no se registra de ninguna manera.",

View File

@ -209,7 +209,7 @@ document.localeJson = {
"about-search-para3": "<b>Recherche alphabétique:</b> Si vous tapez une lettre de l'alphabet dans le champ de recherche (les majuscules peuvent être plus utiles), une liste alphabétique des articles commençant par cette lettre s'affichera. Cette fonction est utile pour les archives du ZIM dont les titres sont plus descriptifs que sémantiques (par exemple, TED Talks). Vous pouvez également afficher une liste de tous les titres (jusqu'à la limite fixée dans la Configuration) en cliquant simplement sur le bouton de recherche sans rien taper.",
"about-search-para4": "<b>La recherche de texte intégral</b> n'est disponible que dans les navigateurs de bureau relativement récents, et si l'archive contient un index de texte intégral. Si elle est prise en charge, elle sera utilisée automatiquement, mais elle est plus lente que la recherche par titre, et vous pouvez remarquer un délai avant que les résultats ne soient ajoutés aux résultats de la recherche par titre. De plus, la recherche de texte intégral ne peut pas être utilisée si votre fichier est découpé en pluseurs parties. Pour voir si elle est disponible, regardez dans le panneau API en bas de la page de Configuration après avoir chargé un ZIM. S'il indique «&nbsp;Xapian [fulltext]&nbsp;», alors elle devrait être activée automatiquement pour ce ZIM.",
"about-remove-navbars": "Suppression des barres de navigation",
"about-remove-navbars-para1": "Le paramètre par défaut est que les barres de navigation supérieure et inférieure disparaissent lorsque vous faites défiler vers le bas et réapparaissent lorsque vous faites défiler vers le haut. Cependant, dans certaines archives ZIM, par exemple PhET, il n'est pas possible de faire défiler, et les barres de navigation peuvent masquer une partie du contenu. Dans ce cas, dans la plupart des navigateurs, vous pouvez faire glisser vers le haut ou vers le bas sur la fenêtre (avec le toucher ou avec la molette de la souris/touchpad) pour basculer l'affichage des barres de navigation. Dans tous les navigateurs, vous pouvez également utiliser les touches <code>Ctrl/Cmd</code> + <code>FlècheHaut</code>/<code>FlècheBas</code>.",
"about-remove-navbars-para1": "Le paramètre par défaut est que les barres de navigation supérieure et inférieure disparaissent lorsque vous faites défiler vers le bas et réapparaissent lorsque vous faites défiler vers le haut. Cependant, dans certaines archives ZIM, par exemple PhET, il n'est pas possible de faire défiler, et les barres de navigation peuvent masquer une partie du contenu. Dans ce cas, dans la plupart des navigateurs, vous pouvez faire glisser de manière décisive vers le haut ou vers le bas sur la fenêtre (avec le toucher ou avec la molette de la souris/touchpad) pour basculer l'affichage des barres de navigation. Dans tous les navigateurs, vous pouvez également utiliser les touches <code>Ctrl/Cmd</code> + <code>FlècheHaut</code>/<code>FlècheBas</code>.",
"about-image-download-para1": "Malheureusement, il n'est généralement pas possible de télécharger et d'enregistrer une image à partir d'un article ZIM en utilisant le menu contextuel (après un clic droit ou un appui long sur l'image). Une solution de contournement consiste à choisir «&nbsp;Copier l'image&nbsp;» dans le menu contextuel, puis à la coller dans un logiciel approprié (Paint, Gimp, etc., ou même un traitement de texte), puis à l'enregistrer à partir de là.",
"about-privacy-short-title": "Version courte&nbsp;:",
"about-privacy-short-para1": "Kiwix JS fonctionne hors ligne et ne collecte ni ne stocke aucune donnée personnelle de l'utilisateur. Il se souvient uniquement de l'historique de navigation pendant la durée d'une session (afin de pouvoir revenir aux pages précédemment visitées). Cet historique est perdu lorsque vous quittez l'application et n'est enregistré d'aucune manière.",

View File

@ -237,8 +237,8 @@
<p data-i18n="about-remove-navbars-para1">
The default setting is for the top and bottom navigation bars to slide away when you scroll down and slide back when you scroll up. However,
in some ZIM archives, e.g. PhET, it is not possible to scroll, and the navigation bars can obscure some content. In this case, in most browsers
you can swipe up or down on the window (with touch or with the mouse wheel/touchpad) to toggle the display of the navigation bars. In all browsers,
you can also use the <code>Ctrl/Cmd</code> + <code>UpArrow</code>/<code>DownArrow</code> keys.
you can swipe decisively up or down on the window (with touch or with the mouse wheel/touchpad) to toggle the display of the navigation bars.
In all browsers, you can also use the <code>Ctrl/Cmd</code> + <code>UpArrow</code>/<code>DownArrow</code> keys.
</p>
<p style="text-align: right"><a href="#contents" data-i18n="about-back-contents">↑ Back to Contents</a></p>

View File

@ -30,7 +30,6 @@ import settingsStore from './settingsStore.js';
import translateUI from './translateUI.js';
// Placeholders for the article container and the article window
const region = document.getElementById('search-article');
const header = document.getElementById('top');
const footer = document.getElementById('footer');
@ -48,7 +47,6 @@ function hideSlidingUIElements () {
const iframeHeight = parseFloat(articleContainer.style.height.replace('px', ''));
articleContainer.style.height = iframeHeight + headerHeight + 'px';
footer.style.transform = 'translateY(' + footerHeight + 'px)';
region.style.height = window.innerHeight + headerHeight + 10 + 'px';
}
/**
@ -64,7 +62,6 @@ function showSlidingUIElements () {
const headerStyles = getComputedStyle(document.getElementById('top'));
const headerHeight = parseFloat(headerStyles.height) + parseFloat(headerStyles.marginBottom);
articleContainer.style.height = window.innerHeight - headerHeight + 'px';
region.style.height = window.innerHeight + 10 + 'px';
}, 200);
}
@ -79,14 +76,19 @@ function scroller (e) {
// windowIsScrollable gets set and reset in slideAway()
if (windowIsScrollable && e.type === 'wheel') return;
const newScrollY = articleContainer.contentWindow.pageYOffset;
// If it's a wheel event and we're actually scrolling, get out of the way and let the scroll event handle it
// If it's a non-scroll event and we're actually scrolling, get out of the way and let the scroll event handle it
if ((/^touch|^wheel|^keydown/.test(e.type)) && newScrollY !== oldScrollY) {
oldScrollY = newScrollY;
return;
}
if (e.type === 'touchstart') {
oldTouchY = e.touches[0].screenY;
return;
}
scrollThrottle = true;
// Call the main function
slideAway(e);
// Set timeouts for the throttle
let timeout = 250;
if (/^touch|^keydown/.test(e.type)) {
scrollThrottle = false;
@ -106,6 +108,7 @@ if ('MSBlobBuilder' in window) {
}
let oldScrollY = 0;
let oldTouchY = 0;
let timeoutResetScrollable;
let windowIsScrollable = false;
@ -141,8 +144,8 @@ function slideAway (e) {
hideOrShow = showSlidingUIElements;
}
if (e.type === 'touchend') {
delta = Math.abs(e.changedTouches[0].screenY);
if (delta > 50) {
delta = Math.abs(oldTouchY - e.changedTouches[0].screenY);
if (delta > articleContainer.contentWindow.innerHeight / 1.5) {
hideOrShow();
}
} else if (e.type === 'wheel') {