Skip to content

Commit a42fd4c

Browse files
committed
Fix memray failure badges
1 parent 4ca020a commit a42fd4c

File tree

2 files changed

+19
-13
lines changed

2 files changed

+19
-13
lines changed

backend/app/schemas.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -198,6 +198,8 @@ class MemrayFailurePublic(BaseModel):
198198
commit_sha: str
199199
binary_id: str
200200
environment_id: str
201+
binary_name: str
202+
environment_name: str
201203
error_message: str
202204
failure_timestamp: datetime
203205
commit_timestamp: datetime

frontend/src/components/memray/FailureCard.tsx

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ export default function FailureCard({
5555
return (
5656
<>
5757
<div className="p-3 border rounded-lg bg-amber-50 dark:bg-amber-950 border-amber-200 dark:border-amber-800">
58-
<div className="flex items-center justify-between">
58+
<div className="flex flex-col sm:flex-row sm:items-center sm:justify-between gap-3">
5959
<div className="flex-1">
6060
<div className="font-medium text-amber-900 dark:text-amber-200">
6161
{binary_name} on {environment_name}
@@ -64,26 +64,28 @@ export default function FailureCard({
6464
Commit: {commit_sha.substring(0, 8)}{formatTimestamp(commit_timestamp || failure_timestamp)}
6565
</div>
6666
</div>
67-
<div className="flex items-center gap-2 ml-3">
67+
<div className="flex flex-wrap items-center gap-2">
6868
<Button
6969
variant="outline"
7070
size="sm"
7171
onClick={() => setShowErrorDialog(true)}
72-
className="gap-2"
72+
className="gap-2 whitespace-nowrap"
7373
>
7474
<Eye className="w-4 h-4" />
75-
View Error
75+
<span className="hidden xs:inline">View Error</span>
76+
<span className="xs:hidden">View</span>
7677
</Button>
7778
{onDelete && id && (
7879
<Button
7980
variant="outline"
8081
size="sm"
8182
onClick={() => onDelete(id)}
8283
disabled={isDeleting}
83-
className="gap-2 text-red-600 hover:text-red-700 hover:bg-red-50"
84+
className="gap-2 text-red-600 hover:text-red-700 hover:bg-red-50 whitespace-nowrap"
8485
>
8586
<Trash2 className="w-4 h-4" />
86-
{isDeleting ? 'Deleting...' : 'Delete'}
87+
<span className="hidden xs:inline">{isDeleting ? 'Deleting...' : 'Delete'}</span>
88+
<span className="xs:hidden">{isDeleting ? '...' : ''}</span>
8789
</Button>
8890
)}
8991
</div>
@@ -114,9 +116,9 @@ export default function FailureCard({
114116

115117
return (
116118
<>
117-
<div className="flex items-center justify-between p-3 border rounded-lg">
119+
<div className="flex flex-col sm:flex-row sm:items-center sm:justify-between p-3 border rounded-lg gap-3">
118120
<div className="flex-1">
119-
<div className="flex items-center gap-2">
121+
<div className="flex flex-wrap items-center gap-2">
120122
<code className="text-sm">{commit_sha.substring(0, 8)}</code>
121123
{showBadges && (
122124
<>
@@ -139,26 +141,28 @@ export default function FailureCard({
139141
</div>
140142
)}
141143
</div>
142-
<div className="flex items-center gap-2 ml-3">
144+
<div className="flex flex-wrap items-center gap-2">
143145
<Button
144146
variant="outline"
145147
size="sm"
146148
onClick={() => setShowErrorDialog(true)}
147-
className="gap-2"
149+
className="gap-2 whitespace-nowrap"
148150
>
149151
<Eye className="w-4 h-4" />
150-
View Error
152+
<span className="hidden xs:inline">View Error</span>
153+
<span className="xs:hidden">View</span>
151154
</Button>
152155
{onDelete && id && (
153156
<Button
154157
variant="outline"
155158
size="sm"
156159
onClick={() => onDelete(id)}
157160
disabled={isDeleting}
158-
className="gap-2 text-red-600 hover:text-red-700 hover:bg-red-50"
161+
className="gap-2 text-red-600 hover:text-red-700 hover:bg-red-50 whitespace-nowrap"
159162
>
160163
<Trash2 className="w-4 h-4" />
161-
{isDeleting ? 'Deleting...' : 'Delete'}
164+
<span className="hidden xs:inline">{isDeleting ? 'Deleting...' : 'Delete'}</span>
165+
<span className="xs:hidden">{isDeleting ? '...' : ''}</span>
162166
</Button>
163167
)}
164168
</div>

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy