diff --git a/src/extensions/kinemage/ui.tsx b/src/extensions/kinemage/ui.tsx
index 02cae2c13..74e85bfa8 100644
--- a/src/extensions/kinemage/ui.tsx
+++ b/src/extensions/kinemage/ui.tsx
@@ -148,39 +148,63 @@ export class KinemageControls extends CollapsableControls<{}, KinemageControlSta
renderControls() {
const kins = this.getKinemageList();
- if (kins.length === 0) return
No Kinemage data
;
+ if (kins.length === 0) return No Kinemage data
;
const blocks: React.ReactNode[] = [];
for (const { kinData, ref } of kins) {
const title = kinData.pdbfile || nameFromString(kinData.caption) || 'Kinemage';
const kinBlock: React.ReactNode[] = [];
- kinBlock.push({title}
);
+
+ // Title
+ kinBlock.push(
+
+ {title}
+
+ );
// views
- for (const [viewKey, viewObj] of Object.entries(kinData.viewDict || {})) {
- const label = viewObj.name || `View ${viewKey}`;
- kinBlock.push(
-
-
- {label}
-
- );
+ const viewEntries = Object.entries(kinData.viewDict || {});
+ if (viewEntries.length > 0) {
+ for (const [viewKey, viewObj] of viewEntries) {
+ const label = `View ${viewObj.name || `View ${viewKey}`}`;
+ kinBlock.push(
+
+
+
+ );
+ }
}
// animate
if (kinData.groupsAnimate && kinData.groupsAnimate.length > 0) {
kinBlock.push(
-
-
-
Animate
+
+
);
}
if (kinData.groupsAnimate2 && kinData.groupsAnimate2.length > 0) {
kinBlock.push(
-
-
-
Animate2
+
+
);
}
@@ -193,10 +217,15 @@ export class KinemageControls extends CollapsableControls<{}, KinemageControlSta
const isAnimate = kinData.groupsAnimate?.includes(groupKey) || kinData.groupsAnimate2?.includes(groupKey);
const label = isAnimate ? `* ${groupKey}` : groupKey;
kinBlock.push(
-
-