-
-
- {myNode?.user?.shortName ?? "UNK"}
-
-
{myNode?.user?.longName ?? "UNK"}
+ {myNode === undefined ? (
+
+
+ Loading device info...
-
-
-
-
-
-
-
- {myNode?.deviceMetrics?.batteryLevel
- ? myNode?.deviceMetrics?.batteryLevel > 100
- ? "Charging"
- : `${myNode?.deviceMetrics?.batteryLevel}%`
- : "UNK"}
-
-
-
-
-
- {myNode?.deviceMetrics?.voltage?.toPrecision(3) ?? "UNK"} volts
-
-
-
-
- v{myMetadata?.firmwareVersion ?? "UNK"}
-
-
+ ) : (
+ <>
+
+
+
+ {myNode.user?.shortName ?? "UNK"}
+
+ {myNode.user?.longName ?? "UNK"}
+
+
+
+
+
+
+
+
+ {myNode.deviceMetrics?.batteryLevel
+ ? myNode.deviceMetrics.batteryLevel > 100
+ ? "Charging"
+ : `${myNode.deviceMetrics.batteryLevel}%`
+ : "UNK"}
+
+
+
+
+
+ {myNode.deviceMetrics?.voltage?.toPrecision(3) ?? "UNK"} volts
+
+
+
+
+ v{myMetadata?.firmwareVersion ?? "UNK"}
+
+
+ >
+ )}
{pages.map((link) => (
@@ -115,9 +126,12 @@ export const Sidebar = ({ children }: SidebarProps) => {
label={link.name}
Icon={link.icon}
onClick={() => {
- setActivePage(link.page);
+ if (myNode !== undefined) {
+ setActivePage(link.page);
+ }
}}
active={link.page === activePage}
+ disabled={myNode === undefined}
/>
))}
diff --git a/src/components/UI/Sidebar/sidebarButton.tsx b/src/components/UI/Sidebar/sidebarButton.tsx
index b6444bb8..fa569968 100644
--- a/src/components/UI/Sidebar/sidebarButton.tsx
+++ b/src/components/UI/Sidebar/sidebarButton.tsx
@@ -7,6 +7,7 @@ export interface SidebarButtonProps {
Icon?: LucideIcon;
element?;
onClick?: () => void;
+ disabled?: boolean;
}
export const SidebarButton = ({
@@ -15,12 +16,14 @@ export const SidebarButton = ({
Icon,
element,
onClick,
+ disabled = false,
}: SidebarButtonProps) => (