@@ -15,6 +15,7 @@ import {
1515 NavLink ,
1616 UncontrolledDropdown
1717} from "reactstrap" ;
18+ import { Popover , PopoverBody , PopoverHeader } from "reactstrap" ;
1819import HealthChecker from "../../util/HealthChecker/HealthChecker" ;
1920import Search from "../Search/Search" ;
2021
@@ -24,27 +25,38 @@ import "./Header.scss";
2425
2526interface State {
2627 isOpen : boolean ;
28+ popoverOpen : boolean ;
2729}
2830
2931class Header extends React . Component < { } , State > {
3032 constructor ( props : { } ) {
3133 super ( props ) ;
3234 this . toggle = this . toggle . bind ( this ) ;
35+ this . togglePopover = this . togglePopover . bind ( this ) ;
3336 this . state = {
34- isOpen : false
37+ isOpen : false ,
38+ popoverOpen : false
3539 } ;
3640 }
3741
3842 public render ( ) {
3943 return (
4044 < div className = "header" >
41- < Navbar className = "header-container" dark = { true } expand = "lg" >
42- < Container >
43- < IndexLinkContainer to = "/" >
44- < NavbarBrand >
45- < img src = { logo } className = "logo" /> CodeChain Explorer - Husky
46- </ NavbarBrand >
47- </ IndexLinkContainer >
45+ < Navbar className = "header-container" dark = { true } expand = "xl" >
46+ < Container fluid = { true } >
47+ < div className = "header-title-container" >
48+ < IndexLinkContainer to = "/" >
49+ < NavbarBrand >
50+ < img src = { logo } className = "logo" /> { " " }
51+ < div className = "d-inline-block header-big" >
52+ < span className = "header-title" > CodeChain Explorer</ span >
53+ </ div >
54+ < div className = "d-inline-block header-small" >
55+ < span className = "header-title" > Explorer - Husky</ span >
56+ </ div >
57+ </ NavbarBrand >
58+ </ IndexLinkContainer >
59+ </ div >
4860 < NavbarToggler onClick = { this . toggle } />
4961 < Collapse isOpen = { this . state . isOpen } navbar = { true } >
5062 < Nav navbar = { true } className = "mr-auto" >
@@ -80,18 +92,41 @@ class Header extends React.Component<{}, State> {
8092 </ IndexLinkContainer >
8193 </ NavItem >
8294 </ Nav >
83- < Nav >
95+ < Nav className = "mr-3" >
8496 < NavItem className = "search-for-large-screen" >
8597 < Search idString = "large" />
8698 </ NavItem >
8799 </ Nav >
100+ < Nav >
101+ < NavItem >
102+ < button
103+ id = "network-description"
104+ type = "button"
105+ className = "btn btn-primary select-nework-btn"
106+ onClick = { this . togglePopover }
107+ >
108+ Husky Testnet
109+ </ button >
110+ </ NavItem >
111+ </ Nav >
88112 </ Collapse >
89113 </ Container >
90114 </ Navbar >
91115 < Container className = "searchbar-container search-for-small-screen" >
92116 < Search className = "ml-auto" idString = "small" />
93117 </ Container >
94118 < LoadingBar className = "loading-bar" />
119+
120+ < Popover
121+ className = "network-description-popover"
122+ placement = "bottom"
123+ isOpen = { this . state . popoverOpen }
124+ target = "network-description"
125+ toggle = { this . togglePopover }
126+ >
127+ < PopoverHeader > Husky Testnet</ PopoverHeader >
128+ < PopoverBody > This testnet uses the cuckoo hashing for the PoW mining.</ PopoverBody >
129+ </ Popover >
95130 </ div >
96131 ) ;
97132 }
@@ -101,6 +136,12 @@ class Header extends React.Component<{}, State> {
101136 isOpen : ! this . state . isOpen
102137 } ) ;
103138 }
139+
140+ private togglePopover ( ) {
141+ this . setState ( {
142+ popoverOpen : ! this . state . popoverOpen
143+ } ) ;
144+ }
104145}
105146
106147export default Header ;
0 commit comments