Fix TUI bugs: folder selection, filter stability, UI consistency

- Mail: Fix folder/account selector not triggering reload (use direct
  fetch instead of reactive reload_needed flag)
- Tasks: Store all_projects/all_tags on mount so filters don't change
  when filtering; add OR search for multiple tags
- Sync: Use rounded borders and border_title for sidebar/activity log
- Calendar: Remove padding from mini-calendar, add rounded border and
  border_title to invites panel
This commit is contained in:
Bendt
2025-12-19 11:24:15 -05:00
parent 25385c6482
commit be2f67bb7b
5 changed files with 71 additions and 37 deletions

View File

@@ -216,16 +216,10 @@ class SyncDashboard(App):
.sidebar {
width: 30;
height: 100%;
border: solid $primary;
border: round $primary;
padding: 0;
}
.sidebar-title {
text-style: bold;
padding: 1;
background: $primary-darken-2;
}
.countdown-container {
height: 5;
padding: 0 1;
@@ -269,15 +263,10 @@ class SyncDashboard(App):
.log-container {
height: 1fr;
border: solid $primary;
border: round $primary;
padding: 0;
}
.log-title {
padding: 0 1;
background: $primary-darken-2;
}
ListView {
height: 1fr;
}
@@ -338,8 +327,7 @@ class SyncDashboard(App):
with Horizontal(classes="dashboard"):
# Sidebar with task list
with Vertical(classes="sidebar"):
yield Static("Tasks", classes="sidebar-title")
with Vertical(classes="sidebar", id="tasks-sidebar"):
yield ListView(
# Stage 1: Sync local changes to server
TaskListItem(
@@ -416,8 +404,7 @@ class SyncDashboard(App):
yield Static("0%", id="progress-percent")
# Log for selected task
with Vertical(classes="log-container"):
yield Static("Activity Log", classes="log-title")
with Vertical(classes="log-container", id="log-container"):
yield Log(id="task-log")
yield Footer()
@@ -427,6 +414,13 @@ class SyncDashboard(App):
# Set theme from shared config
self.theme = get_theme_name()
# Set border titles
try:
self.query_one("#tasks-sidebar").border_title = "Tasks"
self.query_one("#log-container").border_title = "Activity Log"
except Exception:
pass
# Store references to task items
task_list = self.query_one("#task-list", ListView)
for item in task_list.children: