feat(apk): URL du depot telle que dans le navigateur + croix qui ne mange plus la fin du champ

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
r-zakarya
2026-09-17 16:23:09 +01:00
parent 231e3f98ae
commit 732b93e5dd
+19 -3
View File
@@ -316,7 +316,10 @@
des que le margin disparaissait. Le bord INFERIEUR, lui, est celui que le
champ touche dans les deux cas - le margin est au-dessus. */
.in-x {
position: absolute; right: 0; bottom: 0; width: 44px; height: 46px;
/* 32 px pour 44 px de marge : les 12 px entre le texte et la croix
recoivent le toucher, qui pose le curseur en fin de texte au lieu
d'effacer le champ. */
position: absolute; right: 0; bottom: 0; width: 32px; height: 46px;
display: flex; align-items: center; justify-content: center;
color: var(--muted); font-size: 22px;
}
@@ -560,7 +563,7 @@
<div class="scroll">
<h2>Repository</h2>
<div class="in-wrap">
<input class="field-in" id="sUrl" placeholder="endpoint URL"
<input class="field-in" id="sUrl" placeholder="repository URL, e.g. https://git.example.com/owner/repo"
autocomplete="off" autocorrect="off" autocapitalize="none"
spellcheck="false" inputmode="url">
<div class="in-x" data-clear="sUrl">&#215;</div>
@@ -1622,8 +1625,21 @@ function openSettings() {
// ENREGISTRER EST UN GESTE, FERMER N'ENREGISTRE RIEN. Fermer enregistrait :
// une URL effacee par erreur partait avec le retour, sans moyen de revenir.
// Desormais retour = annuler, et la page repart des valeurs enregistrees.
// L'ADRESSE DU DEPOT TELLE QUE LE NAVIGATEUR L'AFFICHE suffit :
// https://git.example.com/OWNER/REPO (ou .../src/branch/main/FICHIER) devient
// l'URL de l'API des contenus. Une URL d'API ou d'endpoint PHP passe telle quelle,
// et une forme non reconnue aussi - Sync dira alors ce qui ne va pas.
function normalizeRepoUrl(u) {
u = u.trim();
if (!u || /\/api\/v1\/repos\//i.test(u) || /\.php(\?|$)/i.test(u)) return u;
var m = u.match(/^(https?:\/\/[^\/]+)\/([^\/]+)\/([^\/]+?)(?:\.git)?(?:\/src\/branch\/[^\/]+\/(.+?))?\/?$/i);
if (!m) return u;
return m[1] + '/api/v1/repos/' + m[2] + '/' + m[3] + '/contents/' + (m[4] || 'vault-sync.json');
}
document.getElementById('sSave').addEventListener('click', function () {
elUrl.value = document.getElementById('sUrl').value.trim();
var sUrl = document.getElementById('sUrl');
sUrl.value = normalizeRepoUrl(sUrl.value);
elUrl.value = sUrl.value;
elTok.value = document.getElementById('sTok').value.trim();
elPwd.value = document.getElementById('sPwd').value;
pushConfig();