]> git.armaanb.net Git - lightcards.git/commitdiff
Clean up sidebar implementation
authorArmaan Bhojwani <me@armaanb.net>
Fri, 12 Feb 2021 16:16:35 +0000 (11:16 -0500)
committerArmaan Bhojwani <me@armaanb.net>
Fri, 12 Feb 2021 16:16:35 +0000 (11:16 -0500)
lightcards/display.py

index 0e07f9ded03d9cfa449f33664032ec3efdd06262..9baa267a8d7936a19fd57a7542173a97ead3887b 100644 (file)
@@ -442,24 +442,22 @@ class Display:
         self.win.vline(0, mcols - 20, 0, mlines - 2)
 
         nstarred = self.nstarred()
-        if mlines - 5 < len(self.nstarred()):
-            nstarred = self.nstarred()[: mlines - 4]
-        elif mlines - 5 == len(self.nstarred()):
-            nstarred = self.nstarred()[: mlines - 3]
-
-        for _ in nstarred:
-            for i, card in enumerate(nstarred):
-                term = card.front
-                if len(term) > 18:
-                    term = term + "…"
-                self.win.addstr(2 + i, left, term)
-            if not nstarred == self.nstarred():
+        for i, card in enumerate(nstarred):
+            term = card.front
+            if len(term) > 18:
+                term = term[:18] + "…"
+
+            if i > mlines - 5:
+                for i in range(19):
+                    self.win.addch(mlines - 3, left + i, " ")
+
                 self.win.addstr(
                     mlines - 3,
                     left,
-                    f"({len(self.nstarred()) - len(nstarred)} more)",
+                    f"({len(nstarred) - i - 2} more)",
                 )
-                break
+            else:
+                self.win.addstr(2 + i, left, term)
 
         if len(self.nstarred()) == 0:
             self.win.addstr(2, left, "None starred")