Put back button and title on the same line

Wrap ← Back button and screen title in a Horizontal title-bar
container across all screens.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
shuki
2026-03-07 07:05:10 +02:00
parent e575b86869
commit e2d94546bd
11 changed files with 37 additions and 21 deletions

View File

@@ -8,7 +8,8 @@ Screen {
text-style: bold;
color: #00cc00;
padding: 1 0;
text-align: center;
width: 1fr;
content-align: center middle;
}
/* Main menu */
@@ -175,6 +176,11 @@ SelectionList {
margin: 0 0 0 0;
}
#title-bar {
height: auto;
align: left middle;
}
/* Button rows */
#backup-buttons,
#restore-buttons,

View File

@@ -18,6 +18,7 @@ class BackupScreen(Screen):
remotes = list_conf_dir("remotes.d")
with Horizontal(classes="screen-with-docs"):
with Vertical(id="backup-screen"):
with Horizontal(id="title-bar"):
yield Button("← Back", id="btn-back", classes="back-btn")
yield Static("Backup", id="screen-title")
if not targets:

View File

@@ -90,6 +90,7 @@ class LogsScreen(Screen):
yield Header(show_clock=True)
with Horizontal(classes="screen-with-docs"):
with Vertical(id="logs-screen"):
with Horizontal(id="title-bar"):
yield Button("← Back", id="btn-back", classes="back-btn")
yield Static("Logs", id="screen-title")
yield DataTable(id="logs-table")

View File

@@ -18,6 +18,7 @@ class RemotesScreen(Screen):
yield Header(show_clock=True)
with Horizontal(classes="screen-with-docs"):
with Vertical(id="remotes-screen"):
with Horizontal(id="title-bar"):
yield Button("← Back", id="btn-back", classes="back-btn")
yield Static("Destinations", id="screen-title")
yield DataTable(id="remotes-table")

View File

@@ -21,6 +21,7 @@ class RestoreScreen(Screen):
remotes = list_conf_dir("remotes.d")
with Horizontal(classes="screen-with-docs"):
with Vertical(id="restore-screen"):
with Horizontal(id="title-bar"):
yield Button("← Back", id="btn-back", classes="back-btn")
yield Static("Restore", id="screen-title")
if not targets or not remotes:

View File

@@ -21,6 +21,7 @@ class RetentionScreen(Screen):
current_count = conf.get("RETENTION_COUNT", "30")
with Horizontal(classes="screen-with-docs"):
with Vertical(id="retention-screen"):
with Horizontal(id="title-bar"):
yield Button("← Back", id="btn-back", classes="back-btn")
yield Static("Retention Cleanup", id="screen-title")
if not targets:

View File

@@ -34,6 +34,7 @@ class RunningTasksScreen(Screen):
yield Header(show_clock=True)
with Horizontal(classes="screen-with-docs"):
with Vertical(id="running-tasks-screen"):
with Horizontal(id="title-bar"):
yield Button("← Back", id="btn-back", classes="back-btn")
yield Static("Running Tasks", id="screen-title")
yield DataTable(id="rt-table")

View File

@@ -21,6 +21,7 @@ class ScheduleScreen(Screen):
yield Header(show_clock=True)
with Horizontal(classes="screen-with-docs"):
with Vertical(id="schedule-screen"):
with Horizontal(id="title-bar"):
yield Button("← Back", id="btn-back", classes="back-btn")
yield Static("Schedules", id="screen-title")
yield DataTable(id="sched-table")

View File

@@ -21,6 +21,7 @@ class SettingsScreen(Screen):
settings = AppSettings.from_conf(conf)
with Horizontal(classes="screen-with-docs"):
with Vertical(id="settings-screen"):
with Horizontal(id="title-bar"):
yield Button("← Back", id="btn-back", classes="back-btn")
yield Static("Settings", id="screen-title")
with Vertical(classes="settings-section", id="section-general"):

View File

@@ -32,6 +32,7 @@ class SnapshotsScreen(Screen):
remotes = list_conf_dir("remotes.d")
with Horizontal(classes="screen-with-docs"):
with Vertical(id="snapshots-screen"):
with Horizontal(id="title-bar"):
yield Button("← Back", id="btn-back", classes="back-btn")
yield Static("Snapshots Browser", id="screen-title")
if not targets or not remotes:

View File

@@ -16,6 +16,7 @@ class TargetsScreen(Screen):
yield Header(show_clock=True)
with Horizontal(classes="screen-with-docs"):
with Vertical(id="targets-screen"):
with Horizontal(id="title-bar"):
yield Button("← Back", id="btn-back", classes="back-btn")
yield Static("Sources", id="screen-title")
yield DataTable(id="targets-table")