diff --git a/lib/pages/space_management_v2/modules/duplicate_space/presentation/views/duplicate_space_dialog.dart b/lib/pages/space_management_v2/modules/duplicate_space/presentation/views/duplicate_space_dialog.dart index dcda4a58..2083bf62 100644 --- a/lib/pages/space_management_v2/modules/duplicate_space/presentation/views/duplicate_space_dialog.dart +++ b/lib/pages/space_management_v2/modules/duplicate_space/presentation/views/duplicate_space_dialog.dart @@ -31,6 +31,7 @@ class DuplicateSpaceDialog extends StatelessWidget { child: BlocListener( listener: _listener, child: DuplicateSpaceDialogForm( + initialNameSuffix: '(1)', initialName: initialName, selectedSpaceUuid: selectedSpaceUuid, selectedCommunityUuid: selectedCommunityUuid, diff --git a/lib/pages/space_management_v2/modules/duplicate_space/presentation/widgets/duplicate_space_dialog_form.dart b/lib/pages/space_management_v2/modules/duplicate_space/presentation/widgets/duplicate_space_dialog_form.dart index 7f4ec966..bac1cecd 100644 --- a/lib/pages/space_management_v2/modules/duplicate_space/presentation/widgets/duplicate_space_dialog_form.dart +++ b/lib/pages/space_management_v2/modules/duplicate_space/presentation/widgets/duplicate_space_dialog_form.dart @@ -3,18 +3,22 @@ import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:syncrow_web/pages/space_management_v2/modules/duplicate_space/domain/params/duplicate_space_param.dart'; import 'package:syncrow_web/pages/space_management_v2/modules/duplicate_space/presentation/bloc/duplicate_space_bloc.dart'; import 'package:syncrow_web/pages/space_management_v2/modules/duplicate_space/presentation/widgets/duplicate_space_text_field.dart'; +import 'package:syncrow_web/pages/space_management_v2/modules/space_details/presentation/widgets/space_details_action_buttons.dart'; +import 'package:syncrow_web/utils/color_manager.dart'; class DuplicateSpaceDialogForm extends StatefulWidget { const DuplicateSpaceDialogForm({ required this.initialName, required this.selectedSpaceUuid, required this.selectedCommunityUuid, + required this.initialNameSuffix, super.key, }); final String initialName; final String selectedSpaceUuid; final String selectedCommunityUuid; + final String initialNameSuffix; @override State createState() => _DuplicateSpaceDialogFormState(); @@ -27,7 +31,9 @@ class _DuplicateSpaceDialogFormState extends State { @override void initState() { super.initState(); - _nameController = TextEditingController(text: '${widget.initialName}(1)'); + _nameController = TextEditingController( + text: '${widget.initialName}${widget.initialNameSuffix}', + ); _nameController.addListener(_validateName); } @@ -44,9 +50,17 @@ class _DuplicateSpaceDialogFormState extends State { @override Widget build(BuildContext context) { return AlertDialog( - title: const SelectableText('Duplicate Space'), + title: const SelectableText( + 'Duplicate Space', + style: TextStyle( + fontSize: 30, + fontWeight: FontWeight.w400, + color: ColorsManager.blackColor, + ), + ), content: Column( mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, spacing: 16, children: [ const SelectableText('Enter a new name for the duplicated space:'), @@ -58,13 +72,11 @@ class _DuplicateSpaceDialogFormState extends State { ], ), actions: [ - TextButton( - onPressed: Navigator.of(context).pop, - child: const Text('Cancel'), - ), - TextButton( - onPressed: _isNameValid ? () => _submit(context) : null, - child: const Text('Duplicate'), + SpaceDetailsActionButtons( + spacerFlex: 2, + onSave: _isNameValid ? () => _submit(context) : null, + onCancel: Navigator.of(context).pop, + saveButtonLabel: 'Duplicate', ), ], ); diff --git a/lib/pages/space_management_v2/modules/duplicate_space/presentation/widgets/duplicate_space_text_field.dart b/lib/pages/space_management_v2/modules/duplicate_space/presentation/widgets/duplicate_space_text_field.dart index 19b0201a..828e72f0 100644 --- a/lib/pages/space_management_v2/modules/duplicate_space/presentation/widgets/duplicate_space_text_field.dart +++ b/lib/pages/space_management_v2/modules/duplicate_space/presentation/widgets/duplicate_space_text_field.dart @@ -24,9 +24,10 @@ class DuplicateSpaceTextField extends StatelessWidget { color: ColorsManager.blackColor, ), decoration: InputDecoration( - label: const Text('Space Name'), - border: _border(), - enabledBorder: _border(), + filled: true, + fillColor: ColorsManager.boxColor, + border: _border(ColorsManager.transparentColor), + enabledBorder: _border(ColorsManager.transparentColor), focusedBorder: _border(ColorsManager.primaryColor), errorBorder: _border(context.theme.colorScheme.error), focusedErrorBorder: _border(context.theme.colorScheme.error), @@ -41,7 +42,7 @@ class DuplicateSpaceTextField extends StatelessWidget { OutlineInputBorder _border([Color? color]) { return OutlineInputBorder( - borderRadius: BorderRadius.circular(16), + borderRadius: BorderRadius.circular(8), borderSide: BorderSide( color: color ?? ColorsManager.blackColor, width: 0.5,