Skip to content

Commit 1081eb8

Browse files
committed
fix: pass reference to dialog, skip bsc check
1 parent f5f496c commit 1081eb8

2 files changed

Lines changed: 21 additions & 27 deletions

File tree

lib/app/features/tokenized_communities/providers/community_token_definition_handler.r.dart

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
// SPDX-License-Identifier: ice License 1.0
22

33
import 'dart:async';
4-
import 'dart:ui';
54

65
import 'package:hooks_riverpod/hooks_riverpod.dart';
76
import 'package:ion/app/features/auth/providers/auth_provider.m.dart';
@@ -29,7 +28,7 @@ class CommunityTokenDefinitionHandler extends GlobalSubscriptionEventHandler {
2928
final LocalStorage localStorage;
3029
final IonConnectCache ionConnectCache;
3130
final String? currentUserMasterPubkey;
32-
final VoidCallback uiEventQueueCallback;
31+
final void Function(ReplaceableEventReference tokenDefinitionEventReference) uiEventQueueCallback;
3332

3433
String get localStorageKey => 'creator_token_is_live_dialog_shown_$currentUserMasterPubkey';
3534

@@ -53,8 +52,8 @@ class CommunityTokenDefinitionHandler extends GlobalSubscriptionEventHandler {
5352
)
5453
)
5554
when originalEventMasterPubkey == currentUserMasterPubkey &&
56-
(localStorage.getBool(localStorageKey) ?? false)) {
57-
uiEventQueueCallback();
55+
!(localStorage.getBool(localStorageKey) ?? false)) {
56+
uiEventQueueCallback(entity.toEventReference());
5857
await localStorage.setBool(key: localStorageKey, value: true);
5958
}
6059

@@ -68,8 +67,10 @@ CommunityTokenDefinitionHandler communityTokenDefinitionHandler(Ref ref) {
6867
final cache = ref.watch(ionConnectCacheProvider.notifier);
6968
final currentUserMasterPubkey = ref.watch(currentPubkeySelectorProvider);
7069

71-
void uiEventQueueCallback() {
72-
ref.read(uiEventQueueNotifierProvider.notifier).emit(const CreatorTokenIsLiveDialogEvent());
70+
void uiEventQueueCallback(ReplaceableEventReference tokenDefinitionEventReference) {
71+
ref
72+
.read(uiEventQueueNotifierProvider.notifier)
73+
.emit(CreatorTokenIsLiveDialogEvent(tokenDefinitionEventReference));
7374
}
7475

7576
return CommunityTokenDefinitionHandler(

lib/app/features/tokenized_communities/views/creator_token_is_live_dialog.dart

Lines changed: 14 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,8 @@ import 'package:ion/app/components/screen_offset/screen_side_offset.dart';
1313
import 'package:ion/app/extensions/extensions.dart';
1414
import 'package:ion/app/features/auth/providers/auth_provider.m.dart';
1515
import 'package:ion/app/features/feed/views/pages/feed_page/components/stories/mock.dart';
16-
import 'package:ion/app/features/tokenized_communities/providers/community_token_definition_provider.r.dart';
16+
import 'package:ion/app/features/ion_connect/model/event_reference.f.dart';
1717
import 'package:ion/app/features/tokenized_communities/providers/token_market_info_provider.r.dart';
18-
import 'package:ion/app/features/user/extensions/user_metadata.dart';
1918
import 'package:ion/app/features/user/model/profile_mode.dart';
2019
import 'package:ion/app/features/user/pages/profile_page/components/profile_background.dart';
2120
import 'package:ion/app/features/user/pages/profile_page/components/profile_details/user_name_tile/user_name_tile.dart';
@@ -27,12 +26,12 @@ import 'package:ion/app/router/utils/show_simple_bottom_sheet.dart';
2726
import 'package:ion/app/services/logger/logger.dart';
2827
import 'package:ion/app/services/ui_event_queue/ui_event_queue_notifier.r.dart';
2928
import 'package:ion/generated/assets.gen.dart';
30-
import 'package:ion_token_analytics/ion_token_analytics.dart';
3129

3230
class CreatorTokenIsLiveDialogEvent extends UiEvent {
33-
const CreatorTokenIsLiveDialogEvent();
31+
CreatorTokenIsLiveDialogEvent(this.tokenDefinitionEventReference);
3432

3533
static bool shown = false;
34+
final ReplaceableEventReference tokenDefinitionEventReference;
3635

3736
@override
3837
void performAction(BuildContext context) {
@@ -41,14 +40,17 @@ class CreatorTokenIsLiveDialogEvent extends UiEvent {
4140
showSimpleBottomSheet<void>(
4241
context: context,
4342
backgroundColor: context.theme.appColors.forest,
44-
child: const CreatorTokenIsLiveDialog(),
43+
child:
44+
CreatorTokenIsLiveDialog(tokenDefinitionEventReference: tokenDefinitionEventReference),
4545
).whenComplete(() => shown = false);
4646
}
4747
}
4848
}
4949

5050
class CreatorTokenIsLiveDialog extends HookConsumerWidget {
51-
const CreatorTokenIsLiveDialog({super.key});
51+
const CreatorTokenIsLiveDialog({required this.tokenDefinitionEventReference, super.key});
52+
53+
final ReplaceableEventReference tokenDefinitionEventReference;
5254

5355
@override
5456
Widget build(BuildContext context, WidgetRef ref) {
@@ -58,13 +60,15 @@ class CreatorTokenIsLiveDialog extends HookConsumerWidget {
5860
return ProfileGradientBackground(
5961
colors: imageColors ?? useAvatarFallbackColors,
6062
disableDarkGradient: false,
61-
child: const _ContentState(),
63+
child: _ContentState(tokenDefinitionEventReference),
6264
);
6365
}
6466
}
6567

6668
class _ContentState extends HookConsumerWidget {
67-
const _ContentState();
69+
const _ContentState(this.tokenDefinitionEventReference);
70+
71+
final ReplaceableEventReference tokenDefinitionEventReference;
6872

6973
@override
7074
Widget build(BuildContext context, WidgetRef ref) {
@@ -75,9 +79,7 @@ class _ContentState extends HookConsumerWidget {
7579

7680
final eventReferenceString = userMetadata?.toEventReference().toString();
7781

78-
final hasBscWallet = (userMetadata?.hasBscWallet).falseOrValue;
79-
80-
final token = eventReferenceString != null && hasBscWallet
82+
final token = eventReferenceString != null
8183
? ref.watch(tokenMarketInfoProvider(eventReferenceString)).valueOrNull
8284
: null;
8385

@@ -147,16 +149,7 @@ class _ContentState extends HookConsumerWidget {
147149
? () async {
148150
isLoading.value = true;
149151
try {
150-
final tokenDefinitionEntity = await ref.watch(
151-
tokenDefinitionForExternalAddressProvider(
152-
externalAddress: token.externalAddress,
153-
).future,
154-
);
155-
156-
final tokenDefinitionEventReference =
157-
tokenDefinitionEntity?.toEventReference();
158-
159-
if (tokenDefinitionEventReference != null && context.mounted) {
152+
if (context.mounted) {
160153
context.pop();
161154

162155
await ShareViaMessageModalRoute(

0 commit comments

Comments
 (0)