feat: système de profils — historiques et drop stats séparés par profil
- Profils stockés dans profiles.json (userData), profil "Défaut" rétro-compatible - Chaque profil a son propre historique de sessions et app state (fichiers suffixés par id) - Drop stats : mode Privé (fichier propre) ou Partagé (pool dropstats-shared.json commun) - Bouton 👤 dans la topbar ouvre une modal de gestion des profils - Créer, renommer (double-clic), supprimer, activer un profil - Basculer le mode de drop stats (Privé ↔ Partagé) par profil - timers et alertes isolés par profil via clés localStorage préfixées par profil id - Switch de profil = rechargement de page (données propres sans état résiduel) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -25,5 +25,12 @@ contextBridge.exposeInMainWorld('api', {
|
||||
saveSessionHistory: (obj) => ipcRenderer.invoke('save-session-history', obj),
|
||||
|
||||
checkUpdateManual: () => ipcRenderer.invoke('check-update-manual'),
|
||||
onUpdateProgress: (cb) => ipcRenderer.on('update-progress', (_, data) => cb(data))
|
||||
onUpdateProgress: (cb) => ipcRenderer.on('update-progress', (_, data) => cb(data)),
|
||||
|
||||
getProfiles: () => ipcRenderer.invoke('get-profiles'),
|
||||
createProfile: (name, mode) => ipcRenderer.invoke('create-profile', { name, dropStatsMode: mode }),
|
||||
switchProfile: (id) => ipcRenderer.invoke('switch-profile', id),
|
||||
renameProfile: (id, name) => ipcRenderer.invoke('rename-profile', { id, name }),
|
||||
deleteProfile: (id) => ipcRenderer.invoke('delete-profile', id),
|
||||
setDropStatsMode: (id, mode) => ipcRenderer.invoke('set-drop-stats-mode', { id, mode }),
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user