Merge pull request #41 from gmbrax/fix/add-enter-binding-on-create-diary

Fix/add enter binding on create diary
This commit is contained in:
Gustavo Henrique Miranda 2025-07-14 16:11:17 -03:00 committed by GitHub
commit 33987507ac
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 16 additions and 7 deletions

View File

@ -8,6 +8,7 @@ from textual.widgets import Label, Input, Button
class NewDiaryModal(ModalScreen[str]):
BINDINGS = [
Binding("escape", "cancel", "Cancel"),
Binding("enter", "create_diary", "Create",priority=True),
]
def __init__(self):
super().__init__()
@ -31,15 +32,23 @@ class NewDiaryModal(ModalScreen[str]):
def on_button_pressed(self, event: Button.Pressed) -> None:
"""Handles button clicks."""
if event.button.id == "create_diary_button":
diary_name = self.name_input.value.strip()
if diary_name:
self.dismiss(diary_name)
else:
self.notify("Diary name cannot be empty.", severity="warning")
self.name_input.focus()
self.action_create_diary()
elif event.button.id == "cancel_button":
self.dismiss("")
def action_cancel(self) -> None:
"""Action to cancel the modal."""
self.dismiss("")
self.dismiss("")
def action_create_diary(self) -> None:
diary_name = self.name_input.value.strip()
if diary_name:
self.dismiss(diary_name)
else:
self.notify("Diary name cannot be empty.", severity="warning")
self.name_input.focus()
def on_input_submitted(self, event: Input.Submitted) -> None:
if event.input.id == "NewDiaryModal-NameInput":
self.action_create_diary()