diff --git a/docs/event-types-panel-redesign.org b/docs/event-types-panel-redesign.org
index 531c257..c3bbccb 100644
--- a/docs/event-types-panel-redesign.org
+++ b/docs/event-types-panel-redesign.org
@@ -16,19 +16,19 @@ Clean implementation plan for the event network visualization, focusing on perfo
* Implementation Phases
** Phase 1: Tag Anchor Controls Migration
-- Move tag type selection from Settings to Legend
-- Move expansion depth control from Settings to Legend
-- Move requirePublications checkbox from Settings to Legend
-- Use native HTML button instead of flowbite Toggle component
-- Clean up Settings panel
+- +Move tag type selection from Settings to Legend+
+- +Move expansion depth control from Settings to Legend+
+- +Move requirePublications checkbox from Settings to Legend+
+- +Use native HTML button instead of flowbite Toggle component+
+- +Clean up Settings panel+
** Phase 2: Person Visualizer
-- Add collapsible "Person Visualizer" section in Legend
-- Display all event authors (pubkeys) as list items
-- Fetch display names from kind 0 events
-- Render person nodes as diamond shapes in graph
-- Default all person nodes to disabled state
-- Click to toggle individual person visibility
+- +Add collapsible "Person Visualizer" section in Legend+
+- +Display all event authors (pubkeys) as list items+
+- +Fetch display names from kind 0 events+
+- +Render person nodes as diamond shapes in graph+
+- +Default all person nodes to disabled state+
+- +Click to toggle individual person visibility+
** Phase 3: State Management Fixes
- Replace reactive Set with object/map for disabled states
@@ -89,4 +89,4 @@ const contentEvents = await $ndkInstance.fetchEvents({
2. **Stability**: Avoids infinite loops and reactive state issues
3. **UX**: Smooth, instant toggle without freezing
4. **Maintainability**: Clear separation of concerns
-5. **Scalability**: Handles large numbers of nodes efficiently
\ No newline at end of file
+5. **Scalability**: Handles large numbers of nodes efficiently
diff --git a/src/lib/components/EventTypeConfig.svelte b/src/lib/components/EventTypeConfig.svelte
index 09fa532..8d8e17c 100644
--- a/src/lib/components/EventTypeConfig.svelte
+++ b/src/lib/components/EventTypeConfig.svelte
@@ -6,10 +6,12 @@
let {
onReload = () => {},
- eventCounts = {}
+ eventCounts = {},
+ profileStats = { totalFetched: 0, displayLimit: 50 }
} = $props<{
onReload?: () => void;
eventCounts?: { [kind: number]: number };
+ profileStats?: { totalFetched: number; displayLimit: number };
}>();
let newKind = $state('');
@@ -122,16 +124,32 @@
-
- handleLimitChange(config.kind, e.currentTarget.value)}
- title="Max to display"
- />
+
+ {#if config.kind === 0}
+ handleLimitChange(config.kind, e.currentTarget.value)}
+ title="Max profiles to display"
+ />
+
+ of {profileStats.totalFetched} fetched
+
+ {:else}
+
+ handleLimitChange(config.kind, e.currentTarget.value)}
+ title="Max to display"
+ />
+ {/if}
{#if config.kind === 30040}
@@ -162,11 +180,11 @@
{/if}
- {#if isLoaded}
+ {#if config.kind !== 0 && isLoaded}
({eventCounts[config.kind]})
- {:else}
+ {:else if config.kind !== 0}
(not loaded)
diff --git a/src/lib/navigator/EventNetwork/index.svelte b/src/lib/navigator/EventNetwork/index.svelte
index 8455ca8..18e4056 100644
--- a/src/lib/navigator/EventNetwork/index.svelte
+++ b/src/lib/navigator/EventNetwork/index.svelte
@@ -165,6 +165,7 @@
let personMap = $state