feat(sync): QR des reglages sur le PC, Paste settings sur le telephone
Le poste genere le QR (DelphiZXingQRCode, Apache 2.0) depuis ses prefs : URL + jeton, jamais le mot de passe de synchro. Le telephone lit le texte copie par l'appareil photo et remplit les champs ; Save valide. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -588,6 +588,7 @@
|
||||
type="password" autocomplete="off">
|
||||
<div class="in-x" data-clear="sPwd">×</div>
|
||||
</div>
|
||||
<button class="btn wide" id="sPaste">Paste settings (QR from the PC)</button>
|
||||
<button class="btn wide main" id="sSave">Save</button>
|
||||
<div class="note">The sync password never leaves this device. It is what
|
||||
encrypts the copy kept in the repository, so it must be the same on every
|
||||
@@ -1665,6 +1666,9 @@ function normalizeRepoUrl(u) {
|
||||
if (!m) return u;
|
||||
return m[1] + '/api/v1/repos/' + m[2] + '/' + m[3] + '/contents/' + (m[4] || 'vault-sync.json');
|
||||
}
|
||||
document.getElementById('sPaste').addEventListener('click', function () {
|
||||
send('pastecfg');
|
||||
});
|
||||
document.getElementById('sSave').addEventListener('click', function () {
|
||||
var sUrl = document.getElementById('sUrl');
|
||||
elUrl.value = normalizeRepoUrl(sUrl.value);
|
||||
@@ -1849,6 +1853,16 @@ var PM = {
|
||||
/// Ils ne s'affichent plus - le panneau repliable a cede la place au voile -
|
||||
/// mais c'est toujours d'eux que part pushConfig, et Delphi ne connait qu'eux.
|
||||
/// Les vider ferait perdre la configuration a la premiere synchronisation.
|
||||
/// Reglages lus dans le QR du poste : ils remplissent les champs, Save valide.
|
||||
pasteConfig: function (url, tok) {
|
||||
var u = document.getElementById('sUrl');
|
||||
u.value = shortRepoUrl(url);
|
||||
autoGrow(u);
|
||||
document.getElementById('sTok').value = tok;
|
||||
toast('URL and token pasted - type the sync password, then Save');
|
||||
document.getElementById('sPwd').focus();
|
||||
},
|
||||
|
||||
setConfig: function (url, tok, pwd, show) {
|
||||
// elPin volontairement absent : rien ne le restaure, jamais.
|
||||
elUrl.value = url; elTok.value = tok; elPwd.value = pwd;
|
||||
|
||||
Reference in New Issue
Block a user