Explorateur : icône personnalisable par dossier
Menu « … » d'un dossier > « Icône… » : grille de 27 icônes Tabler
(projet, serveurs, stockage, réseau, sécurité, documents, archives…)
plus « Par défaut ». L'icône est enregistrée dans .meta.json (champ
icon), partagée par tous, et suit renommages et déplacements.
Nouvelle route POST /api/meta/icon {"paths":[...],"icon":"server"}.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011bGUm1KLMvT6YPbJxZgwkj
This commit is contained in:
1 parent
bddbc27a1d
commit
8c29eb35e7
11 files changed
+489
-6
No files matched your search
@@ -555,6 +555,24 @@ func (u *Space) EditTags(paths, add, remove []string) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// SetIcon choisit l'icône de dossiers (voir Store.SetIcon).
|
||||
func (u *Space) SetIcon(paths []string, icon string) error {
|
||||
groups := map[*Store][]string{}
|
||||
for _, p := range paths {
|
||||
st, rel, err := u.route(p)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
groups[st] = append(groups[st], rel)
|
||||
}
|
||||
for st, rels := range groups {
|
||||
if err := st.SetIcon(rels, icon); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (u *Space) Read(p string) ([]byte, string, error) {
|
||||
st, rel, err := u.route(p)
|
||||
if err != nil {
|
||||
|
||||
Reference in new issue
Block a user