Skip to content

Commit

Permalink
Merge pull request #277 from HathorNetwork/dev
Browse files Browse the repository at this point in the history
Release v0.19.1
  • Loading branch information
pedroferreira1 authored Jul 16, 2024
2 parents 62e4cd6 + 2fd3900 commit 4dca688
Show file tree
Hide file tree
Showing 5 changed files with 71 additions and 79 deletions.
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "hathor-admin",
"version": "0.19.0",
"version": "0.19.1",
"private": true,
"dependencies": {
"@hathor/wallet-lib": "1.8.0",
Expand Down
2 changes: 1 addition & 1 deletion src/api/axiosInstance.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
*/

import { EXPLORER_SERVICE_BASE_URL } from '../constants.js';
const axios = require('axios');
import axios from 'axios';

const errorHandler = (error) => {
console.log("ERROR RESPONSE", error);
Expand Down
140 changes: 66 additions & 74 deletions src/components/Navigation.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
* LICENSE file in the root directory of this source tree.
*/

import React from 'react';
import React, { useRef } from 'react';
import { NavLink, Link } from 'react-router-dom';
import logo from '../assets/images/hathor-white-logo.png';
import HathorAlert from './HathorAlert';
Expand All @@ -18,111 +18,103 @@ import {
UNLEASH_TOKEN_BALANCES_FEATURE_FLAG,
} from '../constants';

class Navigation extends React.Component {
constructor(props) {
super(props);
function Navigation({ history }) {
const alertErrorRef = useRef(null);
const txSearchRef = useRef(null);
const isTokensBaseEnabled = useFlag(`${UNLEASH_TOKENS_BASE_FEATURE_FLAG}.rollout`);
const isTokensBalanceEnabled = useFlag(`${UNLEASH_TOKEN_BALANCES_FEATURE_FLAG}.rollout`);
const showTokensTab = isTokensBalanceEnabled || isTokensBaseEnabled;

this.handleKeyUp = this.handleKeyUp.bind(this);
this.search = this.search.bind(this);
}

handleKeyUp(e) {
const handleKeyUp = (e) => {
if (e.key === 'Enter') {
this.search();
search();
}
}

search() {
const text = this.refs.txSearch.value;
const search = () => {
const text = txSearchRef.current.value;

if (text) {
const regex = /[A-Fa-f\d]{64}/g;
if (regex.test(text)) {
// It's a valid hash
this.props.history.push(`/transaction/${text}`);
history.push(`/transaction/${text}`);
} else {
const network = hathorLib.config.getNetwork();
const addressObj = new hathorLib.Address(text, { network });
if (addressObj.isValid()) {
// It's a valid address
this.props.history.push(`/address/${text}`);
history.push(`/address/${text}`);
} else {
this.showError();
showError();
}
}
}
}

showError() {
this.refs.alertError.show(3000);
const showError = () => {
alertErrorRef.current.show(3000);
}

showTokensTab() {
return useFlag(`${UNLEASH_TOKENS_BASE_FEATURE_FLAG}.rollout`)
|| useFlag(`${UNLEASH_TOKEN_BALANCES_FEATURE_FLAG}.rollout`);
}

render() {
return (
<div className="main-nav">
<nav className="navbar navbar-expand-lg navbar-dark pl-3 pl-lg-0">
<div className="d-flex flex-column align-items-center">
<Link className="navbar-brand" to="/" href="/">
<img src={logo} alt="" />
</Link>
</div>
<button className="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<span className="navbar-toggler-icon" />
</button>
<div className="collapse navbar-collapse" id="navbarSupportedContent">
<ul className="navbar-nav mr-auto">
<li className="nav-item">
<NavLink to="/" exact className="nav-link" activeClassName="active" activeStyle={{ fontWeight: 'bold' }}>Transactions</NavLink>
</li>
{this.showTokensTab() && (
<li className="nav-item dropdown">
<span className="nav-link dropdown-toggle" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Tokens
</span>
<div className="dropdown-menu" aria-labelledby="navbarDropdown">
<ul>
<ConditionalNavigation to="/tokens" label="Token list" featureToggle={`${UNLEASH_TOKENS_BASE_FEATURE_FLAG}.rollout`} />
<ConditionalNavigation to="/token_balances" label="Token balances" featureToggle={`${UNLEASH_TOKEN_BALANCES_FEATURE_FLAG}.rollout`} />
</ul>
</div>
</li>
)}
<li className="nav-item">
<NavLink to="/network" exact className="nav-link" activeClassName="active" activeStyle={{ fontWeight: 'bold' }}>Network</NavLink>
</li>
<li className="nav-item">
<NavLink to="/statistics" exact className="nav-link" activeClassName="active" activeStyle={{ fontWeight: 'bold' }}>Statistics</NavLink>
</li>
return (
<div className="main-nav">
<nav className="navbar navbar-expand-lg navbar-dark pl-3 pl-lg-0">
<div className="d-flex flex-column align-items-center">
<Link className="navbar-brand" to="/" href="/">
<img src={logo} alt="" />
</Link>
</div>
<button className="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<span className="navbar-toggler-icon" />
</button>
<div className="collapse navbar-collapse" id="navbarSupportedContent">
<ul className="navbar-nav mr-auto">
<li className="nav-item">
<NavLink to="/" exact className="nav-link" activeClassName="active" activeStyle={{ fontWeight: 'bold' }}>Transactions</NavLink>
</li>
{showTokensTab && (
<li className="nav-item dropdown">
<span className="nav-link dropdown-toggle" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Tools
Tokens
</span>
<div className="dropdown-menu" aria-labelledby="navbarDropdown">
<NavLink to="/decode-tx/" exact className="nav-link">Decode Tx</NavLink>
<NavLink to="/push-tx/" exact className="nav-link">Push Tx</NavLink>
<NavLink to="/dag/" exact className="nav-link">DAG</NavLink>
<NavLink to="/features/" exact className="nav-link">Features</NavLink>
<ul>
<ConditionalNavigation to="/tokens" label="Token list" featureToggle={`${UNLEASH_TOKENS_BASE_FEATURE_FLAG}.rollout`} />
<ConditionalNavigation to="/token_balances" label="Token balances" featureToggle={`${UNLEASH_TOKEN_BALANCES_FEATURE_FLAG}.rollout`} />
</ul>
</div>
</li>
</ul>
<div className="navbar-right d-flex flex-row align-items-center navigation-search">
<div className="d-flex flex-row align-items-center">
<input className="form-control mr-2" type="search" placeholder="Search tx or address" aria-label="Search" ref="txSearch" onKeyUp={this.handleKeyUp} />
<i className="fa fa-search pointer" onClick={this.search}></i>
)}
<li className="nav-item">
<NavLink to="/network" exact className="nav-link" activeClassName="active" activeStyle={{ fontWeight: 'bold' }}>Network</NavLink>
</li>
<li className="nav-item">
<NavLink to="/statistics" exact className="nav-link" activeClassName="active" activeStyle={{ fontWeight: 'bold' }}>Statistics</NavLink>
</li>
<li className="nav-item dropdown">
<span className="nav-link dropdown-toggle" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Tools
</span>
<div className="dropdown-menu" aria-labelledby="navbarDropdown">
<NavLink to="/decode-tx/" exact className="nav-link">Decode Tx</NavLink>
<NavLink to="/push-tx/" exact className="nav-link">Push Tx</NavLink>
<NavLink to="/dag/" exact className="nav-link">DAG</NavLink>
<NavLink to="/features/" exact className="nav-link">Features</NavLink>
</div>
<Version />
</li>
</ul>
<div className="navbar-right d-flex flex-row align-items-center navigation-search">
<div className="d-flex flex-row align-items-center">
<input className="form-control mr-2" type="search" placeholder="Search tx or address" aria-label="Search" ref={txSearchRef} onKeyUp={handleKeyUp} />
<i className="fa fa-search pointer" onClick={search}></i>
</div>
<Version />
</div>
</nav>
<HathorAlert ref="alertError" text="Invalid hash format or address" type="danger" />
</div>
);
}
</div>
</nav>
<HathorAlert ref={alertErrorRef} text="Invalid hash format or address" type="danger" />
</div>
);
};

export default Navigation;
2 changes: 1 addition & 1 deletion src/constants.js
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ export const TESTNET_GENESIS_TX = [
'00975897028ceb037307327c953f5e7ad4d3f42402d71bd3d11ecb63ac39f01a',
];

export const VERSION = '0.19.0';
export const VERSION = '0.19.1';

export const MIN_API_VERSION = '0.33.0';

Expand Down

0 comments on commit 4dca688

Please sign in to comment.