Skip to content

Commit fb5be70

Browse files
refactor: address comments.
1 parent f0f99df commit fb5be70

2 files changed

Lines changed: 41 additions & 18 deletions

File tree

src/modules/github-chat-drawer/drawer.js

Lines changed: 24 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,6 @@ export const createGitHubChatDrawer = ({
105105
continue
106106
}
107107

108-
message.confirmTarget = null
109108
message.appliedTargets = null
110109
}
111110
}
@@ -881,15 +880,15 @@ export const createGitHubChatDrawer = ({
881880
renderMessages()
882881
setChatStatus('Idle', 'neutral')
883882

884-
toggleButton?.addEventListener('click', () => {
883+
const onToggleButtonClick = () => {
885884
setOpen(!open)
886-
})
885+
}
887886

888-
closeButton?.addEventListener('click', () => {
887+
const onCloseButtonClick = () => {
889888
setOpen(false)
890-
})
889+
}
891890

892-
clearButton?.addEventListener('click', () => {
891+
const onClearButtonClick = () => {
893892
stopPendingRequest()
894893
setPendingState(false)
895894
cancelPendingAssistantBodyUpdate()
@@ -898,9 +897,9 @@ export const createGitHubChatDrawer = ({
898897
messages.length = 0
899898
renderMessages()
900899
setChatStatus('Chat cleared.', 'neutral')
901-
})
900+
}
902901

903-
drawer?.addEventListener('click', event => {
902+
const onDrawerClick = event => {
904903
const target = event.target
905904
if (!(target instanceof HTMLElement)) {
906905
return
@@ -1002,27 +1001,33 @@ export const createGitHubChatDrawer = ({
10021001
renderMessages()
10031002
return
10041003
}
1005-
})
1004+
}
10061005

1007-
sendButton?.addEventListener('click', () => {
1006+
const onSendButtonClick = () => {
10081007
void runChatRequest()
1009-
})
1008+
}
10101009

1011-
promptInput?.addEventListener('keydown', event => {
1010+
const onPromptInputKeydown = event => {
10121011
if (event.key !== 'Enter' || (!event.metaKey && !event.ctrlKey)) {
10131012
return
10141013
}
10151014

10161015
event.preventDefault()
10171016
void runChatRequest()
1018-
})
1017+
}
10191018

10201019
const onDocumentKeydown = event => {
10211020
if (event.key === 'Escape' && open) {
10221021
setOpen(false)
10231022
}
10241023
}
10251024

1025+
toggleButton?.addEventListener('click', onToggleButtonClick)
1026+
closeButton?.addEventListener('click', onCloseButtonClick)
1027+
clearButton?.addEventListener('click', onClearButtonClick)
1028+
drawer?.addEventListener('click', onDrawerClick)
1029+
sendButton?.addEventListener('click', onSendButtonClick)
1030+
promptInput?.addEventListener('keydown', onPromptInputKeydown)
10261031
document.addEventListener('keydown', onDocumentKeydown)
10271032

10281033
return {
@@ -1044,6 +1049,12 @@ export const createGitHubChatDrawer = ({
10441049
undoActionsNode.remove()
10451050
undoActionsNode = null
10461051
}
1052+
toggleButton?.removeEventListener('click', onToggleButtonClick)
1053+
closeButton?.removeEventListener('click', onCloseButtonClick)
1054+
clearButton?.removeEventListener('click', onClearButtonClick)
1055+
drawer?.removeEventListener('click', onDrawerClick)
1056+
sendButton?.removeEventListener('click', onSendButtonClick)
1057+
promptInput?.removeEventListener('keydown', onPromptInputKeydown)
10471058
document.removeEventListener('keydown', onDocumentKeydown)
10481059
},
10491060
}

src/modules/github-chat-drawer/payload.js

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -58,14 +58,26 @@ const mergeConversationSummary = ({ existingSummary, droppedMessages }) => {
5858
return `${merged.slice(0, chatMaxSummaryChars)}...`
5959
}
6060

61+
const toModeDisplayText = value => {
62+
const mode = toChatText(value)
63+
return mode || 'unknown'
64+
}
65+
66+
const toModeKey = value => toChatText(value).toLowerCase()
67+
6168
const collectModePolicyContext = ({ renderMode, styleMode }) => {
69+
const renderModeText = toModeDisplayText(renderMode)
70+
const styleModeText = toModeDisplayText(styleMode)
71+
const renderModeKey = toModeKey(renderMode)
72+
const styleModeKey = toModeKey(styleMode)
73+
6274
const policyLines = [
6375
'Mode-aware policy:',
64-
`- Render mode: ${renderMode || 'unknown'}`,
65-
`- Style mode: ${styleMode || 'unknown'}`,
76+
`- Render mode: ${renderModeText}`,
77+
`- Style mode: ${styleModeText}`,
6678
]
6779

68-
if (renderMode.toLowerCase() === 'dom') {
80+
if (renderModeKey === 'dom') {
6981
policyLines.push(
7082
'- In DOM mode, avoid React hook/state guidance unless the user explicitly asks for React migration.',
7183
)
@@ -74,11 +86,11 @@ const collectModePolicyContext = ({ renderMode, styleMode }) => {
7486
)
7587
}
7688

77-
if (renderMode.toLowerCase() === 'react') {
89+
if (renderModeKey === 'react') {
7890
policyLines.push('- In React mode, prefer component-based React guidance.')
7991
}
8092

81-
if (styleMode.toLowerCase() === 'css') {
93+
if (styleModeKey === 'css') {
8294
policyLines.push(
8395
'- Keep style advice compatible with plain CSS unless user asks for a preprocessor.',
8496
)

0 commit comments

Comments
 (0)