Fix search: increase tasks height to 4, disable input initially to prevent focus steal
This commit is contained in:
@@ -201,7 +201,7 @@ class CalendarApp(App):
|
||||
yield Header()
|
||||
yield Horizontal(
|
||||
Static("\uf002 Search:", classes="search-label"), # nf-fa-search
|
||||
Input(placeholder="Search events...", id="search-input"),
|
||||
Input(placeholder="Search events...", id="search-input", disabled=True),
|
||||
id="search-container",
|
||||
classes="hidden",
|
||||
)
|
||||
@@ -597,6 +597,7 @@ Keybindings:
|
||||
search_container = self.query_one("#search-container")
|
||||
search_container.remove_class("hidden")
|
||||
search_input = self.query_one("#search-input", Input)
|
||||
search_input.disabled = False
|
||||
search_input.focus()
|
||||
|
||||
def action_clear_search(self) -> None:
|
||||
@@ -610,6 +611,7 @@ Keybindings:
|
||||
"hidden"
|
||||
):
|
||||
search_input.value = ""
|
||||
search_input.disabled = True
|
||||
search_container.add_class("hidden")
|
||||
search_results.add_class("hidden")
|
||||
self._search_results = []
|
||||
|
||||
@@ -157,23 +157,18 @@ class TasksApp(App):
|
||||
|
||||
#search-container {
|
||||
dock: top;
|
||||
height: 3;
|
||||
height: 4;
|
||||
width: 100%;
|
||||
background: $surface;
|
||||
border-bottom: solid $primary;
|
||||
padding: 0 1;
|
||||
align: left middle;
|
||||
}
|
||||
|
||||
#search-container.hidden {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#search-container > Horizontal {
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
align: left middle;
|
||||
}
|
||||
|
||||
#search-container .search-label {
|
||||
width: auto;
|
||||
padding: 0 1;
|
||||
@@ -256,7 +251,7 @@ class TasksApp(App):
|
||||
yield Header()
|
||||
yield Horizontal(
|
||||
Static("\uf002 Search:", classes="search-label"), # nf-fa-search
|
||||
Input(placeholder="Filter tasks...", id="search-input"),
|
||||
Input(placeholder="Filter tasks...", id="search-input", disabled=True),
|
||||
id="search-container",
|
||||
classes="hidden",
|
||||
)
|
||||
@@ -887,6 +882,7 @@ Keybindings:
|
||||
search_container = self.query_one("#search-container")
|
||||
search_container.remove_class("hidden")
|
||||
search_input = self.query_one("#search-input", Input)
|
||||
search_input.disabled = False
|
||||
search_input.focus()
|
||||
|
||||
def action_clear_search(self) -> None:
|
||||
@@ -897,6 +893,7 @@ Keybindings:
|
||||
# Only act if search is visible or there's a query
|
||||
if not search_container.has_class("hidden") or self.current_search_query:
|
||||
search_input.value = ""
|
||||
search_input.disabled = True
|
||||
self.current_search_query = ""
|
||||
search_container.add_class("hidden")
|
||||
self.load_tasks()
|
||||
|
||||
Reference in New Issue
Block a user