Skip to content

Commit 19269cc

Browse files
committed
refactor: enhance accessibility and code consistency across components
- Improved accessibility by standardizing `onKeyDown` event handlers to use consistent formatting for key checks across multiple components. - Refactored layout of JSX elements for better readability in `chat.pb.go`, `embed-sidebar`, and various components in the message entry container. - General code cleanup to enhance maintainability and readability.
2 parents f19e901 + 1ecaa10 commit 19269cc

22 files changed

Lines changed: 157 additions & 39 deletions

File tree

pkg/gen/api/chat/v2/chat.pb.go

Lines changed: 4 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

webapp/_webapp/src/components/message-entry-container/assistant.tsx

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,17 @@ export const AssistantMessageContainer = ({
147147
{((parsedMessage.regularContent?.length || 0) > 0 || parsedMessage.paperDebuggerContent.length > 0) && (
148148
<div className="actions rnd-cancel noselect">
149149
<Tooltip content="Copy" placement="bottom" size="sm" delay={1000}>
150-
<span onClick={handleCopy} onKeyDown={(e) => { if (e.key === 'Enter' || e.key === ' ') { handleCopy(); } }} tabIndex={0} role="button" aria-label="Copy message">
150+
<span
151+
onClick={handleCopy}
152+
onKeyDown={(e) => {
153+
if (e.key === "Enter" || e.key === " ") {
154+
handleCopy();
155+
}
156+
}}
157+
tabIndex={0}
158+
role="button"
159+
aria-label="Copy message"
160+
>
151161
<Icon icon={copySuccess ? "tabler:copy-check" : "tabler:copy"} className="icon" />
152162
</span>
153163
</Tooltip>

webapp/_webapp/src/components/message-entry-container/tools/general.tsx

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,17 @@ export const GeneralToolCard = ({
9595
// When there is a message, show the compact card with collapsible content
9696
return (
9797
<div className={cn("tool-card noselect compact", { animated: animated })}>
98-
<div className="flex items-center gap-1 cursor-pointer" role="button" tabIndex={0} onClick={toggleCollapse} onKeyDown={(e) => { if (e.key === 'Enter' || e.key === ' ') { toggleCollapse(); } }}>
98+
<div
99+
className="flex items-center gap-1 cursor-pointer"
100+
role="button"
101+
tabIndex={0}
102+
onClick={toggleCollapse}
103+
onKeyDown={(e) => {
104+
if (e.key === "Enter" || e.key === " ") {
105+
toggleCollapse();
106+
}
107+
}}
108+
>
99109
<button
100110
className="text-gray-400 hover:text-gray-600 transition-colors duration-200 rounded flex"
101111
aria-label={isCollapsed ? "Expand" : "Collapse"}

webapp/_webapp/src/components/message-entry-container/tools/paper-score-comment/filter-controls.tsx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,11 @@ export const FilterControls = ({
4141
role="button"
4242
tabIndex={0}
4343
onClick={() => setIsSuggestionsExpanded(!isSuggestionsExpanded)}
44-
onKeyDown={(e) => { if (e.key === 'Enter' || e.key === ' ') { setIsSuggestionsExpanded(!isSuggestionsExpanded); } }}
44+
onKeyDown={(e) => {
45+
if (e.key === "Enter" || e.key === " ") {
46+
setIsSuggestionsExpanded(!isSuggestionsExpanded);
47+
}
48+
}}
4549
>
4650
<button className="!flex !items-center !gap-2 !text-sm !font-semibold !text-gray-800 hover:!text-gray-600 !transition-colors truncate">
4751
<Icon

webapp/_webapp/src/components/message-entry-container/tools/xtramcp/generate-citations.tsx

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,11 @@ export const GenerateCitationsCard = ({ functionName, message, preparing, animat
4343
role="button"
4444
tabIndex={0}
4545
onClick={() => setIsMetadataCollapsed(!isMetadataCollapsed)}
46-
onKeyDown={(e) => { if (e.key === 'Enter' || e.key === ' ') { setIsMetadataCollapsed(!isMetadataCollapsed); } }}
46+
onKeyDown={(e) => {
47+
if (e.key === "Enter" || e.key === " ") {
48+
setIsMetadataCollapsed(!isMetadataCollapsed);
49+
}
50+
}}
4751
>
4852
<h3 className="tool-card-title">{functionName}</h3>
4953
<div className="flex items-center gap-2">
@@ -74,7 +78,11 @@ export const GenerateCitationsCard = ({ functionName, message, preparing, animat
7478
role="button"
7579
tabIndex={0}
7680
onClick={() => setIsMetadataCollapsed(!isMetadataCollapsed)}
77-
onKeyDown={(e) => { if (e.key === 'Enter' || e.key === ' ') { setIsMetadataCollapsed(!isMetadataCollapsed); } }}
81+
onKeyDown={(e) => {
82+
if (e.key === "Enter" || e.key === " ") {
83+
setIsMetadataCollapsed(!isMetadataCollapsed);
84+
}
85+
}}
7886
>
7987
<button
8088
className="text-gray-400 hover:text-gray-600 transition-colors duration-200 rounded flex"

webapp/_webapp/src/components/message-entry-container/tools/xtramcp/online-search-papers.tsx

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,11 @@ export const OnlineSearchPapersCard = ({ functionName, message, preparing, anima
4343
role="button"
4444
tabIndex={0}
4545
onClick={() => setIsMetadataCollapsed(!isMetadataCollapsed)}
46-
onKeyDown={(e) => { if (e.key === 'Enter' || e.key === ' ') { setIsMetadataCollapsed(!isMetadataCollapsed); } }}
46+
onKeyDown={(e) => {
47+
if (e.key === "Enter" || e.key === " ") {
48+
setIsMetadataCollapsed(!isMetadataCollapsed);
49+
}
50+
}}
4751
>
4852
<h3 className="tool-card-title">{functionName}</h3>
4953
<div className="flex items-center gap-2">
@@ -78,7 +82,11 @@ export const OnlineSearchPapersCard = ({ functionName, message, preparing, anima
7882
role="button"
7983
tabIndex={0}
8084
onClick={() => setIsMetadataCollapsed(!isMetadataCollapsed)}
81-
onKeyDown={(e) => { if (e.key === 'Enter' || e.key === ' ') { setIsMetadataCollapsed(!isMetadataCollapsed); } }}
85+
onKeyDown={(e) => {
86+
if (e.key === "Enter" || e.key === " ") {
87+
setIsMetadataCollapsed(!isMetadataCollapsed);
88+
}
89+
}}
8290
>
8391
<h3 className="tool-card-title">{functionName}</h3>
8492
<CollapseArrowButton

webapp/_webapp/src/components/message-entry-container/tools/xtramcp/review-paper.tsx

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,11 @@ export const ReviewPaperCard = ({ functionName, message, preparing, animated }:
8484
role="button"
8585
tabIndex={0}
8686
onClick={() => setIsMetadataCollapsed(!isMetadataCollapsed)}
87-
onKeyDown={(e) => { if (e.key === 'Enter' || e.key === ' ') { setIsMetadataCollapsed(!isMetadataCollapsed); } }}
87+
onKeyDown={(e) => {
88+
if (e.key === "Enter" || e.key === " ") {
89+
setIsMetadataCollapsed(!isMetadataCollapsed);
90+
}
91+
}}
8892
>
8993
<h3 className="tool-card-title">{functionName}</h3>
9094
<div className="flex items-center gap-2">
@@ -119,7 +123,11 @@ export const ReviewPaperCard = ({ functionName, message, preparing, animated }:
119123
role="button"
120124
tabIndex={0}
121125
onClick={() => setIsMetadataCollapsed(!isMetadataCollapsed)}
122-
onKeyDown={(e) => { if (e.key === 'Enter' || e.key === ' ') { setIsMetadataCollapsed(!isMetadataCollapsed); } }}
126+
onKeyDown={(e) => {
127+
if (e.key === "Enter" || e.key === " ") {
128+
setIsMetadataCollapsed(!isMetadataCollapsed);
129+
}
130+
}}
123131
>
124132
<h3 className="tool-card-title">{functionName}</h3>
125133
<CollapseArrowButton

webapp/_webapp/src/components/message-entry-container/tools/xtramcp/search-relevant-papers.tsx

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,11 @@ export const SearchRelevantPapersCard = ({ functionName, message, preparing, ani
5151
role="button"
5252
tabIndex={0}
5353
onClick={() => setIsMetadataCollapsed(!isMetadataCollapsed)}
54-
onKeyDown={(e) => { if (e.key === 'Enter' || e.key === ' ') { setIsMetadataCollapsed(!isMetadataCollapsed); } }}
54+
onKeyDown={(e) => {
55+
if (e.key === "Enter" || e.key === " ") {
56+
setIsMetadataCollapsed(!isMetadataCollapsed);
57+
}
58+
}}
5559
>
5660
<h3 className="tool-card-title">{functionName}</h3>
5761
<div className="flex items-center gap-2">
@@ -86,7 +90,11 @@ export const SearchRelevantPapersCard = ({ functionName, message, preparing, ani
8690
role="button"
8791
tabIndex={0}
8892
onClick={() => setIsMetadataCollapsed(!isMetadataCollapsed)}
89-
onKeyDown={(e) => { if (e.key === 'Enter' || e.key === ' ') { setIsMetadataCollapsed(!isMetadataCollapsed); } }}
93+
onKeyDown={(e) => {
94+
if (e.key === "Enter" || e.key === " ") {
95+
setIsMetadataCollapsed(!isMetadataCollapsed);
96+
}
97+
}}
9098
>
9199
<h3 className="tool-card-title">{functionName}</h3>
92100
<CollapseArrowButton

webapp/_webapp/src/components/message-entry-container/tools/xtramcp/verify-citations.tsx

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,11 @@ export const VerifyCitationsCard = ({ functionName, message, preparing, animated
4343
role="button"
4444
tabIndex={0}
4545
onClick={() => setIsMetadataCollapsed(!isMetadataCollapsed)}
46-
onKeyDown={(e) => { if (e.key === 'Enter' || e.key === ' ') { setIsMetadataCollapsed(!isMetadataCollapsed); } }}
46+
onKeyDown={(e) => {
47+
if (e.key === "Enter" || e.key === " ") {
48+
setIsMetadataCollapsed(!isMetadataCollapsed);
49+
}
50+
}}
4751
>
4852
<h3 className="tool-card-title">{functionName}</h3>
4953
<div className="flex items-center gap-2">
@@ -78,7 +82,11 @@ export const VerifyCitationsCard = ({ functionName, message, preparing, animated
7882
role="button"
7983
tabIndex={0}
8084
onClick={() => setIsMetadataCollapsed(!isMetadataCollapsed)}
81-
onKeyDown={(e) => { if (e.key === 'Enter' || e.key === ' ') { setIsMetadataCollapsed(!isMetadataCollapsed); } }}
85+
onKeyDown={(e) => {
86+
if (e.key === "Enter" || e.key === " ") {
87+
setIsMetadataCollapsed(!isMetadataCollapsed);
88+
}
89+
}}
8290
>
8391
<h3 className="tool-card-title">{functionName}</h3>
8492
<CollapseArrowButton

webapp/_webapp/src/components/message-entry-container/tools/xtramcp/xtramcp-generic-card.tsx

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,11 @@ export const XtraMcpGenericCard = ({ functionName, message, preparing, animated
4343
role="button"
4444
tabIndex={0}
4545
onClick={() => setIsMetadataCollapsed(!isMetadataCollapsed)}
46-
onKeyDown={(e) => { if (e.key === 'Enter' || e.key === ' ') { setIsMetadataCollapsed(!isMetadataCollapsed); } }}
46+
onKeyDown={(e) => {
47+
if (e.key === "Enter" || e.key === " ") {
48+
setIsMetadataCollapsed(!isMetadataCollapsed);
49+
}
50+
}}
4751
>
4852
<h3 className="tool-card-title">{functionName}</h3>
4953
<div className="flex items-center gap-2">
@@ -77,7 +81,11 @@ export const XtraMcpGenericCard = ({ functionName, message, preparing, animated
7781
role="button"
7882
tabIndex={0}
7983
onClick={() => setIsMetadataCollapsed(!isMetadataCollapsed)}
80-
onKeyDown={(e) => { if (e.key === 'Enter' || e.key === ' ') { setIsMetadataCollapsed(!isMetadataCollapsed); } }}
84+
onKeyDown={(e) => {
85+
if (e.key === "Enter" || e.key === " ") {
86+
setIsMetadataCollapsed(!isMetadataCollapsed);
87+
}
88+
}}
8189
>
8290
<h3 className="tool-card-title">{functionName}</h3>
8391
<CollapseArrowButton
@@ -148,7 +156,11 @@ export const XtraMcpGenericCard = ({ functionName, message, preparing, animated
148156
role="button"
149157
tabIndex={0}
150158
onClick={() => setIsMetadataCollapsed(!isMetadataCollapsed)}
151-
onKeyDown={(e) => { if (e.key === 'Enter' || e.key === ' ') { setIsMetadataCollapsed(!isMetadataCollapsed); } }}
159+
onKeyDown={(e) => {
160+
if (e.key === "Enter" || e.key === " ") {
161+
setIsMetadataCollapsed(!isMetadataCollapsed);
162+
}
163+
}}
152164
>
153165
<h3 className="tool-card-title">{functionName}</h3>
154166
</div>

0 commit comments

Comments
 (0)