Skip to content
Merged
Show file tree
Hide file tree
Changes from 6 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions catalyst_voices/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,10 @@ This repository contains the Catalyst Voices app and packages.
* [Running Code Generation](#running-code-generation)
* [Code Generation](#code-generation)
*[Running Code Generation](#running-code-generation)
* [Basic Generation](#basic-generation)
* [Basic Generation](#basic-generation)
*[Local Saving](#local-saving)
* [GitHub Token / PAT Setup](#github-token--pat-setup)
* [Security Notes](#security-notes)
* [GitHub Token / PAT Setup](#github-token--pat-setup)
* [Security Notes](#security-notes)
* [Running Tests](#running-tests)

## Requirements
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -130,11 +130,11 @@ final class Dependencies extends DependencyProvider {
)
..registerFactory<WorkspaceBloc>(() {
return WorkspaceBloc(
get<UserService>(),
get<CampaignService>(),
get<ProposalService>(),
get<DocumentMapper>(),
get<DownloaderService>(),
get<UserService>(),
);
})
..registerFactory<ProposalBuilderBloc>(() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ class _Error extends StatelessWidget {
padding: const EdgeInsets.only(top: 60),
child: VoicesErrorIndicator(
message: error?.message(context) ?? const LocalizedUnknownException().message(context),
onRetry: () => context.read<WorkspaceBloc>().add(const WatchUserProposalsEvent()),
onRetry: () => context.read<WorkspaceBloc>().add(const ChangeWorkspaceFilters()),
),
);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import 'package:catalyst_voices/widgets/containers/grey_out_container.dart';
import 'package:catalyst_voices/widgets/widgets.dart';
import 'package:catalyst_voices_blocs/catalyst_voices_blocs.dart';
import 'package:catalyst_voices_models/catalyst_voices_models.dart';
import 'package:catalyst_voices_view_models/catalyst_voices_view_models.dart';
import 'package:flutter/material.dart';

class SpacesListView extends StatefulWidget {
Expand Down Expand Up @@ -73,6 +74,11 @@ class _SpacesListViewState extends State<SpacesListView> {
@override
void initState() {
super.initState();
context.read<WorkspaceBloc>().add(const WatchUserProposalsEvent());
context.read<WorkspaceBloc>().add(
const ChangeWorkspaceFilters(
filters: WorkspaceFilters.allProposals,
tab: WorkspacePageTab.proposals,
),
);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ class _WorkspaceError extends StatelessWidget {
child: VoicesErrorIndicator(
message: message,
onRetry: () {
const event = WatchUserProposalsEvent();
const event = ChangeWorkspaceFilters();
context.read<WorkspaceBloc>().add(event);
},
),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,9 @@ class _WorkspacePageState extends State<WorkspacePage>

if (widget.tab != oldWidget.tab) {
_tabController.animateToTab(tab);
context.read<WorkspaceBloc>().add(
ChangeWorkspaceFilters(tab: tab),
);
}
}

Expand Down Expand Up @@ -113,20 +116,23 @@ class _WorkspacePageState extends State<WorkspacePage>
@override
void initState() {
super.initState();
final bloc = context.read<WorkspaceBloc>();
// ignore: cascade_invocations
bloc
..add(const WatchUserCatalystIdEvent())
..add(const WatchUserProposalsEvent())
..add(const GetTimelineItemsEvent());

final selectedTab = _determineTab(widget.tab);

_tabController = VoicesTabController(
initialTab: selectedTab,
tabs: WorkspacePageTab.values,
vsync: this,
);

_tabController.addListener(() {
context.read<WorkspaceBloc>().add(
ChangeWorkspaceFilters(tab: _tabController.tab),
);
});

context.read<WorkspaceBloc>()
..add(InitWorkspaceEvent(tab: selectedTab))
..add(const GetTimelineItemsEvent());
}

WorkspacePageTab _determineTab(WorkspacePageTab? initialTab) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import 'package:catalyst_voices/common/ext/build_context_ext.dart';
import 'package:catalyst_voices/pages/workspace/widgets/user_proposals/user_proposal_section.dart';
import 'package:catalyst_voices/widgets/empty_state/empty_state.dart';
import 'package:catalyst_voices/widgets/images/voices_image_scheme.dart';
import 'package:catalyst_voices_assets/catalyst_voices_assets.dart';
Expand All @@ -12,9 +13,9 @@ class UserProposalInvitesSection extends StatelessWidget {

@override
Widget build(BuildContext context) {
return BlocSelector<WorkspaceBloc, WorkspaceState, UserProposalInvites>(
return BlocSelector<WorkspaceBloc, WorkspaceState, UserProposalsView>(
selector: (state) {
return state.userProposalInvites.pendingInvites;
return state.userProposalInvites.userProposalInvites;
},
builder: (context, invites) {
return _PendingProposalInvites(invites: invites);
Expand Down Expand Up @@ -47,7 +48,7 @@ class _EmptyProposalInvites extends StatelessWidget {
}

class _PendingProposalInvites extends StatelessWidget {
final UserProposalInvites invites;
final UserProposalsView invites;

const _PendingProposalInvites({required this.invites});

Expand All @@ -57,14 +58,12 @@ class _PendingProposalInvites extends StatelessWidget {
return const _EmptyProposalInvites();
}

return SliverList.builder(
itemCount: invites.items.length,
itemBuilder: (context, index) {
// final item = invites.items[index];

// TODO(LynxLynxx): Return invite widget
return const Text('');
},
// TODO(LynxLynxx): Update this to proper Invites section
return UserProposalSection(
items: invites.items,
emptyTextMessage: '',
title: context.l10n.notActiveCampaign,
info: context.l10n.notActiveCampaignInfoMarkdown,
);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ class _WorkspaceProposalFilters extends StatelessWidget {
}

void _changeFilter(BuildContext context, WorkspaceFilters filter) {
context.read<WorkspaceBloc>().add(ChangeWorkspaceFilters(filter));
context.read<WorkspaceBloc>().add(ChangeWorkspaceFilters(filters: filter));
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ class _TabText extends StatelessWidget {
@override
Widget build(BuildContext context) {
return BlocSelector<WorkspaceBloc, WorkspaceState, int>(
selector: (state) => state.proposalInvitesCount.ofType(tab),
selector: (state) => state.count[tab] ?? 0,
builder: (context, count) => VoicesTabText(tab.noOf(context, count: count)),
);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ void main() {
updateDate: DateTime.now(),
fundsRequested: Money.zero(currency: Currencies.ada),
publish: ProposalPublish.publishedDraft,
iteration: 3,
versions: [
ProposalVersionViewModel(
publish: ProposalPublish.localDraft,
Expand Down Expand Up @@ -61,7 +62,6 @@ void main() {
fundNumber: 14,
commentsCount: 0,
category: 'Cardano Use Cases: Concept',
categoryId: SignedDocumentRef.generateFirstRef(),
fromActiveCampaign: true,
);
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -352,13 +352,11 @@ final class ProposalBuilderBloc extends Bloc<ProposalBuilderEvent, ProposalBuild
ProposalBuilderEvent event,
Emitter<ProposalBuilderState> emit,
) async {
final categoryId = state.metadata.categoryId;
final proposalRef = state.metadata.documentRef;
final proposalId = state.metadata.documentRef;
try {
emit(state.copyWith(isChanging: true));
await _proposalService.forgetProposal(
proposalRef: proposalRef! as SignedDocumentRef,
categoryId: categoryId!,
proposalId: proposalId! as SignedDocumentRef,
);
unawaited(_clearCache());
emitSignal(const ForgotProposalSuccessBuilderSignal());
Expand Down Expand Up @@ -727,32 +725,32 @@ final class ProposalBuilderBloc extends Bloc<ProposalBuilderEvent, ProposalBuild
Future<void> _publishAndSubmitProposalForReview(
Emitter<ProposalBuilderState> emit,
) async {
final currentRef = state.metadata.documentRef!;
final updatedRef = await _proposalService.publishProposal(
final currentId = state.metadata.documentRef!;
final updatedId = await _proposalService.publishProposal(
document: _buildDocumentData(),
);

List<DocumentVersion>? updatedVersions;
if (updatedRef != currentRef) {
if (updatedId != currentId) {
// if a new ref has been created we need to recreate
// the version history to reflect it, drop the old one
// because the new one overrode it
updatedVersions = _recreateDocumentVersionsWithNewRef(
newRef: updatedRef,
removedRef: currentRef,
newRef: updatedId,
removedRef: currentId,
);
}

_updateMetadata(
emit,
documentRef: updatedRef,
originalDocumentRef: updatedRef,
documentRef: updatedId,
originalDocumentRef: updatedId,
publish: ProposalPublish.publishedDraft,
versions: updatedVersions,
);

await _proposalService.submitProposalForReview(
proposalRef: updatedRef,
proposalId: updatedId,
categoryId: state.metadata.categoryId!,
);

Expand Down Expand Up @@ -1127,7 +1125,7 @@ final class ProposalBuilderBloc extends Bloc<ProposalBuilderEvent, ProposalBuild
Emitter<ProposalBuilderState> emit,
) async {
await _proposalService.submitProposalForReview(
proposalRef: state.metadata.documentRef! as SignedDocumentRef,
proposalId: state.metadata.documentRef! as SignedDocumentRef,
categoryId: state.metadata.categoryId!,
);

Expand All @@ -1140,12 +1138,10 @@ final class ProposalBuilderBloc extends Bloc<ProposalBuilderEvent, ProposalBuild
Emitter<ProposalBuilderState> emit,
) async {
try {
final proposalRef = state.metadata.documentRef! as SignedDocumentRef;
final categoryId = state.metadata.categoryId!;
final proposalId = state.metadata.documentRef! as SignedDocumentRef;
emit(state.copyWith(isChanging: true));
await _proposalService.unlockProposal(
proposalRef: proposalRef,
categoryId: categoryId,
proposalId: proposalId,
);
final stateMetadata = state.metadata.copyWith(publish: ProposalPublish.publishedDraft);
_cache = _cache.copyWith(proposalMetadata: Optional(stateMetadata));
Expand Down
Loading