Skip to content

Commit 75895a2

Browse files
committed
ui(spl): desktop token details view
1 parent 602e268 commit 75895a2

File tree

2 files changed

+65
-31
lines changed

2 files changed

+65
-31
lines changed

lib/pages_desktop_specific/my_stack_view/wallet_view/desktop_sol_token_view.dart

Lines changed: 24 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,11 @@ import 'package:event_bus/event_bus.dart';
1111
import 'package:flutter/material.dart';
1212
import 'package:flutter_riverpod/flutter_riverpod.dart';
1313
import 'package:flutter_svg/svg.dart';
14+
import 'package:tuple/tuple.dart';
1415

1516
import '../../../models/isar/models/isar_models.dart';
1617
import '../../../pages/send_view/sub_widgets/transaction_fee_selection_sheet.dart';
18+
import '../../../pages/token_view/solana_token_contract_details_view.dart';
1719
import '../../../pages/token_view/sub_widgets/token_transaction_list_widget_sol.dart';
1820
import '../../../providers/db/main_db_provider.dart';
1921
import '../../../providers/providers.dart';
@@ -175,14 +177,28 @@ class _DesktopTokenViewState extends ConsumerState<DesktopSolTokenView> {
175177
final tokenWallet = ref.watch(pCurrentSolanaTokenWallet);
176178
final tokenName = tokenWallet?.tokenName ?? "Token";
177179
final tokenSymbol = tokenWallet?.tokenSymbol ?? "SOL";
178-
return Row(
179-
children: [
180-
SolTokenIcon(mintAddress: widget.tokenMint, size: 32),
181-
const SizedBox(width: 12),
182-
Text(tokenName, style: STextStyles.desktopH3(context)),
183-
const SizedBox(width: 12),
184-
CoinTickerTag(ticker: tokenSymbol),
185-
],
180+
return GestureDetector(
181+
onTap: () {
182+
Navigator.of(context).pushNamed(
183+
SolanaTokenContractDetailsView.routeName,
184+
arguments: Tuple2(
185+
widget.tokenMint,
186+
widget.walletId,
187+
),
188+
);
189+
},
190+
child: MouseRegion(
191+
cursor: SystemMouseCursors.click,
192+
child: Row(
193+
children: [
194+
SolTokenIcon(mintAddress: widget.tokenMint, size: 32),
195+
const SizedBox(width: 12),
196+
Text(tokenName, style: STextStyles.desktopH3(context)),
197+
const SizedBox(width: 12),
198+
CoinTickerTag(ticker: tokenSymbol),
199+
],
200+
),
201+
),
186202
);
187203
},
188204
),

lib/pages_desktop_specific/my_stack_view/wallet_view/desktop_token_view.dart

Lines changed: 41 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,11 @@ import 'package:event_bus/event_bus.dart';
1212
import 'package:flutter/material.dart';
1313
import 'package:flutter_riverpod/flutter_riverpod.dart';
1414
import 'package:flutter_svg/svg.dart';
15+
import 'package:tuple/tuple.dart';
1516

1617
import '../../../pages/send_view/sub_widgets/transaction_fee_selection_sheet.dart';
1718
import '../../../pages/token_view/sub_widgets/token_transaction_list_widget.dart';
19+
import '../../../pages/token_view/token_contract_details_view.dart';
1820
import '../../../pages/wallet_view/transaction_views/tx_v2/all_transactions_v2_view.dart';
1921
import '../../../providers/providers.dart';
2022
import '../../../services/event_bus/events/global/wallet_sync_status_changed_event.dart';
@@ -102,32 +104,48 @@ class _DesktopTokenViewState extends ConsumerState<DesktopTokenView> {
102104
),
103105
center: Expanded(
104106
flex: 4,
105-
child: Row(
106-
children: [
107-
EthTokenIcon(
108-
contractAddress: ref.watch(
109-
pCurrentTokenWallet.select(
110-
(value) => value!.tokenContract.address,
111-
),
107+
child: GestureDetector(
108+
onTap: () {
109+
final contractAddress = ref.watch(
110+
pCurrentTokenWallet.select(
111+
(value) => value!.tokenContract.address,
112112
),
113-
size: 32,
114-
),
115-
const SizedBox(width: 12),
116-
Text(
117-
ref.watch(
118-
pCurrentTokenWallet.select(
119-
(value) => value!.tokenContract.name,
113+
);
114+
Navigator.of(context).pushNamed(
115+
TokenContractDetailsView.routeName,
116+
arguments: Tuple2(contractAddress, widget.walletId),
117+
);
118+
},
119+
child: MouseRegion(
120+
cursor: SystemMouseCursors.click,
121+
child: Row(
122+
children: [
123+
EthTokenIcon(
124+
contractAddress: ref.watch(
125+
pCurrentTokenWallet.select(
126+
(value) => value!.tokenContract.address,
127+
),
128+
),
129+
size: 32,
120130
),
121-
),
122-
style: STextStyles.desktopH3(context),
123-
),
124-
const SizedBox(width: 12),
125-
CoinTickerTag(
126-
ticker: ref.watch(
127-
pWalletCoin(widget.walletId).select((s) => s.ticker),
128-
),
131+
const SizedBox(width: 12),
132+
Text(
133+
ref.watch(
134+
pCurrentTokenWallet.select(
135+
(value) => value!.tokenContract.name,
136+
),
137+
),
138+
style: STextStyles.desktopH3(context),
139+
),
140+
const SizedBox(width: 12),
141+
CoinTickerTag(
142+
ticker: ref.watch(
143+
pWalletCoin(widget.walletId).select((s) => s.ticker),
144+
),
145+
),
146+
],
129147
),
130-
],
148+
),
131149
),
132150
),
133151
useSpacers: false,

0 commit comments

Comments
 (0)