1
1
import './App.css' ;
2
- import { Row , Col , Layout , ConfigProvider , theme } from 'antd' ;
2
+ import { Row , Col , Layout , ConfigProvider , Space , theme } from 'antd' ;
3
3
import { useEffect , useState , useCallback } from "react" ;
4
- import { Content } from 'antd/es/layout/layout' ;
4
+ import { Content , Footer } from 'antd/es/layout/layout' ;
5
5
6
6
import {
7
7
createBrowserRouter ,
@@ -26,6 +26,7 @@ const router = createBrowserRouter([
26
26
27
27
const App : React . FC = ( ) => {
28
28
const [ darkMode , setDarkMode ] = useState ( false ) ;
29
+ const [ version , setVersion ] = useState ( "" ) ;
29
30
const windowQuery = window . matchMedia ( "(prefers-color-scheme:dark)" ) ;
30
31
31
32
const darkModeChange = useCallback ( ( event : MediaQueryListEvent ) => {
@@ -44,6 +45,15 @@ const App: React.FC = () => {
44
45
// eslint-disable-line react-hooks/exhaustive-deps
45
46
} , [ windowQuery . matches ] ) ;
46
47
48
+ useEffect ( ( ) => {
49
+ fetch ( "/api" )
50
+ . then ( r => {
51
+ let v = r . headers . get ( "Ybfeed-Version" )
52
+ if ( v !== null ) {
53
+ setVersion ( v )
54
+ }
55
+ } )
56
+ } )
47
57
return (
48
58
< ConfigProvider
49
59
theme = { {
@@ -61,6 +71,11 @@ const App: React.FC = () => {
61
71
< Col xs = { 1 } lg = { 6 } />
62
72
</ Row >
63
73
</ Content >
74
+ < Footer >
75
+ < Space style = { { fontSize : '0.8em' , opacity : '0.4' , width : '100%' , justifyContent : 'center' } } >
76
+ ybFeed { version }
77
+ </ Space >
78
+ </ Footer >
64
79
</ Layout >
65
80
</ div >
66
81
</ ConfigProvider >
0 commit comments