Skip to content

Commit d08694e

Browse files
btuckerclaude
andcommitted
Move prompt number to pinned message label
Changed pinned user message format from: Label: "User prompt:" Content: "#1 message text..." To: Label: "User Prompt #1" Content: "message text..." This puts the prompt number in the header where it's more prominent. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent 8c5f75b commit d08694e

File tree

2 files changed

+15
-8
lines changed

2 files changed

+15
-8
lines changed

src/claude_code_transcripts/templates/code_view.js

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1102,6 +1102,7 @@ async function init() {
11021102
// Sticky user message header
11031103
const pinnedUserMessage = document.getElementById('pinned-user-message');
11041104
const pinnedUserContent = pinnedUserMessage?.querySelector('.pinned-user-content');
1105+
const pinnedUserLabel = pinnedUserMessage?.querySelector('.pinned-user-message-label');
11051106
const transcriptPanel = document.getElementById('transcript-panel');
11061107
const transcriptContent = document.getElementById('transcript-content');
11071108
let currentPinnedMessage = null;
@@ -1192,8 +1193,11 @@ async function init() {
11921193
if (messageToPin && messageToPin !== currentPinnedMessage) {
11931194
currentPinnedMessage = messageToPin;
11941195
const promptNum = getPromptNumber(messageToPin);
1195-
const promptLabel = promptNum ? `#${promptNum}` : '';
1196-
pinnedUserContent.textContent = `${promptLabel} ${extractUserMessageText(messageToPin)}`.trim();
1196+
// Update label with prompt number
1197+
if (pinnedUserLabel) {
1198+
pinnedUserLabel.textContent = promptNum ? `User Prompt #${promptNum}` : 'User Prompt';
1199+
}
1200+
pinnedUserContent.textContent = extractUserMessageText(messageToPin);
11971201
pinnedUserMessage.style.display = 'block';
11981202
pinnedUserMessage.onclick = () => {
11991203
messageToPin.scrollIntoView({ behavior: 'smooth', block: 'start' });

tests/test_code_view_e2e.py

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -303,15 +303,18 @@ def test_pinned_user_message_on_scroll(self, code_view_page: Page):
303303

304304
# Pinned header should be visible with content from the first user message
305305
expect(pinned).to_be_visible()
306+
307+
# Check that label shows "User Prompt #N"
308+
pinned_label = code_view_page.locator(".pinned-user-message-label")
309+
label_text = pinned_label.text_content()
310+
assert label_text.startswith("User Prompt #"), f"Label should show 'User Prompt #N', got: {label_text}"
311+
312+
# Check that content matches the user message
306313
pinned_text = pinned_content.text_content()
307-
# The pinned text should have format "#N message text..."
308314
assert len(pinned_text) > 0, "Pinned content should not be empty"
309-
assert pinned_text.startswith("#"), "Pinned text should start with prompt number"
310-
# Strip the prompt number prefix (e.g., "#1 ") to compare with message text
311-
pinned_text_without_num = re.sub(r"^#\d+\s*", "", pinned_text)
312315
assert (
313-
first_user_text.startswith(pinned_text_without_num[:50])
314-
or pinned_text_without_num in first_user_text
316+
first_user_text.startswith(pinned_text[:50])
317+
or pinned_text in first_user_text
315318
), f"Pinned text '{pinned_text[:50]}...' should match user message"
316319

317320
def test_pinned_user_message_click_scrolls_back(self, code_view_page: Page):

0 commit comments

Comments
 (0)