Skip to content

Commit b407738

Browse files
author
chimnayajith
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 449f326 commit b407738

14 files changed

+641
-2
lines changed

assets/l10n/app_en.arb

+20
Original file line numberDiff line numberDiff line change
@@ -294,6 +294,26 @@
294294
"@composeBoxGenericContentHint": {
295295
"description": "Hint text for content input when sending a message."
296296
},
297+
"newDmSheetBackButtonLabel": "Back",
298+
"@newDmSheetBackButtonLabel": {
299+
"description": "Label for the back button in the new DM sheet, allowing the user to return to the previous screen."
300+
},
301+
"newDmSheetNextButtonLabel": "Next",
302+
"@newDmSheetNextButtonLabel": {
303+
"description": "Label for the front button in the new DM sheet, if applicable, for navigation or action."
304+
},
305+
"newDmSheetScreenTitle": "New DM",
306+
"@newDmSheetScreenTitle": {
307+
"description": "Title displayed at the top of the new DM screen."
308+
},
309+
"newDmFabButtonLabel": "New DM",
310+
"@newDmFabButtonLabel": {
311+
"description": "Label for the floating action button (FAB) that opens the new DM sheet."
312+
},
313+
"newDmSheetSearchHint": "Add person",
314+
"@newDmSheetSearchHint": {
315+
"description": "Hint text for the search bar in the new DM sheet, prompting the user to add people to the conversation."
316+
},
297317
"composeBoxDmContentHint": "Message @{user}",
298318
"@composeBoxDmContentHint": {
299319
"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
@@ -501,6 +501,36 @@ abstract class ZulipLocalizations {
501501
/// **'Type a message'**
502502
String get composeBoxGenericContentHint;
503503

504+
/// Label for the back button in the new DM sheet, allowing the user to return to the previous screen.
505+
///
506+
/// In en, this message translates to:
507+
/// **'Back'**
508+
String get newDmSheetBackButtonLabel;
509+
510+
/// Label for the front button in the new DM sheet, if applicable, for navigation or action.
511+
///
512+
/// In en, this message translates to:
513+
/// **'Next'**
514+
String get newDmSheetNextButtonLabel;
515+
516+
/// Title displayed at the top of the new DM screen.
517+
///
518+
/// In en, this message translates to:
519+
/// **'New DM'**
520+
String get newDmSheetScreenTitle;
521+
522+
/// Label for the floating action button (FAB) that opens the new DM sheet.
523+
///
524+
/// In en, this message translates to:
525+
/// **'New DM'**
526+
String get newDmFabButtonLabel;
527+
528+
/// Hint text for the search bar in the new DM sheet, prompting the user to add people to the conversation.
529+
///
530+
/// In en, this message translates to:
531+
/// **'Add person'**
532+
String get newDmSheetSearchHint;
533+
504534
/// Hint text for content input when sending a message to one other person.
505535
///
506536
/// In en, this message translates to:

lib/generated/l10n/zulip_localizations_ar.dart

+15
Original file line numberDiff line numberDiff line change
@@ -236,6 +236,21 @@ class ZulipLocalizationsAr extends ZulipLocalizations {
236236
@override
237237
String get composeBoxGenericContentHint => 'Type a message';
238238

239+
@override
240+
String get newDmSheetBackButtonLabel => 'Back';
241+
242+
@override
243+
String get newDmSheetNextButtonLabel => 'Next';
244+
245+
@override
246+
String get newDmSheetScreenTitle => 'New DM';
247+
248+
@override
249+
String get newDmFabButtonLabel => 'New DM';
250+
251+
@override
252+
String get newDmSheetSearchHint => 'Add person';
253+
239254
@override
240255
String composeBoxDmContentHint(String user) {
241256
return 'Message @$user';

lib/generated/l10n/zulip_localizations_en.dart

+15
Original file line numberDiff line numberDiff line change
@@ -236,6 +236,21 @@ class ZulipLocalizationsEn extends ZulipLocalizations {
236236
@override
237237
String get composeBoxGenericContentHint => 'Type a message';
238238

239+
@override
240+
String get newDmSheetBackButtonLabel => 'Back';
241+
242+
@override
243+
String get newDmSheetNextButtonLabel => 'Next';
244+
245+
@override
246+
String get newDmSheetScreenTitle => 'New DM';
247+
248+
@override
249+
String get newDmFabButtonLabel => 'New DM';
250+
251+
@override
252+
String get newDmSheetSearchHint => 'Add person';
253+
239254
@override
240255
String composeBoxDmContentHint(String user) {
241256
return 'Message @$user';

lib/generated/l10n/zulip_localizations_ja.dart

+15
Original file line numberDiff line numberDiff line change
@@ -236,6 +236,21 @@ class ZulipLocalizationsJa extends ZulipLocalizations {
236236
@override
237237
String get composeBoxGenericContentHint => 'Type a message';
238238

239+
@override
240+
String get newDmSheetBackButtonLabel => 'Back';
241+
242+
@override
243+
String get newDmSheetNextButtonLabel => 'Next';
244+
245+
@override
246+
String get newDmSheetScreenTitle => 'New DM';
247+
248+
@override
249+
String get newDmFabButtonLabel => 'New DM';
250+
251+
@override
252+
String get newDmSheetSearchHint => 'Add person';
253+
239254
@override
240255
String composeBoxDmContentHint(String user) {
241256
return 'Message @$user';

lib/generated/l10n/zulip_localizations_nb.dart

+15
Original file line numberDiff line numberDiff line change
@@ -236,6 +236,21 @@ class ZulipLocalizationsNb extends ZulipLocalizations {
236236
@override
237237
String get composeBoxGenericContentHint => 'Type a message';
238238

239+
@override
240+
String get newDmSheetBackButtonLabel => 'Back';
241+
242+
@override
243+
String get newDmSheetNextButtonLabel => 'Next';
244+
245+
@override
246+
String get newDmSheetScreenTitle => 'New DM';
247+
248+
@override
249+
String get newDmFabButtonLabel => 'New DM';
250+
251+
@override
252+
String get newDmSheetSearchHint => 'Add person';
253+
239254
@override
240255
String composeBoxDmContentHint(String user) {
241256
return 'Message @$user';

lib/generated/l10n/zulip_localizations_pl.dart

+15
Original file line numberDiff line numberDiff line change
@@ -236,6 +236,21 @@ class ZulipLocalizationsPl extends ZulipLocalizations {
236236
@override
237237
String get composeBoxGenericContentHint => 'Wpisz wiadomość';
238238

239+
@override
240+
String get newDmSheetBackButtonLabel => 'Back';
241+
242+
@override
243+
String get newDmSheetNextButtonLabel => 'Next';
244+
245+
@override
246+
String get newDmSheetScreenTitle => 'New DM';
247+
248+
@override
249+
String get newDmFabButtonLabel => 'New DM';
250+
251+
@override
252+
String get newDmSheetSearchHint => 'Add person';
253+
239254
@override
240255
String composeBoxDmContentHint(String user) {
241256
return 'Napisz do @$user';

lib/generated/l10n/zulip_localizations_ru.dart

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

239+
@override
240+
String get newDmSheetBackButtonLabel => 'Back';
241+
242+
@override
243+
String get newDmSheetNextButtonLabel => 'Next';
244+
245+
@override
246+
String get newDmSheetScreenTitle => 'New DM';
247+
248+
@override
249+
String get newDmFabButtonLabel => 'New DM';
250+
251+
@override
252+
String get newDmSheetSearchHint => 'Add person';
253+
239254
@override
240255
String composeBoxDmContentHint(String user) {
241256
return 'Сообщение для @$user';

lib/generated/l10n/zulip_localizations_sk.dart

+15
Original file line numberDiff line numberDiff line change
@@ -236,6 +236,21 @@ class ZulipLocalizationsSk extends ZulipLocalizations {
236236
@override
237237
String get composeBoxGenericContentHint => 'Type a message';
238238

239+
@override
240+
String get newDmSheetBackButtonLabel => 'Back';
241+
242+
@override
243+
String get newDmSheetNextButtonLabel => 'Next';
244+
245+
@override
246+
String get newDmSheetScreenTitle => 'New DM';
247+
248+
@override
249+
String get newDmFabButtonLabel => 'New DM';
250+
251+
@override
252+
String get newDmSheetSearchHint => 'Add person';
253+
239254
@override
240255
String composeBoxDmContentHint(String user) {
241256
return 'Message @$user';

0 commit comments

Comments
 (0)