Skip to content

Commit e033db5

Browse files
committed
new_dm: Add UI for starting new DM conversations
Add a modal bottom sheet UI for starting direct messages: - Search and select users from global list - Support single and group DMs - Navigate to message list after selection Design reference: https://www.figma.com/design/1JTNtYo9memgW7vV6d0ygq/Zulip-Mobile?node-id=4903-31879&p=f&t=pQP4QcxpccllCF7g-0 Fixes: #127
1 parent 3217396 commit e033db5

14 files changed

+710
-2
lines changed

assets/l10n/app_en.arb

+20
Original file line numberDiff line numberDiff line change
@@ -333,6 +333,26 @@
333333
"@composeBoxGenericContentHint": {
334334
"description": "Hint text for content input when sending a message."
335335
},
336+
"newDmSheetBackButtonLabel": "Back",
337+
"@newDmSheetBackButtonLabel": {
338+
"description": "Label for the back button in the new DM sheet, allowing the user to return to the previous screen."
339+
},
340+
"newDmSheetNextButtonLabel": "Next",
341+
"@newDmSheetNextButtonLabel": {
342+
"description": "Label for the front button in the new DM sheet, if applicable, for navigation or action."
343+
},
344+
"newDmSheetScreenTitle": "New DM",
345+
"@newDmSheetScreenTitle": {
346+
"description": "Title displayed at the top of the new DM screen."
347+
},
348+
"newDmFabButtonLabel": "New DM",
349+
"@newDmFabButtonLabel": {
350+
"description": "Label for the floating action button (FAB) that opens the new DM sheet."
351+
},
352+
"newDmSheetSearchHint": "Add person",
353+
"@newDmSheetSearchHint": {
354+
"description": "Hint text for the search bar in the new DM sheet, prompting the user to add people to the conversation."
355+
},
336356
"composeBoxDmContentHint": "Message @{user}",
337357
"@composeBoxDmContentHint": {
338358
"description": "Hint text for content input when sending a message to one other person.",

lib/generated/l10n/zulip_localizations.dart

+30
Original file line numberDiff line numberDiff line change
@@ -549,6 +549,36 @@ abstract class ZulipLocalizations {
549549
/// **'Type a message'**
550550
String get composeBoxGenericContentHint;
551551

552+
/// Label for the back button in the new DM sheet, allowing the user to return to the previous screen.
553+
///
554+
/// In en, this message translates to:
555+
/// **'Back'**
556+
String get newDmSheetBackButtonLabel;
557+
558+
/// Label for the front button in the new DM sheet, if applicable, for navigation or action.
559+
///
560+
/// In en, this message translates to:
561+
/// **'Next'**
562+
String get newDmSheetNextButtonLabel;
563+
564+
/// Title displayed at the top of the new DM screen.
565+
///
566+
/// In en, this message translates to:
567+
/// **'New DM'**
568+
String get newDmSheetScreenTitle;
569+
570+
/// Label for the floating action button (FAB) that opens the new DM sheet.
571+
///
572+
/// In en, this message translates to:
573+
/// **'New DM'**
574+
String get newDmFabButtonLabel;
575+
576+
/// Hint text for the search bar in the new DM sheet, prompting the user to add people to the conversation.
577+
///
578+
/// In en, this message translates to:
579+
/// **'Add person'**
580+
String get newDmSheetSearchHint;
581+
552582
/// Hint text for content input when sending a message to one other person.
553583
///
554584
/// In en, this message translates to:

lib/generated/l10n/zulip_localizations_ar.dart

+15
Original file line numberDiff line numberDiff line change
@@ -264,6 +264,21 @@ class ZulipLocalizationsAr extends ZulipLocalizations {
264264
@override
265265
String get composeBoxGenericContentHint => 'Type a message';
266266

267+
@override
268+
String get newDmSheetBackButtonLabel => 'Back';
269+
270+
@override
271+
String get newDmSheetNextButtonLabel => 'Next';
272+
273+
@override
274+
String get newDmSheetScreenTitle => 'New DM';
275+
276+
@override
277+
String get newDmFabButtonLabel => 'New DM';
278+
279+
@override
280+
String get newDmSheetSearchHint => 'Add person';
281+
267282
@override
268283
String composeBoxDmContentHint(String user) {
269284
return 'Message @$user';

lib/generated/l10n/zulip_localizations_en.dart

+15
Original file line numberDiff line numberDiff line change
@@ -264,6 +264,21 @@ class ZulipLocalizationsEn extends ZulipLocalizations {
264264
@override
265265
String get composeBoxGenericContentHint => 'Type a message';
266266

267+
@override
268+
String get newDmSheetBackButtonLabel => 'Back';
269+
270+
@override
271+
String get newDmSheetNextButtonLabel => 'Next';
272+
273+
@override
274+
String get newDmSheetScreenTitle => 'New DM';
275+
276+
@override
277+
String get newDmFabButtonLabel => 'New DM';
278+
279+
@override
280+
String get newDmSheetSearchHint => 'Add person';
281+
267282
@override
268283
String composeBoxDmContentHint(String user) {
269284
return 'Message @$user';

lib/generated/l10n/zulip_localizations_ja.dart

+15
Original file line numberDiff line numberDiff line change
@@ -264,6 +264,21 @@ class ZulipLocalizationsJa extends ZulipLocalizations {
264264
@override
265265
String get composeBoxGenericContentHint => 'Type a message';
266266

267+
@override
268+
String get newDmSheetBackButtonLabel => 'Back';
269+
270+
@override
271+
String get newDmSheetNextButtonLabel => 'Next';
272+
273+
@override
274+
String get newDmSheetScreenTitle => 'New DM';
275+
276+
@override
277+
String get newDmFabButtonLabel => 'New DM';
278+
279+
@override
280+
String get newDmSheetSearchHint => 'Add person';
281+
267282
@override
268283
String composeBoxDmContentHint(String user) {
269284
return 'Message @$user';

lib/generated/l10n/zulip_localizations_nb.dart

+15
Original file line numberDiff line numberDiff line change
@@ -264,6 +264,21 @@ class ZulipLocalizationsNb extends ZulipLocalizations {
264264
@override
265265
String get composeBoxGenericContentHint => 'Type a message';
266266

267+
@override
268+
String get newDmSheetBackButtonLabel => 'Back';
269+
270+
@override
271+
String get newDmSheetNextButtonLabel => 'Next';
272+
273+
@override
274+
String get newDmSheetScreenTitle => 'New DM';
275+
276+
@override
277+
String get newDmFabButtonLabel => 'New DM';
278+
279+
@override
280+
String get newDmSheetSearchHint => 'Add person';
281+
267282
@override
268283
String composeBoxDmContentHint(String user) {
269284
return 'Message @$user';

lib/generated/l10n/zulip_localizations_pl.dart

+15
Original file line numberDiff line numberDiff line change
@@ -264,6 +264,21 @@ class ZulipLocalizationsPl extends ZulipLocalizations {
264264
@override
265265
String get composeBoxGenericContentHint => 'Wpisz wiadomość';
266266

267+
@override
268+
String get newDmSheetBackButtonLabel => 'Back';
269+
270+
@override
271+
String get newDmSheetNextButtonLabel => 'Next';
272+
273+
@override
274+
String get newDmSheetScreenTitle => 'New DM';
275+
276+
@override
277+
String get newDmFabButtonLabel => 'New DM';
278+
279+
@override
280+
String get newDmSheetSearchHint => 'Add person';
281+
267282
@override
268283
String composeBoxDmContentHint(String user) {
269284
return 'Napisz do @$user';

lib/generated/l10n/zulip_localizations_ru.dart

+15
Original file line numberDiff line numberDiff line change
@@ -264,6 +264,21 @@ class ZulipLocalizationsRu extends ZulipLocalizations {
264264
@override
265265
String get composeBoxGenericContentHint => 'Ввести сообщение';
266266

267+
@override
268+
String get newDmSheetBackButtonLabel => 'Back';
269+
270+
@override
271+
String get newDmSheetNextButtonLabel => 'Next';
272+
273+
@override
274+
String get newDmSheetScreenTitle => 'New DM';
275+
276+
@override
277+
String get newDmFabButtonLabel => 'New DM';
278+
279+
@override
280+
String get newDmSheetSearchHint => 'Add person';
281+
267282
@override
268283
String composeBoxDmContentHint(String user) {
269284
return 'Сообщение для @$user';

lib/generated/l10n/zulip_localizations_sk.dart

+15
Original file line numberDiff line numberDiff line change
@@ -264,6 +264,21 @@ class ZulipLocalizationsSk extends ZulipLocalizations {
264264
@override
265265
String get composeBoxGenericContentHint => 'Type a message';
266266

267+
@override
268+
String get newDmSheetBackButtonLabel => 'Back';
269+
270+
@override
271+
String get newDmSheetNextButtonLabel => 'Next';
272+
273+
@override
274+
String get newDmSheetScreenTitle => 'New DM';
275+
276+
@override
277+
String get newDmFabButtonLabel => 'New DM';
278+
279+
@override
280+
String get newDmSheetSearchHint => 'Add person';
281+
267282
@override
268283
String composeBoxDmContentHint(String user) {
269284
return 'Message @$user';

0 commit comments

Comments
 (0)