From 4d7c74994ae1cb4a63521a12d152d8901a4f1c74 Mon Sep 17 00:00:00 2001 From: m Date: Mon, 4 May 2026 19:30:37 +0200 Subject: [PATCH] feat(t-paliad-125): sort project pickers by tree path with depth indent MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The /events Project filter dropdown was sorted by `updated_at DESC`, so a recently-touched Case appeared above its parent Client and cousins interleaved unrelated branches — m's report (2026-05-04): "Siemens cases come directly after 'mandant vs Gegner' and are not under 'Siemens-AG'". Backend: switch ProjectService.List to ORDER BY p.path so every descendant immediately follows its ancestor — the same ordering BuildTree produces. Both callers (handleListProjects, searchProjects) gain a stable, hierarchical default that matches user expectation. Frontend: add project-indent.ts shared helper and apply NBSP indent prefix in every ` pickers (events filter, /deadlines/new, /appointments/new, +// Fristenrechner save modal, …). Backend `ProjectService.List` returns +// rows ordered by `path`, so a parent always precedes its descendants. +// Indenting by the path's dot-segment depth recreates the tree shape +// inside an HTML