@@ -7,6 +7,7 @@ import { CopyText } from "@/components/shared/CopyText/CopyText";
77import { Button } from "@/components/ui/button" ;
88import { Icon } from "@/components/ui/icon" ;
99import { BlockStack , InlineStack } from "@/components/ui/layout" ;
10+ import { Text } from "@/components/ui/typography" ;
1011import useToastNotification from "@/hooks/useToastNotification" ;
1112import { useComponentSpec } from "@/providers/ComponentSpecProvider" ;
1213import { useContextPanel } from "@/providers/ContextPanelProvider" ;
@@ -144,85 +145,85 @@ const PipelineDetails = () => {
144145 />
145146 </ InlineStack >
146147
147- { /* General Metadata */ }
148- < div className = "flex flex-col gap-2 text-xs text-secondary-foreground mb-2" >
149- < div className = "flex flex-wrap gap-6" >
150- { fileMeta . createdBy && (
151- < div >
152- < span className = "font-semibold" > Created by: </ span > { " " }
153- { fileMeta . createdBy }
154- </ div >
155- ) }
156- </ div >
157- < div className = "flex flex-wrap gap-x-6" >
158- { fileMeta . creationTime && (
159- < div >
160- < span className = "font-semibold" > Created at: </ span > { " " }
161- { new Date ( fileMeta . creationTime ) . toLocaleString ( ) }
162- </ div >
163- ) }
164- { fileMeta . modificationTime && (
165- < div >
166- < span className = "font-semibold" > Last updated: </ span > { " " }
167- { new Date ( fileMeta . modificationTime ) . toLocaleString ( ) }
168- </ div >
169- ) }
170- </ div >
171- </ div >
148+ { ( fileMeta . createdBy || fileMeta . creationTime || fileMeta . modificationTime ) && (
149+ < BlockStack >
150+ < Text as = "h3" size = "md" weight = "semibold" className = "mb-1" > Pipeline Info </ Text >
151+ < dl className = "flex flex-col gap-1 text-xs text-secondary-foreground" >
152+ { fileMeta . createdBy && (
153+ < InlineStack as = "div" gap = "1" blockAlign = "center" >
154+ < Text as = "dt" weight = "semibold" > Created by: </ Text >
155+ < dd > { fileMeta . createdBy } </ dd >
156+ </ InlineStack >
157+ ) }
158+ { fileMeta . creationTime && (
159+ < InlineStack as = "div" gap = "1" blockAlign = "center" >
160+ < Text as = "dt" weight = "semibold" > Created at: </ Text >
161+ < dd > { new Date ( fileMeta . creationTime ) . toLocaleString ( ) } </ dd >
162+ </ InlineStack >
163+ ) }
164+ { fileMeta . modificationTime && (
165+ < InlineStack as = "div" gap = "1" blockAlign = "center" >
166+ < Text as = "dt" weight = "semibold" > Last updated: </ Text >
167+ < dd > { new Date ( fileMeta . modificationTime ) . toLocaleString ( ) } </ dd >
168+ </ InlineStack >
169+ ) }
170+ </ dl >
171+ </ BlockStack >
172+ ) }
172173
173174 { /* Description */ }
174175 { componentSpec . description && (
175- < div >
176- < h3 className = "text-md font-medium mb-1"> Description</ h3 >
177- < div className = "text-sm whitespace-pre-line">
176+ < BlockStack >
177+ < Text as = "h3" size = "md" weight = "semibold" className = " mb-1"> Description</ Text >
178+ < Text as = "p" size = "sm" className = " whitespace-pre-line">
178179 { componentSpec . description }
179- </ div >
180- </ div >
180+ </ Text >
181+ </ BlockStack >
181182 ) }
182183
183184 { /* Component Digest */ }
184185 { digest && (
185- < div className = "mb-2" >
186- < h3 className = "text-md font-medium mb-1"> Digest</ h3 >
186+ < BlockStack >
187+ < Text as = "h3" size = "md" weight = "semibold" className = " mb-1"> Digest</ Text >
187188 < Button
188189 className = "bg-gray-100 border border-gray-300 rounded p-2 h-fit text-xs w-full text-left hover:bg-gray-200 active:bg-gray-300 transition cursor-pointer"
189190 onClick = { handleDigestCopy }
190191 variant = "ghost"
191192 >
192- < span className = " font- mono break-all w-full text-wrap">
193+ < Text as = "span" font = " mono" className = " break-all w-full text-wrap">
193194 { digest }
194- </ span >
195+ </ Text >
195196 </ Button >
196- </ div >
197+ </ BlockStack >
197198 ) }
198199
199200 { /* Annotations */ }
200201 { Object . keys ( annotations ) . length > 0 && (
201- < div >
202- < h3 className = "text-md font-medium mb-1"> Annotations</ h3 >
202+ < BlockStack >
203+ < Text as = "h3" size = "md" weight = "semibold" className = " mb-1"> Annotations</ Text >
203204 < ul className = "text-xs text-secondary-foreground" >
204205 { Object . entries ( annotations ) . map ( ( [ key , value ] ) => (
205206 < li key = { key } >
206- < span className = "font- semibold"> { key } :</ span > { " " }
207- < span className = "break-all" > { String ( value ) } </ span >
207+ < Text as = " span" weight = " semibold"> { key } :</ Text > { " " }
208+ < Text as = " span" className = "break-all" > { String ( value ) } </ Text >
208209 </ li >
209210 ) ) }
210211 </ ul >
211- </ div >
212+ </ BlockStack >
212213 ) }
213214
214215 { /* Artifacts (Inputs & Outputs) */ }
215- < div >
216- < h3 className = "text-md font-medium mb-1"> Artifacts</ h3 >
217- < div className = "flex gap-4 flex-col ">
218- < div className = "flex-1" >
219- < h4 className = "text-sm font- semibold mb-1"> Inputs</ h4 >
216+ < BlockStack >
217+ < Text as = "h3" size = "md" weight = "semibold" className = " mb-1"> Artifacts</ Text >
218+ < BlockStack gap = "4 ">
219+ < BlockStack >
220+ < Text as = "h4" size = "sm" weight = " semibold" className = " mb-1"> Inputs</ Text >
220221 { componentSpec . inputs && componentSpec . inputs . length > 0 ? (
221222 < div className = "flex flex-col" >
222223 { componentSpec . inputs . map ( ( input ) => {
223224 return (
224225 < div
225- className = "flex flex-row justify-between even:bg-white odd:bg-gray-100 gap-1 px-2 py-0 rounded-xs items-center"
226+ className = "flex flex-row justify-between even:bg-white odd:bg-gray-100 gap-1 px-2 py-1 rounded-xs items-center"
226227 key = { input . name }
227228 >
228229 < div className = "text-xs flex-1 truncate max-w-[200px]" >
@@ -266,14 +267,14 @@ const PipelineDetails = () => {
266267 ) : (
267268 < div className = "text-xs text-muted-foreground" > No inputs</ div >
268269 ) }
269- </ div >
270- < div className = "flex-1" >
271- < h4 className = "text-sm font- semibold mb-1"> Outputs</ h4 >
270+ </ BlockStack >
271+ < BlockStack >
272+ < Text as = "h4" size = "sm" weight = " semibold" className = " mb-1"> Outputs</ Text >
272273 { componentSpec . outputs && componentSpec . outputs . length > 0 ? (
273274 < div className = "flex flex-col" >
274275 { componentSpec . outputs . map ( ( output ) => (
275276 < div
276- className = "flex flex-row justify-between even:bg-white odd:bg-gray-100 gap-1 px-2 py-0 rounded-xs items-center"
277+ className = "flex flex-row justify-between even:bg-white odd:bg-gray-100 gap-1 px-2 py-1 rounded-xs items-center"
277278 key = { output . name }
278279 >
279280 < div className = "text-xs flex-1 truncate max-w-[200px]" >
@@ -308,20 +309,20 @@ const PipelineDetails = () => {
308309 ) : (
309310 < div className = "text-xs text-muted-foreground" > No outputs</ div >
310311 ) }
311- </ div >
312- </ div >
313- </ div >
312+ </ BlockStack >
313+ </ BlockStack >
314+ </ BlockStack >
314315
315316 { /* Validations */ }
316- < div className = "mt-2" >
317- < h3 className = "text-md font-medium mb-1"> Validations</ h3 >
317+ < BlockStack >
318+ < Text as = "h3" size = "md" weight = "semibold" className = " mb-1"> Validations</ Text >
318319 < PipelineValidationList
319320 isComponentTreeValid = { isComponentTreeValid }
320321 groupedIssues = { groupedIssues }
321322 totalIssueCount = { globalValidationIssues . length }
322323 onIssueSelect = { handleIssueClick }
323324 />
324- </ div >
325+ </ BlockStack >
325326 </ BlockStack >
326327 ) ;
327328} ;
0 commit comments