From d3447f9af554a6cbd22ec4bee6409ee982baaaa0 Mon Sep 17 00:00:00 2001 From: Zied Dahmani Date: Mon, 18 Nov 2024 19:42:23 +0100 Subject: [PATCH] fix: clean up post merge --- lib/core/di/bloc_module.dart | 4 +- .../models/proposal_details_model.g.dart | 2 +- lib/core/network/models/proposal_model.g.dart | 2 +- .../interactor/proposal_creation_bloc.dart | 33 ++-- .../proposal_creation_bloc.freezed.dart | 153 ++++++++++++++++++ .../interactor/proposal_creation_event.dart | 1 + .../creation/proposal_creation_page.dart | 2 +- .../usecases/publish_proposal_use_case.dart | 2 - .../list/usecases/get_proposals_use_case.dart | 1 - 9 files changed, 178 insertions(+), 22 deletions(-) diff --git a/lib/core/di/bloc_module.dart b/lib/core/di/bloc_module.dart index 8623d56d..7217ce11 100644 --- a/lib/core/di/bloc_module.dart +++ b/lib/core/di/bloc_module.dart @@ -150,9 +150,9 @@ void _registerBlocsModule() { _registerFactoryWithParams, void>( (daos, _) => ProposalCreationBloc( - _getIt(), + daos, + _getIt(), _getIt(), - daos, ), ); } diff --git a/lib/core/network/models/proposal_details_model.g.dart b/lib/core/network/models/proposal_details_model.g.dart index a2cf2af8..8ab0bfda 100644 --- a/lib/core/network/models/proposal_details_model.g.dart +++ b/lib/core/network/models/proposal_details_model.g.dart @@ -9,7 +9,7 @@ part of 'proposal_details_model.dart'; ProposalDetailsModel _$ProposalDetailsModelFromJson( Map json) => ProposalDetailsModel( - id: json['docId'] as String, + id: json['docId'] as String?, dao: json['dao'] == null ? null : DaoData.fromJson(json['dao'] as Map), diff --git a/lib/core/network/models/proposal_model.g.dart b/lib/core/network/models/proposal_model.g.dart index 2b01a8d9..25053db1 100644 --- a/lib/core/network/models/proposal_model.g.dart +++ b/lib/core/network/models/proposal_model.g.dart @@ -8,7 +8,7 @@ part of 'proposal_model.dart'; ProposalModel _$ProposalModelFromJson(Map json) => ProposalModel( - id: json['docId'] as String, + id: json['docId'] as String?, dao: json['dao'] == null ? null : DaoData.fromJson(json['dao'] as Map), diff --git a/lib/ui/proposals/creation/interactor/proposal_creation_bloc.dart b/lib/ui/proposals/creation/interactor/proposal_creation_bloc.dart index b14cba53..22facbbb 100644 --- a/lib/ui/proposals/creation/interactor/proposal_creation_bloc.dart +++ b/lib/ui/proposals/creation/interactor/proposal_creation_bloc.dart @@ -5,7 +5,6 @@ import 'package:freezed_annotation/freezed_annotation.dart'; import 'package:hypha_wallet/core/error_handler/error_handler_manager.dart'; import 'package:hypha_wallet/core/error_handler/model/hypha_error.dart'; import 'package:hypha_wallet/core/network/models/dao_data_model.dart'; -import 'package:hypha_wallet/core/network/models/outcome_model.dart'; import 'package:hypha_wallet/core/network/models/proposal_creation_model.dart'; import 'package:hypha_wallet/ui/architecture/interactor/page_states.dart'; import 'package:hypha_wallet/ui/architecture/result/result.dart'; @@ -17,32 +16,37 @@ part 'proposal_creation_event.dart'; part 'proposal_creation_state.dart'; class ProposalCreationBloc extends Bloc { + final List daos; final PublishProposalUseCase _publishProposalUseCase; final ErrorHandlerManager _errorHandlerManager; - final List daos; ProposalCreationBloc(this.daos, this._publishProposalUseCase, this._errorHandlerManager) : super(ProposalCreationState(proposal: ProposalCreationModel())) { + on<_Initialize>(_initialize); on<_UpdateCurrentView>(_updateCurrentView); on<_UpdateProposal>(_updateProposal); on<_PublishProposal>(_publishProposal); on<_ClearPageCommand>((_, emit) => emit(state.copyWith(command: null))); + _pageController = PageController(initialPage: daos.length > 1 ? 0 : 1); - if (daos.length == 1) { - emit(state.copyWith(proposal: state.proposal!.copyWith({'dao': daos.first}))); - } } late final PageController _pageController; PageController get pageController => _pageController; - // TODO(Zied): fix emit - Future _updateCurrentView(_UpdateCurrentView event, Emitter emit) async { + void _initialize(_Initialize event, Emitter emit) { + + if (daos.length == 1) { + emit(state.copyWith(proposal: state.proposal!.copyWith({'dao': daos.first}))); + } + } + + void _updateCurrentView(_UpdateCurrentView event, Emitter emit) { if (event.nextViewIndex == -1) { emit(state.copyWith(command: const PageCommand.navigateBackToProposals())); } else { switch (event.nextViewIndex) { - case 0 || 1 || 4 || 5: + case 0 || 1 || 3 || 4: navigate(emit, event.nextViewIndex); break; case 2: @@ -50,13 +54,14 @@ class ProposalCreationBloc extends Bloc _updateProposalFields(updates, emit) async { + void _updateProposalFields(updates, emit) { final ProposalCreationModel proposal = state.proposal!.copyWith(updates); emit(state.copyWith(proposal: proposal)); } - Future _updateProposal(_UpdateProposal event, Emitter emit) async { - unawaited(_updateProposalFields(event.updates, emit)); + void _updateProposal(_UpdateProposal event, Emitter emit) { + _updateProposalFields(event.updates, emit); } Future _publishProposal(_PublishProposal event, Emitter emit) async { diff --git a/lib/ui/proposals/creation/interactor/proposal_creation_bloc.freezed.dart b/lib/ui/proposals/creation/interactor/proposal_creation_bloc.freezed.dart index a0cd4f57..7b11a1f0 100644 --- a/lib/ui/proposals/creation/interactor/proposal_creation_bloc.freezed.dart +++ b/lib/ui/proposals/creation/interactor/proposal_creation_bloc.freezed.dart @@ -476,6 +476,7 @@ abstract class _NavigateToFailurePage implements PageCommand { mixin _$ProposalCreationEvent { @optionalTypeArgs TResult when({ + required TResult Function() initialize, required TResult Function(int nextViewIndex) updateCurrentView, required TResult Function(Map updates) updateProposal, required TResult Function() publishProposal, @@ -484,6 +485,7 @@ mixin _$ProposalCreationEvent { throw _privateConstructorUsedError; @optionalTypeArgs TResult? whenOrNull({ + TResult? Function()? initialize, TResult? Function(int nextViewIndex)? updateCurrentView, TResult? Function(Map updates)? updateProposal, TResult? Function()? publishProposal, @@ -492,6 +494,7 @@ mixin _$ProposalCreationEvent { throw _privateConstructorUsedError; @optionalTypeArgs TResult maybeWhen({ + TResult Function()? initialize, TResult Function(int nextViewIndex)? updateCurrentView, TResult Function(Map updates)? updateProposal, TResult Function()? publishProposal, @@ -501,6 +504,7 @@ mixin _$ProposalCreationEvent { throw _privateConstructorUsedError; @optionalTypeArgs TResult map({ + required TResult Function(_Initialize value) initialize, required TResult Function(_UpdateCurrentView value) updateCurrentView, required TResult Function(_UpdateProposal value) updateProposal, required TResult Function(_PublishProposal value) publishProposal, @@ -509,6 +513,7 @@ mixin _$ProposalCreationEvent { throw _privateConstructorUsedError; @optionalTypeArgs TResult? mapOrNull({ + TResult? Function(_Initialize value)? initialize, TResult? Function(_UpdateCurrentView value)? updateCurrentView, TResult? Function(_UpdateProposal value)? updateProposal, TResult? Function(_PublishProposal value)? publishProposal, @@ -517,6 +522,7 @@ mixin _$ProposalCreationEvent { throw _privateConstructorUsedError; @optionalTypeArgs TResult maybeMap({ + TResult Function(_Initialize value)? initialize, TResult Function(_UpdateCurrentView value)? updateCurrentView, TResult Function(_UpdateProposal value)? updateProposal, TResult Function(_PublishProposal value)? publishProposal, @@ -548,6 +554,129 @@ class _$ProposalCreationEventCopyWithImpl<$Res, /// with the given fields replaced by the non-null parameter values. } +/// @nodoc +abstract class _$$InitializeImplCopyWith<$Res> { + factory _$$InitializeImplCopyWith( + _$InitializeImpl value, $Res Function(_$InitializeImpl) then) = + __$$InitializeImplCopyWithImpl<$Res>; +} + +/// @nodoc +class __$$InitializeImplCopyWithImpl<$Res> + extends _$ProposalCreationEventCopyWithImpl<$Res, _$InitializeImpl> + implements _$$InitializeImplCopyWith<$Res> { + __$$InitializeImplCopyWithImpl( + _$InitializeImpl _value, $Res Function(_$InitializeImpl) _then) + : super(_value, _then); + + /// Create a copy of ProposalCreationEvent + /// with the given fields replaced by the non-null parameter values. +} + +/// @nodoc + +class _$InitializeImpl implements _Initialize { + const _$InitializeImpl(); + + @override + String toString() { + return 'ProposalCreationEvent.initialize()'; + } + + @override + bool operator ==(Object other) { + return identical(this, other) || + (other.runtimeType == runtimeType && other is _$InitializeImpl); + } + + @override + int get hashCode => runtimeType.hashCode; + + @override + @optionalTypeArgs + TResult when({ + required TResult Function() initialize, + required TResult Function(int nextViewIndex) updateCurrentView, + required TResult Function(Map updates) updateProposal, + required TResult Function() publishProposal, + required TResult Function() clearPageCommand, + }) { + return initialize(); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function()? initialize, + TResult? Function(int nextViewIndex)? updateCurrentView, + TResult? Function(Map updates)? updateProposal, + TResult? Function()? publishProposal, + TResult? Function()? clearPageCommand, + }) { + return initialize?.call(); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function()? initialize, + TResult Function(int nextViewIndex)? updateCurrentView, + TResult Function(Map updates)? updateProposal, + TResult Function()? publishProposal, + TResult Function()? clearPageCommand, + required TResult orElse(), + }) { + if (initialize != null) { + return initialize(); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(_Initialize value) initialize, + required TResult Function(_UpdateCurrentView value) updateCurrentView, + required TResult Function(_UpdateProposal value) updateProposal, + required TResult Function(_PublishProposal value) publishProposal, + required TResult Function(_ClearPageCommand value) clearPageCommand, + }) { + return initialize(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(_Initialize value)? initialize, + TResult? Function(_UpdateCurrentView value)? updateCurrentView, + TResult? Function(_UpdateProposal value)? updateProposal, + TResult? Function(_PublishProposal value)? publishProposal, + TResult? Function(_ClearPageCommand value)? clearPageCommand, + }) { + return initialize?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(_Initialize value)? initialize, + TResult Function(_UpdateCurrentView value)? updateCurrentView, + TResult Function(_UpdateProposal value)? updateProposal, + TResult Function(_PublishProposal value)? publishProposal, + TResult Function(_ClearPageCommand value)? clearPageCommand, + required TResult orElse(), + }) { + if (initialize != null) { + return initialize(this); + } + return orElse(); + } +} + +abstract class _Initialize implements ProposalCreationEvent { + const factory _Initialize() = _$InitializeImpl; +} + /// @nodoc abstract class _$$UpdateCurrentViewImplCopyWith<$Res> { factory _$$UpdateCurrentViewImplCopyWith(_$UpdateCurrentViewImpl value, @@ -618,6 +747,7 @@ class _$UpdateCurrentViewImpl implements _UpdateCurrentView { @override @optionalTypeArgs TResult when({ + required TResult Function() initialize, required TResult Function(int nextViewIndex) updateCurrentView, required TResult Function(Map updates) updateProposal, required TResult Function() publishProposal, @@ -629,6 +759,7 @@ class _$UpdateCurrentViewImpl implements _UpdateCurrentView { @override @optionalTypeArgs TResult? whenOrNull({ + TResult? Function()? initialize, TResult? Function(int nextViewIndex)? updateCurrentView, TResult? Function(Map updates)? updateProposal, TResult? Function()? publishProposal, @@ -640,6 +771,7 @@ class _$UpdateCurrentViewImpl implements _UpdateCurrentView { @override @optionalTypeArgs TResult maybeWhen({ + TResult Function()? initialize, TResult Function(int nextViewIndex)? updateCurrentView, TResult Function(Map updates)? updateProposal, TResult Function()? publishProposal, @@ -655,6 +787,7 @@ class _$UpdateCurrentViewImpl implements _UpdateCurrentView { @override @optionalTypeArgs TResult map({ + required TResult Function(_Initialize value) initialize, required TResult Function(_UpdateCurrentView value) updateCurrentView, required TResult Function(_UpdateProposal value) updateProposal, required TResult Function(_PublishProposal value) publishProposal, @@ -666,6 +799,7 @@ class _$UpdateCurrentViewImpl implements _UpdateCurrentView { @override @optionalTypeArgs TResult? mapOrNull({ + TResult? Function(_Initialize value)? initialize, TResult? Function(_UpdateCurrentView value)? updateCurrentView, TResult? Function(_UpdateProposal value)? updateProposal, TResult? Function(_PublishProposal value)? publishProposal, @@ -677,6 +811,7 @@ class _$UpdateCurrentViewImpl implements _UpdateCurrentView { @override @optionalTypeArgs TResult maybeMap({ + TResult Function(_Initialize value)? initialize, TResult Function(_UpdateCurrentView value)? updateCurrentView, TResult Function(_UpdateProposal value)? updateProposal, TResult Function(_PublishProposal value)? publishProposal, @@ -779,6 +914,7 @@ class _$UpdateProposalImpl implements _UpdateProposal { @override @optionalTypeArgs TResult when({ + required TResult Function() initialize, required TResult Function(int nextViewIndex) updateCurrentView, required TResult Function(Map updates) updateProposal, required TResult Function() publishProposal, @@ -790,6 +926,7 @@ class _$UpdateProposalImpl implements _UpdateProposal { @override @optionalTypeArgs TResult? whenOrNull({ + TResult? Function()? initialize, TResult? Function(int nextViewIndex)? updateCurrentView, TResult? Function(Map updates)? updateProposal, TResult? Function()? publishProposal, @@ -801,6 +938,7 @@ class _$UpdateProposalImpl implements _UpdateProposal { @override @optionalTypeArgs TResult maybeWhen({ + TResult Function()? initialize, TResult Function(int nextViewIndex)? updateCurrentView, TResult Function(Map updates)? updateProposal, TResult Function()? publishProposal, @@ -816,6 +954,7 @@ class _$UpdateProposalImpl implements _UpdateProposal { @override @optionalTypeArgs TResult map({ + required TResult Function(_Initialize value) initialize, required TResult Function(_UpdateCurrentView value) updateCurrentView, required TResult Function(_UpdateProposal value) updateProposal, required TResult Function(_PublishProposal value) publishProposal, @@ -827,6 +966,7 @@ class _$UpdateProposalImpl implements _UpdateProposal { @override @optionalTypeArgs TResult? mapOrNull({ + TResult? Function(_Initialize value)? initialize, TResult? Function(_UpdateCurrentView value)? updateCurrentView, TResult? Function(_UpdateProposal value)? updateProposal, TResult? Function(_PublishProposal value)? publishProposal, @@ -838,6 +978,7 @@ class _$UpdateProposalImpl implements _UpdateProposal { @override @optionalTypeArgs TResult maybeMap({ + TResult Function(_Initialize value)? initialize, TResult Function(_UpdateCurrentView value)? updateCurrentView, TResult Function(_UpdateProposal value)? updateProposal, TResult Function(_PublishProposal value)? publishProposal, @@ -905,6 +1046,7 @@ class _$PublishProposalImpl implements _PublishProposal { @override @optionalTypeArgs TResult when({ + required TResult Function() initialize, required TResult Function(int nextViewIndex) updateCurrentView, required TResult Function(Map updates) updateProposal, required TResult Function() publishProposal, @@ -916,6 +1058,7 @@ class _$PublishProposalImpl implements _PublishProposal { @override @optionalTypeArgs TResult? whenOrNull({ + TResult? Function()? initialize, TResult? Function(int nextViewIndex)? updateCurrentView, TResult? Function(Map updates)? updateProposal, TResult? Function()? publishProposal, @@ -927,6 +1070,7 @@ class _$PublishProposalImpl implements _PublishProposal { @override @optionalTypeArgs TResult maybeWhen({ + TResult Function()? initialize, TResult Function(int nextViewIndex)? updateCurrentView, TResult Function(Map updates)? updateProposal, TResult Function()? publishProposal, @@ -942,6 +1086,7 @@ class _$PublishProposalImpl implements _PublishProposal { @override @optionalTypeArgs TResult map({ + required TResult Function(_Initialize value) initialize, required TResult Function(_UpdateCurrentView value) updateCurrentView, required TResult Function(_UpdateProposal value) updateProposal, required TResult Function(_PublishProposal value) publishProposal, @@ -953,6 +1098,7 @@ class _$PublishProposalImpl implements _PublishProposal { @override @optionalTypeArgs TResult? mapOrNull({ + TResult? Function(_Initialize value)? initialize, TResult? Function(_UpdateCurrentView value)? updateCurrentView, TResult? Function(_UpdateProposal value)? updateProposal, TResult? Function(_PublishProposal value)? publishProposal, @@ -964,6 +1110,7 @@ class _$PublishProposalImpl implements _PublishProposal { @override @optionalTypeArgs TResult maybeMap({ + TResult Function(_Initialize value)? initialize, TResult Function(_UpdateCurrentView value)? updateCurrentView, TResult Function(_UpdateProposal value)? updateProposal, TResult Function(_PublishProposal value)? publishProposal, @@ -1022,6 +1169,7 @@ class _$ClearPageCommandImpl implements _ClearPageCommand { @override @optionalTypeArgs TResult when({ + required TResult Function() initialize, required TResult Function(int nextViewIndex) updateCurrentView, required TResult Function(Map updates) updateProposal, required TResult Function() publishProposal, @@ -1033,6 +1181,7 @@ class _$ClearPageCommandImpl implements _ClearPageCommand { @override @optionalTypeArgs TResult? whenOrNull({ + TResult? Function()? initialize, TResult? Function(int nextViewIndex)? updateCurrentView, TResult? Function(Map updates)? updateProposal, TResult? Function()? publishProposal, @@ -1044,6 +1193,7 @@ class _$ClearPageCommandImpl implements _ClearPageCommand { @override @optionalTypeArgs TResult maybeWhen({ + TResult Function()? initialize, TResult Function(int nextViewIndex)? updateCurrentView, TResult Function(Map updates)? updateProposal, TResult Function()? publishProposal, @@ -1059,6 +1209,7 @@ class _$ClearPageCommandImpl implements _ClearPageCommand { @override @optionalTypeArgs TResult map({ + required TResult Function(_Initialize value) initialize, required TResult Function(_UpdateCurrentView value) updateCurrentView, required TResult Function(_UpdateProposal value) updateProposal, required TResult Function(_PublishProposal value) publishProposal, @@ -1070,6 +1221,7 @@ class _$ClearPageCommandImpl implements _ClearPageCommand { @override @optionalTypeArgs TResult? mapOrNull({ + TResult? Function(_Initialize value)? initialize, TResult? Function(_UpdateCurrentView value)? updateCurrentView, TResult? Function(_UpdateProposal value)? updateProposal, TResult? Function(_PublishProposal value)? publishProposal, @@ -1081,6 +1233,7 @@ class _$ClearPageCommandImpl implements _ClearPageCommand { @override @optionalTypeArgs TResult maybeMap({ + TResult Function(_Initialize value)? initialize, TResult Function(_UpdateCurrentView value)? updateCurrentView, TResult Function(_UpdateProposal value)? updateProposal, TResult Function(_PublishProposal value)? publishProposal, diff --git a/lib/ui/proposals/creation/interactor/proposal_creation_event.dart b/lib/ui/proposals/creation/interactor/proposal_creation_event.dart index 134efd3f..7ef1a257 100644 --- a/lib/ui/proposals/creation/interactor/proposal_creation_event.dart +++ b/lib/ui/proposals/creation/interactor/proposal_creation_event.dart @@ -2,6 +2,7 @@ part of 'proposal_creation_bloc.dart'; @freezed class ProposalCreationEvent with _$ProposalCreationEvent { + const factory ProposalCreationEvent.initialize() = _Initialize; const factory ProposalCreationEvent.updateCurrentView(int nextViewIndex) = _UpdateCurrentView; const factory ProposalCreationEvent.updateProposal(Map updates) = _UpdateProposal; const factory ProposalCreationEvent.publishProposal() = _PublishProposal; diff --git a/lib/ui/proposals/creation/proposal_creation_page.dart b/lib/ui/proposals/creation/proposal_creation_page.dart index e5c9e24a..43ca6b31 100644 --- a/lib/ui/proposals/creation/proposal_creation_page.dart +++ b/lib/ui/proposals/creation/proposal_creation_page.dart @@ -80,7 +80,7 @@ class ProposalCreationPage extends StatelessWidget { ], ), const Spacer(), - ...List.generate(state.currentViewIndex == 4 ? 1 : 2, + ...List.generate(state.currentViewIndex == 2 ? 1 : 2, (index) { return GestureDetector( onTap: () { diff --git a/lib/ui/proposals/creation/usecases/publish_proposal_use_case.dart b/lib/ui/proposals/creation/usecases/publish_proposal_use_case.dart index 5fac4660..9ab91297 100644 --- a/lib/ui/proposals/creation/usecases/publish_proposal_use_case.dart +++ b/lib/ui/proposals/creation/usecases/publish_proposal_use_case.dart @@ -25,7 +25,6 @@ class PublishProposalUseCase extends InputUseCase, Pr final String daoContract = _remoteConfigService.daoContract(network: user.network); List> content = []; - print(input.details!.toMarkdown); switch (input.type) { case ProposalType.policy: @@ -58,7 +57,6 @@ class PublishProposalUseCase extends InputUseCase, Pr ..account = daoContract ..name = 'propose' ..data = { - // TODO(Zied): test after merging 'dao_id': input.dao!.docId, 'proposer': user.accountName, 'proposal_type': input.proposalTypeToString(), diff --git a/lib/ui/proposals/list/usecases/get_proposals_use_case.dart b/lib/ui/proposals/list/usecases/get_proposals_use_case.dart index 18709e1a..67f7e40b 100644 --- a/lib/ui/proposals/list/usecases/get_proposals_use_case.dart +++ b/lib/ui/proposals/list/usecases/get_proposals_use_case.dart @@ -1,5 +1,4 @@ import 'package:hypha_wallet/core/error_handler/model/hypha_error.dart'; -import 'package:hypha_wallet/core/network/models/dao_proposals_model.dart'; import 'package:hypha_wallet/core/network/models/proposal_model.dart'; import 'package:hypha_wallet/core/network/repository/auth_repository.dart'; import 'package:hypha_wallet/core/network/repository/proposal_repository.dart';