Skip to content
Open
Show file tree
Hide file tree
Changes from all 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
1 change: 1 addition & 0 deletions .config/dictionaries/project.dic
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,7 @@ collabs
commitlog
concatcp
configureondemand
coproposer
coproposers
COSE
coti
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@ class _Username extends StatelessWidget {
spacing: 8,
children: [
Text(
catalystId.username ?? context.l10n.anonymousUsername,
catalystId.getDisplayName(context),
style: Theme.of(context).textTheme.titleSmall?.copyWith(
color: status.labelColor(context),
),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -335,6 +335,7 @@ class _ProposalBuilderBodyState extends State<_ProposalBuilderBody>
proposalTitle: signal.proposalTitle ?? context.l10n.proposalEditorStatusDropdownViewTitle,
currentIteration: signal.currentIteration,
nextIteration: signal.nextIteration,
showCollaboratorsInfo: signal.hasCollaborators,
) ??
false;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
import 'dart:async';

import 'package:catalyst_voices/common/ext/build_context_ext.dart';
import 'package:catalyst_voices/pages/co_proposers/widgets/add_collaborator/add_collaborator_dialog.dart';
import 'package:catalyst_voices/pages/proposal_builder/tiles/proposal_builder_comment_tile.dart';
import 'package:catalyst_voices/widgets/comment/proposal_add_comment_tile.dart';
import 'package:catalyst_voices/widgets/comment/proposal_comments_header_tile.dart';
import 'package:catalyst_voices/widgets/common/semantics/combine_semantics.dart';
import 'package:catalyst_voices/widgets/list/category_requirements_list.dart';
import 'package:catalyst_voices/widgets/modals/proposals/category_brief_dialog.dart';
import 'package:catalyst_voices/widgets/tiles/specialized/document_builder_section_tile_controller.dart';
Expand All @@ -18,16 +20,27 @@ import 'package:catalyst_voices_view_models/catalyst_voices_view_models.dart';
import 'package:flutter/material.dart';
import 'package:scrollable_positioned_list/scrollable_positioned_list.dart';

part 'proposal_builder_action_widgets.dart';
part 'proposal_builder_document_widgets.dart';
part 'widgets/proposal_builder_category_action.dart';
part 'widgets/proposal_builder_collaborators_action.dart';
part 'widgets/proposal_builder_document_category.dart';
part 'widgets/proposal_builder_document_collaborators.dart';

final DocumentPropertyActionOverrides _widgetActionOverrides = {
ProposalDocument.categoryDetailsNodeId: const _CategoryDetailsAction(),
ProposalDocument.categoryDetailsNodeId: (_, _, _) => const _CategoryDetailsAction(),
ProposalDocument.collaboratorsNodeId: (_, isEditMode, onEditableChanged) =>
_CollaboratorsDetailsAction(
isEditMode: isEditMode,
onChanged: onEditableChanged,
),
};

final DocumentPropertyBuilderOverrides _widgetOverrides = {
ProposalDocument.categoryDetailsNodeId: (context, property) =>
_CategoryDetails(property: property),
ProposalDocument.categoryDetailsNodeId: (_, property, _) => _CategoryDetails(property: property),
ProposalDocument.collaboratorsNodeId: (_, _, collaboratorsSectionData) =>
_CollaboratorsDetailsSelector(
collaboratorsSectionData: collaboratorsSectionData,
maxCollaborators: ProposalDocument.maxCollaboratorsPerProposal,
),
};

class ProposalBuilderSegmentsSelector extends StatelessWidget {
Expand Down Expand Up @@ -97,6 +110,10 @@ class _DocumentSection extends StatelessWidget {
final event = SectionChangedEvent(changes: value);
context.read<ProposalBuilderBloc>().add(event);
},
onCollaboratorsChanged: (collaborators) {
final event = UpdateCollaboratorsEvent(collaborators: collaborators);
context.read<ProposalBuilderBloc>().add(event);
},
actionOverrides: _widgetActionOverrides,
overrides: _widgetOverrides,
),
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
part of 'proposal_builder_segments.dart';
part of '../proposal_builder_segments.dart';

class _CategoryDetailsAction extends StatelessWidget {
const _CategoryDetailsAction();
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
part of '../proposal_builder_segments.dart';

class _CollaboratorsDetailsAction extends StatelessWidget {
final bool isEditMode;
final ValueChanged<EditableTileChange> onChanged;

const _CollaboratorsDetailsAction({
required this.isEditMode,
required this.onChanged,
});

@override
Widget build(BuildContext context) {
return CombineSemantics(
identifier: 'EditableTileEditCancelButton',
child: VoicesEditCancelButton(
key: const Key('EditableTileEditCancelButton'),
style: VoicesEditCancelButtonStyle.outlinedWithIcon,
onTap: () {
final change = (
isEditMode: !isEditMode,
source: EditableTileChangeSource.cancel,
);
onChanged(change);
},
isEditing: isEditMode,
),
);
}
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
part of 'proposal_builder_segments.dart';
part of '../proposal_builder_segments.dart';

class _CategoryDetails extends StatelessWidget {
final DocumentProperty property;
Expand Down
Loading