Fixed the new entry creation flow by prompting for a title if none is set.

This commit is contained in:
Gustavo Henrique Santos Souza de Miranda 2025-07-12 02:55:39 -03:00
parent 60311bc714
commit b704a524c8
1 changed files with 14 additions and 3 deletions

View File

@ -42,7 +42,7 @@ class EditEntryScreen(Screen):
self.is_new_entry = False self.is_new_entry = False
self.has_unsaved_changes = False self.has_unsaved_changes = False
self.new_entry_content = "" self.new_entry_content = ""
self.new_entry_title = "New Entry" self.new_entry_title = ""
self.next_entry_id = 1 self.next_entry_id = 1
self._updating_display = False self._updating_display = False
self._original_content = "" self._original_content = ""
@ -906,11 +906,22 @@ class EditEntryScreen(Screen):
self.notify("Empty entry cannot be saved") self.notify("Empty entry cannot be saved")
return return
# Passe a lista de fotos para o método de criação # Passe a lista de fotos para o método de criação
self.call_later(self._async_create_entry, content, photos_to_link) if self.new_entry_title == "":
self.app.push_screen(RenameEntryModal(current_name=""), lambda result: self._handle_save_after_rename(result,content,
photos_to_link))
else:
self.call_later(self._async_create_entry, content, photos_to_link)
else: else:
# Passe a lista de fotos para o método de atualização # Passe a lista de fotos para o método de atualização
self.call_later(self._async_update_entry, content, photos_to_link) self.call_later(self._async_update_entry, content, photos_to_link)
def _handle_save_after_rename(self, result: str | None, content: str, photos_to_link: List[Photo]) -> None:
if result is None:
self.notify("Save cancelled")
return
self.new_entry_title = result
self.call_later(self._async_create_entry, content, photos_to_link)
async def _async_create_entry(self, content: str, photos_to_link: List[Photo]): async def _async_create_entry(self, content: str, photos_to_link: List[Photo]):
"""Creates a new entry and links the referenced photos.""" """Creates a new entry and links the referenced photos."""
try: try:
@ -937,7 +948,7 @@ class EditEntryScreen(Screen):
self.is_new_entry = False self.is_new_entry = False
self.has_unsaved_changes = False self.has_unsaved_changes = False
self._original_content = new_entry.text self._original_content = new_entry.text
self.new_entry_title = "New Entry" self.new_entry_title = ""
self.next_entry_id = max(entry.id for entry in self.entries) + 1 self.next_entry_id = max(entry.id for entry in self.entries) + 1
self._update_entry_display() self._update_entry_display()