From 2816fa88e4491897777c0cbd231aeb83b84d0945 Mon Sep 17 00:00:00 2001 From: joBr99 <29555657+joBr99@users.noreply.github.com> Date: Thu, 23 Nov 2023 19:12:30 +0100 Subject: [PATCH] implement navigation up --- .../rootfs/usr/bin/mqtt-manager/ha_cards.py | 8 ++++++++ .../rootfs/usr/bin/mqtt-manager/panel.py | 14 +++++++++----- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/nspanel-lovelace-ui/rootfs/usr/bin/mqtt-manager/ha_cards.py b/nspanel-lovelace-ui/rootfs/usr/bin/mqtt-manager/ha_cards.py index 974a96f9..84c5cb38 100644 --- a/nspanel-lovelace-ui/rootfs/usr/bin/mqtt-manager/ha_cards.py +++ b/nspanel-lovelace-ui/rootfs/usr/bin/mqtt-manager/ha_cards.py @@ -246,6 +246,14 @@ class HACard(panel_cards.Card): 'color': [255, 255, 255], }, self.panel ).render()[1:] + if not self.iid_prev and not self.iid_next: + leftBtn = panel_cards.Entity(self.locale, + { + 'entity': f'navigate.UP', + 'icon': 'mdi:arrow-left-bold', + 'color': [255, 255, 255], + }, self.panel + ).render()[1:] result = f"{leftBtn}~{rightBtn}" return result diff --git a/nspanel-lovelace-ui/rootfs/usr/bin/mqtt-manager/panel.py b/nspanel-lovelace-ui/rootfs/usr/bin/mqtt-manager/panel.py index 64221f30..fbb2eae2 100644 --- a/nspanel-lovelace-ui/rootfs/usr/bin/mqtt-manager/panel.py +++ b/nspanel-lovelace-ui/rootfs/usr/bin/mqtt-manager/panel.py @@ -199,11 +199,15 @@ class LovelaceUIPanel: match entity_id.split(".")[0]: # handle internal stuff case 'navigate': - iid = entity_id.split(".")[1] - self.privious_cards.append(self.current_card) - self.current_card = self.searchCard(iid) - self.render_current_page(switchPages=True) - + card_iid = entity_id.split(".")[1] + if card_iid == "UP": + self.current_card = self.privious_cards.pop() + # TODO Handle privious_cards empty with default card + self.render_current_page(switchPages=True) + else: + self.privious_cards.append(self.current_card) + self.current_card = self.searchCard(card_iid) + self.render_current_page(switchPages=True) # send ha stuff to ha case _: ha_control.handle_buttons(entity_id, btype, value)