on master help sign in
ux: add wallet Address

- user can reset filter by clicking address

commite2e39d7eabf7ec8bd0230c93760517954a354139 authortomholford <tomholford@users.noreply.github.com> dateTue 12 Oct 2021, 10:06 (5 years ago) parent8b8af6e
3 files changed+60−1
src/views/Transactions/AddressRow.tsx+14 src/views/Transactions/TransactionHistory.scss+28 src/views/Transactions/TransactionHistory.tsx+18−1
src/views/Transactions/AddressRow.tsxnew file+14
@@ -0,0 +1,14 @@
1+import { Box } from '@tlon/indigo-react';
2+
3+export const AddressRow = ({ address }) => {
4+ return (
5+ <>
6+ <Box className="address-row">
7+ <Box className="icon"></Box>
8+ <Box className="info">
9+ <Box className="address">{address}</Box>
10+ </Box>
11+ </Box>
12+ </>
13+ );
14+};
src/views/Transactions/TransactionHistory.scss+28
@@ -76,6 +76,34 @@
7676 width: 100%;
7777 }
7878
79+ .address-row {
80+ @include tx-row();
81+
82+ .icon {
83+ grid-area: icon;
84+ background-color: black;
85+ border-radius: 2px;
86+ width: 24px;
87+ height: 24px;
88+ }
89+
90+ .info {
91+ grid-area: info;
92+ display: flex;
93+ flex-flow: column nowrap;
94+ justify-content: center;
95+
96+ .address {
97+ font-family: Source Code Pro;
98+ font-size: 14px;
99+ font-style: normal;
100+ font-weight: 500;
101+ line-height: 16px;
102+ letter-spacing: 0em;
103+ }
104+ }
105+ }
106+
79107 .patp-row {
80108 @include tx-row();
81109
src/views/Transactions/TransactionHistory.tsx+18−1
@@ -18,6 +18,8 @@ import { Box, Row } from '@tlon/indigo-react';
1818import { PatpRow } from './PatpRow';
1919import Dropdown from 'components/L2/Dropdowns/Dropdown';
2020import Sigil from 'components/Sigil';
21+import { AddressRow } from './AddressRow';
22+import { abbreviateAddress } from 'lib/utils/address';
2123
2224interface GroupedTransactions {
2325 [ship: string]: RollerTransaction[];
@@ -33,6 +35,10 @@ const TransactionHistory = () => {
3335 const [dropdownOpen, setDropdownOpen] = useState<boolean>(false);
3436 const [selectedPatp, setSelectedPatp] = useState<string | null>(null);
3537
38+ const shortAddress = useMemo(() => {
39+ return abbreviateAddress(address);
40+ }, [address]);
41+
3642 const fetchTransactions = useCallback(async () => {
3743 const txns = await api.getHistory(address);
3844 setTransactions(txns);
@@ -89,10 +95,20 @@ const TransactionHistory = () => {
8995 <Dropdown
9096 className="transaction-dropdown"
9197 open={dropdownOpen}
92− value={selectedPatp}
98+ value={selectedPatp ? selectedPatp : shortAddress}
9399 toggleOpen={() => setDropdownOpen(!dropdownOpen)}>
94100 <Box className="divider" />
95101 <Box className="points">
102+ <Row className="entry" onClick={() => selectPatp(null)}>
103+ <Box>{shortAddress}</Box>
104+ <Row>
105+ <Box
106+ background="black"
107+ borderRadius="2px"
108+ width="24px"
109+ height="24px"></Box>
110+ </Row>
111+ </Row>
96112 {txPatps.map(patp => {
97113 return (
98114 <Row
@@ -119,6 +135,7 @@ const TransactionHistory = () => {
119135 </HeaderPane>
120136 <BodyPane>
121137 <Box className="transaction-container">
138+ {!selectedPatp && <AddressRow address={address} />}
122139 {filteredPatps.map(patp => {
123140 return (
124141 <Box key={patp}>