A badge or a printed page must say which placement it shows and whether it is a draft. The retained plan and each proposal carry an optional timestamp, set when their placement changes and kept when a command rebuilds it unchanged, with or without an instant; format 1 is unchanged and the shipped demonstrations stay byte-identical. Anything but the retained plan under a retained or locked state prints as a draft, proposals included. The footer names event, date, round, timestamp and visible version. Checked: red first; 3085 node and 639 browser tests green from the index. --- FR --- [ADD] sorties : placement daté, règle du brouillon, pied, papier Un badge ou une page imprimée doit dire quel placement il montre et s'il est un brouillon. Le retenu et chaque proposition portent un horodatage facultatif, posé quand leur placement change et gardé quand une commande le reconstruit à l'identique, avec ou sans instant ; le format 1 ne change pas et les démonstrations livrées restent identiques à l'octet. Tout ce qui n'est pas le retenu sous l'état retenu ou bloqué s'imprime en brouillon, propositions comprises. Le pied nomme événement, date, tour, horodatage et version visible. Vérifié : rouge d'abord ; 3085 node et 639 navigateur verts depuis l'index. Assisted-by: Claude Opus 5.5
46 lines
2.2 KiB
JavaScript
46 lines
2.2 KiB
JavaScript
// © 2026 TechnoLibre (http://www.technolibre.ca)
|
|
// License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl)
|
|
|
|
// Le panneau « À propos » et la version à l'écran (§ 18.6). Le bloc tient en
|
|
// une ligne, que l'opérateur copie dans un courriel : il porte les deux
|
|
// formes de la version, l'affichée et celle que montrent les propriétés du
|
|
// fichier sous Windows, que scripts/version.js engendre. Sa composition est
|
|
// une seule clé de la table de la coquille : la langue témoin l'encadre une
|
|
// fois, en entier. La version et la provenance à l'écran se définissent
|
|
// dans l'application (version.js), que le papier lit aussi : ce module les
|
|
// réexporte.
|
|
export { provenanceVisible, versionVisible } from '../application/version.js';
|
|
|
|
/**
|
|
* Bloc d'une ligne du panneau « À propos » (§ 18.6) : nom, version affichée,
|
|
* version Windows, plateforme, provenance, version de format, séparés par
|
|
* « · ». La provenance s'y lit sous son libellé, ou sous son propre nom
|
|
* quand le mode n'en a pas ; la plateforme sous sa nature.
|
|
*
|
|
* @param {Object} champs
|
|
* @param {{affichee: string, windows: string}} champs.version les deux formes
|
|
* de la version, celles que reçoit App (produitVersion, versionWindows)
|
|
* @param {string} champs.plateforme la nature du système de fichiers
|
|
* @param {string} champs.provenance le mode de construction de Vite
|
|
* @param {number} champs.format la version de format des fichiers
|
|
* @param {(cle: string, details?: Object) => string} t
|
|
* @returns {string} sans saut de ligne
|
|
* @throws {RangeError} une forme de la version absente, vide ou qui n'est
|
|
* pas une chaîne, en la nommant : une dépendance d'App oubliée
|
|
* échoue au montage, plutôt que de donner un bloc copiable faux
|
|
*/
|
|
export function blocAPropos({ version, plateforme, provenance, format }, t) {
|
|
for (const forme of ['affichee', 'windows']) {
|
|
const valeur = version[forme];
|
|
if (typeof valeur !== 'string' || valeur === '') {
|
|
throw new RangeError(`À propos : la version ${forme} manque (${JSON.stringify(valeur) ?? 'undefined'})`);
|
|
}
|
|
}
|
|
return t('coquille.apropos.bloc', {
|
|
affichee: version.affichee,
|
|
windows: version.windows,
|
|
plateforme,
|
|
provenance,
|
|
format,
|
|
});
|
|
}
|