Commit Diff


commit - 220472d4062987e9fe737a17983ac824114b2ec7
commit + 415a550db68b43a152ad5b756f4b919ae67f3045
blob - 27ea43156dda573478d16fca007b11c95b286de6
blob + c120aedbd6504b476dc9f676c10aab8c3c077cdf
--- nezzontli_ctl/screens/album.py
+++ nezzontli_ctl/screens/album.py
@@ -36,10 +36,13 @@ class NewAlbumScreen(Screen):
                 yield Static("(ninguna carpeta elegida)", id="folder-summary")
             yield Button("Continuar →", id="continue-button", variant="primary", disabled=True)
 
+    _last_auto_slug = None
+
     def on_input_changed(self, event: Input.Changed) -> None:
         if event.input.id == "title-input" and not self._slug_touched:
-            self.query_one("#slug-input", Input).value = content.slugify(event.value)
-        elif event.input.id == "slug-input":
+            self._last_auto_slug = content.slugify(event.value)
+            self.query_one("#slug-input", Input).value = self._last_auto_slug
+        elif event.input.id == "slug-input" and event.value != self._last_auto_slug:
             self._slug_touched = True
 
     def on_button_pressed(self, event: Button.Pressed) -> None:
blob - 71daeae1457eea579aacea9ea681fd066d517473
blob + 270f8d92b763d235d0362cd824cf0ed3cf95a210
--- nezzontli_ctl/screens/page.py
+++ nezzontli_ctl/screens/page.py
@@ -67,10 +67,13 @@ class NewPageScreen(Screen):
         self.query_one("#related-label").display = False
         related_list.display = False
 
+    _last_auto_slug = None
+
     def on_input_changed(self, event: Input.Changed) -> None:
         if event.input.id == "title-input" and not self._slug_touched:
-            self.query_one("#slug-input", Input).value = content.slugify(event.value)
-        elif event.input.id == "slug-input":
+            self._last_auto_slug = content.slugify(event.value)
+            self.query_one("#slug-input", Input).value = self._last_auto_slug
+        elif event.input.id == "slug-input" and event.value != self._last_auto_slug:
             self._slug_touched = True
 
     def on_button_pressed(self, event: Button.Pressed) -> None:
blob - 7b07c4b7ccd0872de87bd118737c0d9f06f914dc
blob + 51cee41e2bf7261fe4dcf7c1a8c1ba0e3cca852b
--- nezzontli_ctl/screens/post.py
+++ nezzontli_ctl/screens/post.py
@@ -44,10 +44,13 @@ class NewPostScreen(Screen):
     def on_mount(self) -> None:
         self.query_one("#comments-fields").display = False
 
+    _last_auto_slug = None
+
     def on_input_changed(self, event: Input.Changed) -> None:
         if event.input.id == "title-input" and not self._slug_touched:
-            self.query_one("#slug-input", Input).value = content.slugify(event.value)
-        elif event.input.id == "slug-input":
+            self._last_auto_slug = content.slugify(event.value)
+            self.query_one("#slug-input", Input).value = self._last_auto_slug
+        elif event.input.id == "slug-input" and event.value != self._last_auto_slug:
             self._slug_touched = True
 
     def on_switch_changed(self, event: Switch.Changed) -> None: