mirror of
https://github.com/core-hn/pseudobsidian-ization.git
synced 2026-07-22 06:57:06 +00:00
Floating promises: add `void` to all unhandled refreshHighlightData() calls
in callbacks and event listeners; extract processFilePicker() to fix the async
event listener returning a Promise where void was expected.
Inline styles: replace all style.cssText and setAttribute('style') with CSS
classes (pseudobs-hidden-input, pseudobs-legend-*, pseudobs-suggestions-*,
pseudobs-occ-*, pseudobs-disabled-input) across OccurrencesModal, RuleModal,
QuickPseudonymizeModal, EditRuleModal, and main.ts.
Settings headings: replace all createEl('h2'/'h3') with new Setting().setHeading()
in PseudObsSettingTab (5 headings).
Sentence case: fix linter-flagged occurrences (placeholder text, legend labels,
button text); 4 residual occurrences on legitimate proper nouns (Baptiste Coulmont,
Jefferson, ICOR, Synology Drive) left for human reviewer.
166 lines
4 KiB
CSS
166 lines
4 KiB
CSS
/* Pseudonymizer Tool — styles */
|
|
|
|
/* Termes sources encore présents dans le texte (à pseudonymiser) */
|
|
.pseudobs-source {
|
|
background-color: rgba(255, 160, 0, 0.22);
|
|
border-radius: 2px;
|
|
outline: 1px solid rgba(255, 160, 0, 0.4);
|
|
}
|
|
|
|
/* Termes de remplacement déjà appliqués (pseudonymes) */
|
|
.pseudobs-replaced {
|
|
background-color: rgba(60, 200, 100, 0.2);
|
|
border-radius: 2px;
|
|
outline: 1px solid rgba(60, 200, 100, 0.35);
|
|
}
|
|
|
|
/* Modal de validation sélective */
|
|
.pseudobs-scan-summary { opacity: 0.7; margin-bottom: 0.5em; }
|
|
|
|
.pseudobs-occ-group { margin: 1em 0; }
|
|
|
|
.pseudobs-occ-rule-header {
|
|
font-weight: 600;
|
|
font-size: 0.9em;
|
|
padding: 4px 8px;
|
|
background: var(--background-secondary);
|
|
border-radius: 4px;
|
|
margin: 12px 0 6px;
|
|
}
|
|
|
|
/* Input caché pour le sélecteur de fichier natif */
|
|
.pseudobs-hidden-input {
|
|
position: fixed;
|
|
top: -9999px;
|
|
left: -9999px;
|
|
opacity: 0;
|
|
}
|
|
|
|
/* Légende de la modal de scan */
|
|
.pseudobs-legend {
|
|
display: flex;
|
|
gap: 16px;
|
|
font-size: 0.8em;
|
|
opacity: 0.65;
|
|
margin-bottom: 8px;
|
|
flex-wrap: wrap;
|
|
}
|
|
.pseudobs-legend-item {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 4px;
|
|
}
|
|
.pseudobs-legend-badge {
|
|
border-radius: 3px;
|
|
padding: 0 5px;
|
|
font-weight: 700;
|
|
}
|
|
.pseudobs-legend-badge-validate { background: rgba(50, 205, 90, 0.7); }
|
|
.pseudobs-legend-badge-ignore { background: rgba(150, 150, 150, 0.7); }
|
|
.pseudobs-legend-badge-fp { background: rgba(255, 80, 80, 0.6); }
|
|
|
|
/* Label de statut (visible quand le résultat est masqué) */
|
|
.pseudobs-occ-status-label {
|
|
font-size: 0.8em;
|
|
font-style: italic;
|
|
opacity: 0.55;
|
|
margin: 2px 0 4px;
|
|
}
|
|
|
|
/* Suggestions de prénoms (RuleModal, QuickPseudonymizeModal) */
|
|
.pseudobs-suggestions-box { margin-bottom: 6px; }
|
|
.pseudobs-suggestions-label {
|
|
display: block;
|
|
opacity: 0.6;
|
|
margin-bottom: 4px;
|
|
font-size: 0.8em;
|
|
}
|
|
.pseudobs-suggestions-tags {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: 6px;
|
|
margin-bottom: 6px;
|
|
}
|
|
.pseudobs-suggestion-btn {
|
|
padding: 2px 10px;
|
|
border-radius: 12px;
|
|
border: 1px solid var(--background-modifier-border);
|
|
cursor: pointer;
|
|
font-size: 0.85em;
|
|
background: var(--background-secondary);
|
|
color: var(--text-normal);
|
|
}
|
|
.pseudobs-suggestion-btn-selected {
|
|
border-color: var(--interactive-accent);
|
|
background: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
font-weight: 600;
|
|
}
|
|
|
|
/* Champ désactivé */
|
|
.pseudobs-disabled-input { opacity: 0.6; }
|
|
|
|
.pseudobs-occ-card {
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 6px;
|
|
padding: 8px 10px;
|
|
margin: 4px 0;
|
|
transition: background 0.15s;
|
|
}
|
|
.pseudobs-occ-validated { border-left: 3px solid rgba(60, 200, 100, 0.7); }
|
|
.pseudobs-occ-ignored { border-left: 3px solid rgba(150, 150, 150, 0.5); opacity: 0.6; }
|
|
.pseudobs-occ-false_positive { border-left: 3px solid rgba(255, 80, 80, 0.6); opacity: 0.5; }
|
|
|
|
.pseudobs-occ-line {
|
|
font-family: var(--font-monospace);
|
|
font-size: 0.85em;
|
|
line-height: 1.7;
|
|
white-space: pre-wrap;
|
|
word-break: break-word;
|
|
}
|
|
.pseudobs-occ-result-line { opacity: 0.8; }
|
|
|
|
/* Terme source → jaune */
|
|
.pseudobs-occ-term {
|
|
background: rgba(255, 210, 0, 0.55);
|
|
border-radius: 3px;
|
|
padding: 1px 5px;
|
|
font-weight: 700;
|
|
color: var(--text-normal);
|
|
}
|
|
|
|
/* Remplacement proposé → vert */
|
|
.pseudobs-occ-replacement {
|
|
background: rgba(50, 205, 90, 0.5);
|
|
border-radius: 3px;
|
|
padding: 1px 5px;
|
|
font-weight: 700;
|
|
color: var(--text-normal);
|
|
}
|
|
|
|
.pseudobs-ctx-side { opacity: 0.55; }
|
|
|
|
.pseudobs-occ-arrow {
|
|
font-size: 0.75em;
|
|
opacity: 0.35;
|
|
line-height: 1.2;
|
|
padding-left: 2px;
|
|
user-select: none;
|
|
}
|
|
|
|
.pseudobs-occ-meta { display: block; font-size: 0.75em; opacity: 0.45; margin-top: 4px; }
|
|
|
|
.pseudobs-occ-actions { display: flex; gap: 6px; margin-top: 6px; }
|
|
.pseudobs-occ-btn {
|
|
padding: 2px 10px;
|
|
border-radius: 4px;
|
|
border: 1px solid var(--background-modifier-border);
|
|
cursor: pointer;
|
|
font-size: 0.85em;
|
|
background: var(--background-primary);
|
|
}
|
|
.pseudobs-occ-btn-active {
|
|
background: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
border-color: var(--interactive-accent);
|
|
}
|