1616 * specific language governing permissions and limitations
1717 * under the License.
1818 */
19- import { Box , Button , Heading , HStack } from "@chakra-ui/react" ;
19+ import { Box , Button , Heading , HStack , Link } from "@chakra-ui/react" ;
2020import { useState } from "react" ;
2121import { useParams } from "react-router-dom" ;
2222import { createElement , PrismLight as SyntaxHighlighter } from "react-syntax-highlighter" ;
2323import python from "react-syntax-highlighter/dist/esm/languages/prism/python" ;
2424import { oneLight , oneDark } from "react-syntax-highlighter/dist/esm/styles/prism" ;
2525
26- import { useDagServiceGetDagDetails , useDagSourceServiceGetDagSource } from "openapi/queries" ;
26+ import {
27+ useDagServiceGetDagDetails ,
28+ useDagSourceServiceGetDagSource ,
29+ useDagVersionServiceGetDagVersion ,
30+ } from "openapi/queries" ;
2731import DagVersionSelect from "src/components/DagVersionSelect" ;
2832import { ErrorAlert } from "src/components/ErrorAlert" ;
2933import Time from "src/components/Time" ;
@@ -47,13 +51,22 @@ export const Code = () => {
4751 dagId : dagId ?? "" ,
4852 } ) ;
4953
54+ const { data : dagVersion } = useDagVersionServiceGetDagVersion (
55+ {
56+ dagId : dagId ?? "" ,
57+ versionNumber : selectedVersion ?? 1 ,
58+ } ,
59+ undefined ,
60+ { enabled : dag !== undefined && selectedVersion !== undefined } ,
61+ ) ;
62+
5063 const {
5164 data : code ,
5265 error : codeError ,
5366 isLoading : isCodeLoading ,
5467 } = useDagSourceServiceGetDagSource ( {
5568 dagId : dagId ?? "" ,
56- versionNumber : selectedVersion === undefined ? undefined : parseInt ( selectedVersion , 10 ) ,
69+ versionNumber : selectedVersion ,
5770 } ) ;
5871
5972 const defaultWrap = Boolean ( useConfig ( "default_wrap" ) ) ;
@@ -73,11 +86,35 @@ export const Code = () => {
7386 return (
7487 < Box >
7588 < HStack justifyContent = "space-between" mt = { 2 } >
76- { dag ?. last_parsed_time !== undefined && (
77- < Heading as = "h4" fontSize = "14px" size = "md" >
78- Parsed at: < Time datetime = { dag . last_parsed_time } />
79- </ Heading >
80- ) }
89+ < HStack gap = { 5 } >
90+ { dag ?. last_parsed_time !== undefined && (
91+ < Heading as = "h4" fontSize = "14px" size = "md" >
92+ Parsed at: < Time datetime = { dag . last_parsed_time } />
93+ </ Heading >
94+ ) }
95+
96+ {
97+ // eslint-disable-next-line @typescript-eslint/prefer-optional-chain
98+ dagVersion !== undefined && dagVersion . bundle_version !== null ? (
99+ < Heading as = "h4" fontSize = "14px" size = "md" wordBreak = "break-word" >
100+ Bundle Version:{ " " }
101+ { dagVersion . bundle_url === null ? (
102+ dagVersion . bundle_version
103+ ) : (
104+ < Link
105+ aria-label = "Bundle Url"
106+ color = "fg.info"
107+ href = { dagVersion . bundle_url }
108+ rel = "noopener noreferrer"
109+ target = "_blank"
110+ >
111+ { dagVersion . bundle_version }
112+ </ Link >
113+ ) }
114+ </ Heading >
115+ ) : undefined
116+ }
117+ </ HStack >
81118 < HStack >
82119 < DagVersionSelect />
83120 < Button aria-label = { wrap ? "Unwrap" : "Wrap" } bg = "bg.panel" onClick = { toggleWrap } variant = "outline" >
0 commit comments