1
1
import { useQuery , gql } from "@apollo/client" ;
2
+ import { useState , useEffect } from "react" ;
2
3
3
4
export const SERVER_INFO = gql `
4
5
query GetServerInfo {
@@ -31,14 +32,24 @@ function ServerInfo(props) {
31
32
d = "M5 12h14M5 12a2 2 0 01-2-2V6a2 2 0 012-2h14a2 2 0 012 2v4a2 2 0 01-2 2M5 12a2 2 0 00-2 2v4a2 2 0 002 2h14a2 2 0 002-2v-4a2 2 0 00-2-2m-2-4h.01M17 16h.01"
32
33
/>
33
34
</ svg >
34
- Listening on: http://{ props . data . serverInfo . request_address } :
35
- { props . data . serverInfo . request_port }
35
+ Listening on: { props . url }
36
36
</ div >
37
37
) ;
38
38
}
39
39
40
40
function Header ( props ) {
41
41
const { loading, error, data } = useQuery ( SERVER_INFO ) ;
42
+ const [ url , setUrl ] = useState ( "" ) ;
43
+ const [ version , setVersion ] = useState ( "" ) ;
44
+
45
+ useEffect ( ( ) => {
46
+ if ( data ) {
47
+ setUrl (
48
+ `http://${ data . serverInfo . request_address } :${ data . serverInfo . request_port } `
49
+ ) ;
50
+ setVersion ( data . serverInfo . build_info [ "version" ] ) ;
51
+ }
52
+ } , [ data ] ) ;
42
53
43
54
return (
44
55
< header className = "text-gray-600 body-font border-b-2 bg-white" >
@@ -49,11 +60,11 @@ function Header(props) {
49
60
>
50
61
< span className = "text-xl" > Request Hole</ span >
51
62
< h2 className = "tracking-widest text-sm ml-2 title-font font-light text-gray-400" >
52
- { data ? data . serverInfo . build_info [ " version" ] : "" }
63
+ { version }
53
64
</ h2 >
54
65
</ a >
55
66
< div className = "md:mr-auto md:ml-4 md:py-1 md:pl-4 md:border-l md:border-gray-400 flex flex-wrap items-center text-base justify-center" >
56
- < ServerInfo loading = { loading } error = { error } data = { data } />
67
+ < ServerInfo loading = { loading } error = { error } url = { url } />
57
68
</ div >
58
69
< nav className = "md:ml-auto flex flex-wrap items-center text-base justify-center" >
59
70
< button
0 commit comments