From 86602facfa4c1bd0580550ac49ce4993a25111b4 Mon Sep 17 00:00:00 2001 From: thePR0M3TH3AN <53631862+PR0M3TH3AN@users.noreply.github.com> Date: Tue, 3 Mar 2026 10:48:08 -0500 Subject: [PATCH] update --- src/seedpass/tui_v3/widgets/action_bar.py | 25 +++++++++++++++-------- src/seedpass/tui_v3/widgets/inspector.py | 21 ++++++++++--------- 2 files changed, 28 insertions(+), 18 deletions(-) diff --git a/src/seedpass/tui_v3/widgets/action_bar.py b/src/seedpass/tui_v3/widgets/action_bar.py index 80f41ba7..8b003bd0 100644 --- a/src/seedpass/tui_v3/widgets/action_bar.py +++ b/src/seedpass/tui_v3/widgets/action_bar.py @@ -12,7 +12,8 @@ class ActionBar(Static): DEFAULT_CSS = """ ActionBar { - height: 2; + height: auto; + min-height: 4; background: #999999; color: #000000; border: solid black; @@ -32,11 +33,12 @@ class ActionBar(Static): except: pass - exit_hint = " [M]anaged Exit" if is_managed else "" + exit_hint = " [@click='app.managed_exit'][b][M][/b]anaged Exit[/]" if is_managed else "" global_row = ( - f"[b][S][/b]ettings [b][A][/b]dd New Entry " - f"[b][C][/b]reate New Seed [b][R][/b]emove Seed " - f"[b][E][/b]xport Data [b][I][/b]mport Data [b][B][/b]ackup Data{exit_hint}" + f"[@click='app.toggle_settings'][b][S][/b]ettings[/] [@click='app.add_entry'][b][A][/b]dd New Entry[/] " + f"[@click='app.seed_plus'][b][C][/b]reate New Seed[/] " + f"[@click='app.open_palette'][b][R][/b]emove Seed[/] " + f"[@click='app.action_db_export'][b][E][/b]xport Data[/] [@click='app.action_db_import'][b][I][/b]mport Data[/] [@click='app.open_palette'][b][B][/b]ackup Data[/]{exit_hint}" ) # Context Row (added from previous phase parity) @@ -47,11 +49,18 @@ class ActionBar(Static): entry = app.services["entry"].retrieve_entry(selected_id) kind = str(entry.get("kind") or entry.get("type") or "").lower() - actions = ["[b][v][/b] Reveal", "[b][g][/b] QR", "[b][e][/b] Edit", "[b][a][/b] Archive", "[b][c][/b] Copy", "[b][z][/b] Maximize"] + actions = [ + "[@click='app.reveal_selected'][b][v][/b] Reveal[/]", + "[@click='app.show_qr'][b][g][/b] QR[/]", + "[@click='app.edit_selected'][b][e][/b] Edit[/]", + "[@click='app.toggle_archive'][b][a][/b] Archive[/]", + "[@click='app.copy_selected'][b][c][/b] Copy[/]", + "[@click='app.maximize_inspector'][b][z][/b] Maximize[/]" + ] if kind in {"managed_account", "seed"}: - actions.insert(4, "[b][m][/b] Load") + actions.insert(4, "[@click='app.managed_load'][b][m][/b] Load[/]") if kind in {"document", "note"}: - actions.insert(5, "[b][x][/b] Export") + actions.insert(5, "[@click='app.export_selected'][b][x][/b] Export[/]") context = f" Context ({kind}): " + " ▣ ".join(actions) except Exception: diff --git a/src/seedpass/tui_v3/widgets/inspector.py b/src/seedpass/tui_v3/widgets/inspector.py index 4e246eff..807a1187 100644 --- a/src/seedpass/tui_v3/widgets/inspector.py +++ b/src/seedpass/tui_v3/widgets/inspector.py @@ -49,7 +49,7 @@ class InspectorHeader(Static): yield Label("[b]Black Listed? No[/b]", id="hdr-bl", classes="meta-item") yield Label("[b]Index Num*:[/b]\n0", id="hdr-idx", classes="meta-item") yield Label("[b]Entry Num:[/b]\n1", id="hdr-enum", classes="meta-item") - yield Label("Edit", classes="edit-btn") + yield Label("[@click=app.edit_selected]Edit[/]", classes="edit-btn") def update_data(self, entry: dict, kind_label: str): if not self.is_mounted: return @@ -98,8 +98,8 @@ class PasswordBoard(BaseBoard): yield Label("Password*", classes="field-title") with Horizontal(classes="field-row"): yield Label("**********", id="fld-pass-val", classes="field-val") - yield Label("Copy", classes="action-btn") - yield Label("Create New", classes="action-btn") + yield Label("[@click=app.copy_selected]Copy[/]", classes="action-btn") + yield Label("[@click=app.add_entry]Create New[/]", classes="action-btn") with Vertical(classes="field-box"): yield Label("Username*", classes="field-title") yield Label("-", id="fld-user-val") @@ -163,7 +163,7 @@ class TotpBoard(BaseBoard): yield Label("2FA Code*", classes="field-title") with Horizontal(classes="field-row"): yield Label("------ (30s left)", id="fld-code-val", classes="field-val") - yield Label("Copy", classes="action-btn") + yield Label("[@click=app.copy_selected]Copy[/]", classes="action-btn") with Vertical(classes="field-box"): yield Label("Secret", classes="field-title") yield Label("-", id="fld-secret-val") @@ -255,7 +255,7 @@ class SeedBoard(BaseBoard): yield Label("Seed Phrase*", classes="field-title") with Horizontal(classes="field-row"): yield Label("[HIDDEN]", id="fld-phrase-val", classes="field-val") - yield Label("Copy", classes="action-btn") + yield Label("[@click=app.copy_selected]Copy[/]", classes="action-btn") with Vertical(classes="field-box"): yield Label("Fingerprint", classes="field-title") yield Label("-", id="fld-fp-val") @@ -312,12 +312,12 @@ class SshBoard(BaseBoard): yield Label("Private Key*", classes="field-title") with Horizontal(classes="field-row"): yield Label("[HIDDEN]", id="fld-priv-val", classes="field-val") - yield Label("Copy", classes="action-btn") + yield Label("[@click=app.copy_selected]Copy[/]", classes="action-btn") with Vertical(classes="field-box"): yield Label("Public Key", classes="field-title") with Horizontal(classes="field-row"): yield Label("[PREVIEW]", id="fld-pub-val", classes="field-val") - yield Label("Copy", classes="action-btn") + yield Label("[@click=app.copy_selected]Copy[/]", classes="action-btn") with Vertical(classes="field-box"): yield Label("Key Type", classes="field-title") yield Label("Ed25519", id="fld-type-val") @@ -359,7 +359,7 @@ class PgpBoard(BaseBoard): yield Label("Private Key*", classes="field-title") with Horizontal(classes="field-row"): yield Label("[HIDDEN]", id="fld-priv-val", classes="field-val") - yield Label("Copy", classes="action-btn") + yield Label("[@click=app.copy_selected]Copy[/]", classes="action-btn") with Vertical(classes="field-box"): yield Label("Fingerprint / ID", classes="field-title") yield Label("-", id="fld-fp-val") @@ -401,12 +401,12 @@ class NostrBoard(BaseBoard): yield Label("nsec (Secret)*", classes="field-title") with Horizontal(classes="field-row"): yield Label("[HIDDEN]", id="fld-nsec-val", classes="field-val") - yield Label("Copy", classes="action-btn") + yield Label("[@click=app.copy_selected]Copy[/]", classes="action-btn") with Vertical(classes="field-box"): yield Label("npub (Public)", classes="field-title") with Horizontal(classes="field-row"): yield Label("-", id="fld-npub-val", classes="field-val") - yield Label("Copy", classes="action-btn") + yield Label("[@click=app.copy_selected]Copy[/]", classes="action-btn") with Vertical(classes="field-box"): yield Label("Hex Key", classes="field-title") yield Label("-", id="fld-hex-val") @@ -501,6 +501,7 @@ class BoardContainer(Vertical): padding: 0; margin: 0; background: #000000; + overflow: auto; } """