docs: wording of the read paragraph and of the write errors (#384)
Self-review findings, no behaviour change. architecture.md: the mount reads paragraph no longer plays on "compte" (count and account). fs_commands.rs: the doc comment of create_sample_import_folders said a write error carries "never a path", while it names the sample folder and its file; it now says it never carries the import folder's path. Resolves #384 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
1ed6a67af0
commit
08c2f57559
2 changed files with 6 additions and 5 deletions
|
|
@ -352,7 +352,7 @@ Phase 1 de l'accueil des nouveaux profils (#351-#357 ; analyse d'origine dans `d
|
|||
| Transactions `/transactions` | `showsEmptyState(state)` = `totalInDb === 0`, `totalInDb` via `getTransactionCount`, lu au montage : la carte vient dès que le compte est lu, sans attendre la première page (#384, D1) | `EmptyState` dans la page | « Importer des transactions » → `/import` |
|
||||
| Budget `/budget` | `showsEmptyState(state)` = `totalInDb === 0`, même compteur | `EmptyState` dans la page | « Importer des transactions » → `/import` |
|
||||
|
||||
Sur ces deux pages, le compte se lit au montage à côté des autres lectures de la page (catégories et sources de Transactions, comptes du filtre de Budget), chacune pour son compte (`Promise.allSettled`, #384) : un compte en échec laisse `totalInDb` à `null`, donc la mise en page normale, jamais l'état vide, sans priver la page de ses filtres ; le premier échec devient l'erreur de la page. Le compte n'est relu qu'au montage, aucun abonnement au canal d'événements de données : un import se fait sur `/import`, et revenir sur la page la remonte (un changement de profil remonte toutes les routes, `BrowserRouter key={refreshKey}`).
|
||||
Sur ces deux pages, le compte se lit au montage à côté des autres lectures de la page (catégories et sources de Transactions, comptes du filtre de Budget), chaque lecture indépendante des autres (`Promise.allSettled`, #384) : un compte en échec laisse `totalInDb` à `null`, donc la mise en page normale, jamais l'état vide, sans priver la page de ses filtres ; le premier échec devient l'erreur de la page. Le compte n'est relu qu'au montage, aucun abonnement au canal d'événements de données : un import se fait sur `/import`, et revenir sur la page la remonte (un changement de profil remonte toutes les routes, `BrowserRouter key={refreshKey}`).
|
||||
|
||||
**La liste de démarrage** (`OnboardingChecklist`, dans la carte d'accueil du tableau de bord vide, et dépliée en place par « Voir la liste » du bandeau de démarrage `OnboardingBanner`, que `AppShell` pose en haut de chaque page, #397) a huit lignes dans un ordre fixe (#425). Les six étapes de données se cochent par une **donnée**, jamais par un clic ; les deux étapes de visite par « J'ai compris » (et, pour Rapports, l'ouverture de la carte Tendances mise en évidence). La source de vérité est `computeChecklist(counters, { importFolderSet, budgetAllowed, skipped, acknowledged, visitStepsInitialized })` (`utils/onboardingChecklist.ts`, pur) :
|
||||
|
||||
|
|
|
|||
|
|
@ -244,10 +244,11 @@ const SAMPLE_ERROR_INVALID_DATE: &str = "invalid_date";
|
|||
/// `import_folder` is not a directory (`import_folder_missing`, without the
|
||||
/// path), and when either sample folder already exists
|
||||
/// (`sample_folder_exists:<name>`) — checked BEFORE anything is written, so an
|
||||
/// existing folder is never touched. A write error keeps its text: the sample
|
||||
/// folder's name, the file name and the OS error, never a path. The command
|
||||
/// only ever receives the import folder and a date: the names of what it
|
||||
/// writes are fixed here. Returns the two folder NAMES (not paths).
|
||||
/// existing folder is never touched. A write error keeps its English text: the
|
||||
/// sample folder's name (with the file's for a write) and the OS error, never
|
||||
/// the import folder's path. The command only ever receives the import folder
|
||||
/// and a date: the names of what it writes are fixed here. Returns the two
|
||||
/// folder NAMES (not paths).
|
||||
#[tauri::command]
|
||||
pub fn create_sample_import_folders(
|
||||
import_folder: String,
|
||||
|
|
|
|||
Loading…
Reference in a new issue