Skip to content

Support saved snippets #1391

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 6 commits into
base: main
Choose a base branch
from
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
Binary file modified assets/icons/ZulipIcons.ttf
Binary file not shown.
3 changes: 3 additions & 0 deletions assets/icons/message_square_text.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions assets/icons/plus.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
48 changes: 48 additions & 0 deletions assets/l10n/app_en.arb
Original file line number Diff line number Diff line change
Expand Up @@ -393,6 +393,54 @@
"@composeBoxAttachFromCameraTooltip": {
"description": "Tooltip for compose box icon to attach an image from the camera to the message."
},
"composeBoxShowSavedSnippetsTooltip": "Show saved snippets",
"@composeBoxShowSavedSnippetsTooltip": {
"description": "Tooltip for compose box icon to show a list of saved snippets."
},
"noSavedSnippets": "No saved snippets",
"@noSavedSnippets": {
"description": "Text to show on the saved snippets bottom sheet when there are no saved snippets."
},
"savedSnippetsTitle": "Saved snippets",
"@savedSnippetsTitle": {
"description": "Title for the bottom sheet to display saved snippets."
},
"newSavedSnippetButton": "New",
"@newSavedSnippetButton": {
"description": "Label for adding a new saved snippet."
},
"newSavedSnippetTitle": "New snippet",
"@newSavedSnippetTitle": {
"description": "Title for the bottom sheet to add a new saved snippet."
},
"newSavedSnippetTitleHint": "Title",
"@newSavedSnippetTitleHint": {
"description": "Hint text for the title input when adding a new saved snippet."
},
"newSavedSnippetContentHint": "Content",
"@newSavedSnippetContentHint": {
"description": "Hint text for the content input when adding a new saved snippet."
},
"errorFailedToCreateSavedSnippetTitle": "Failed to create saved snippet",
"@errorFailedToCreateSavedSnippetTitle": {
"description": "Error title when the saved snippet failed to be created."
},
"savedSnippetTitleValidationErrorEmpty": "Title cannot be empty.",
"@savedSnippetTitleValidationErrorEmpty": {
"description": "Validation error message when the title of the saved snippet is empty."
},
"savedSnippetTitleValidationErrorTooLong": "Title length shouldn't be greater than 60 characters.",
"@savedSnippetTitleValidationErrorTooLong": {
"description": "Validation error message when the title of the saved snippet is too long."
},
"savedSnippetContentValidationErrorEmpty": "Content cannot be empty.",
"@savedSnippetContentValidationErrorEmpty": {
"description": "Validation error message when the content of the saved snippet is empty."
},
"savedSnippetContentValidationErrorTooLong": "Content length shouldn't be greater than 10000 characters.",
"@savedSnippetContentValidationErrorTooLong": {
"description": "Validation error message when the content of the saved snippet is too long."
},
"composeBoxGenericContentHint": "Type a message",
"@composeBoxGenericContentHint": {
"description": "Hint text for content input when sending a message."
Expand Down
72 changes: 72 additions & 0 deletions lib/generated/l10n/zulip_localizations.dart
Original file line number Diff line number Diff line change
Expand Up @@ -655,6 +655,78 @@ abstract class ZulipLocalizations {
/// **'Take a photo'**
String get composeBoxAttachFromCameraTooltip;

/// Tooltip for compose box icon to show a list of saved snippets.
///
/// In en, this message translates to:
/// **'Show saved snippets'**
String get composeBoxShowSavedSnippetsTooltip;

/// Text to show on the saved snippets bottom sheet when there are no saved snippets.
///
/// In en, this message translates to:
/// **'No saved snippets'**
String get noSavedSnippets;

/// Title for the bottom sheet to display saved snippets.
///
/// In en, this message translates to:
/// **'Saved snippets'**
String get savedSnippetsTitle;

/// Label for adding a new saved snippet.
///
/// In en, this message translates to:
/// **'New'**
String get newSavedSnippetButton;

/// Title for the bottom sheet to add a new saved snippet.
///
/// In en, this message translates to:
/// **'New snippet'**
String get newSavedSnippetTitle;

/// Hint text for the title input when adding a new saved snippet.
///
/// In en, this message translates to:
/// **'Title'**
String get newSavedSnippetTitleHint;

/// Hint text for the content input when adding a new saved snippet.
///
/// In en, this message translates to:
/// **'Content'**
String get newSavedSnippetContentHint;

/// Error title when the saved snippet failed to be created.
///
/// In en, this message translates to:
/// **'Failed to create saved snippet'**
String get errorFailedToCreateSavedSnippetTitle;

/// Validation error message when the title of the saved snippet is empty.
///
/// In en, this message translates to:
/// **'Title cannot be empty.'**
String get savedSnippetTitleValidationErrorEmpty;

/// Validation error message when the title of the saved snippet is too long.
///
/// In en, this message translates to:
/// **'Title length shouldn\'t be greater than 60 characters.'**
String get savedSnippetTitleValidationErrorTooLong;

/// Validation error message when the content of the saved snippet is empty.
///
/// In en, this message translates to:
/// **'Content cannot be empty.'**
String get savedSnippetContentValidationErrorEmpty;

/// Validation error message when the content of the saved snippet is too long.
///
/// In en, this message translates to:
/// **'Content length shouldn\'t be greater than 10000 characters.'**
String get savedSnippetContentValidationErrorTooLong;

/// Hint text for content input when sending a message.
///
/// In en, this message translates to:
Expand Down
40 changes: 40 additions & 0 deletions lib/generated/l10n/zulip_localizations_ar.dart
Original file line number Diff line number Diff line change
Expand Up @@ -330,6 +330,46 @@ class ZulipLocalizationsAr extends ZulipLocalizations {
@override
String get composeBoxAttachFromCameraTooltip => 'Take a photo';

@override
String get composeBoxShowSavedSnippetsTooltip => 'Show saved snippets';

@override
String get noSavedSnippets => 'No saved snippets';

@override
String get savedSnippetsTitle => 'Saved snippets';

@override
String get newSavedSnippetButton => 'New';

@override
String get newSavedSnippetTitle => 'New snippet';

@override
String get newSavedSnippetTitleHint => 'Title';

@override
String get newSavedSnippetContentHint => 'Content';

@override
String get errorFailedToCreateSavedSnippetTitle =>
'Failed to create saved snippet';

@override
String get savedSnippetTitleValidationErrorEmpty => 'Title cannot be empty.';

@override
String get savedSnippetTitleValidationErrorTooLong =>
'Title length shouldn\'t be greater than 60 characters.';

@override
String get savedSnippetContentValidationErrorEmpty =>
'Content cannot be empty.';

@override
String get savedSnippetContentValidationErrorTooLong =>
'Content length shouldn\'t be greater than 10000 characters.';

@override
String get composeBoxGenericContentHint => 'Type a message';

Expand Down
40 changes: 40 additions & 0 deletions lib/generated/l10n/zulip_localizations_de.dart
Original file line number Diff line number Diff line change
Expand Up @@ -330,6 +330,46 @@ class ZulipLocalizationsDe extends ZulipLocalizations {
@override
String get composeBoxAttachFromCameraTooltip => 'Take a photo';

@override
String get composeBoxShowSavedSnippetsTooltip => 'Show saved snippets';

@override
String get noSavedSnippets => 'No saved snippets';

@override
String get savedSnippetsTitle => 'Saved snippets';

@override
String get newSavedSnippetButton => 'New';

@override
String get newSavedSnippetTitle => 'New snippet';

@override
String get newSavedSnippetTitleHint => 'Title';

@override
String get newSavedSnippetContentHint => 'Content';

@override
String get errorFailedToCreateSavedSnippetTitle =>
'Failed to create saved snippet';

@override
String get savedSnippetTitleValidationErrorEmpty => 'Title cannot be empty.';

@override
String get savedSnippetTitleValidationErrorTooLong =>
'Title length shouldn\'t be greater than 60 characters.';

@override
String get savedSnippetContentValidationErrorEmpty =>
'Content cannot be empty.';

@override
String get savedSnippetContentValidationErrorTooLong =>
'Content length shouldn\'t be greater than 10000 characters.';

@override
String get composeBoxGenericContentHint => 'Type a message';

Expand Down
40 changes: 40 additions & 0 deletions lib/generated/l10n/zulip_localizations_en.dart
Original file line number Diff line number Diff line change
Expand Up @@ -330,6 +330,46 @@ class ZulipLocalizationsEn extends ZulipLocalizations {
@override
String get composeBoxAttachFromCameraTooltip => 'Take a photo';

@override
String get composeBoxShowSavedSnippetsTooltip => 'Show saved snippets';

@override
String get noSavedSnippets => 'No saved snippets';

@override
String get savedSnippetsTitle => 'Saved snippets';

@override
String get newSavedSnippetButton => 'New';

@override
String get newSavedSnippetTitle => 'New snippet';

@override
String get newSavedSnippetTitleHint => 'Title';

@override
String get newSavedSnippetContentHint => 'Content';

@override
String get errorFailedToCreateSavedSnippetTitle =>
'Failed to create saved snippet';

@override
String get savedSnippetTitleValidationErrorEmpty => 'Title cannot be empty.';

@override
String get savedSnippetTitleValidationErrorTooLong =>
'Title length shouldn\'t be greater than 60 characters.';

@override
String get savedSnippetContentValidationErrorEmpty =>
'Content cannot be empty.';

@override
String get savedSnippetContentValidationErrorTooLong =>
'Content length shouldn\'t be greater than 10000 characters.';

@override
String get composeBoxGenericContentHint => 'Type a message';

Expand Down
40 changes: 40 additions & 0 deletions lib/generated/l10n/zulip_localizations_ja.dart
Original file line number Diff line number Diff line change
Expand Up @@ -330,6 +330,46 @@ class ZulipLocalizationsJa extends ZulipLocalizations {
@override
String get composeBoxAttachFromCameraTooltip => 'Take a photo';

@override
String get composeBoxShowSavedSnippetsTooltip => 'Show saved snippets';

@override
String get noSavedSnippets => 'No saved snippets';

@override
String get savedSnippetsTitle => 'Saved snippets';

@override
String get newSavedSnippetButton => 'New';

@override
String get newSavedSnippetTitle => 'New snippet';

@override
String get newSavedSnippetTitleHint => 'Title';

@override
String get newSavedSnippetContentHint => 'Content';

@override
String get errorFailedToCreateSavedSnippetTitle =>
'Failed to create saved snippet';

@override
String get savedSnippetTitleValidationErrorEmpty => 'Title cannot be empty.';

@override
String get savedSnippetTitleValidationErrorTooLong =>
'Title length shouldn\'t be greater than 60 characters.';

@override
String get savedSnippetContentValidationErrorEmpty =>
'Content cannot be empty.';

@override
String get savedSnippetContentValidationErrorTooLong =>
'Content length shouldn\'t be greater than 10000 characters.';

@override
String get composeBoxGenericContentHint => 'Type a message';

Expand Down
40 changes: 40 additions & 0 deletions lib/generated/l10n/zulip_localizations_nb.dart
Original file line number Diff line number Diff line change
Expand Up @@ -330,6 +330,46 @@ class ZulipLocalizationsNb extends ZulipLocalizations {
@override
String get composeBoxAttachFromCameraTooltip => 'Take a photo';

@override
String get composeBoxShowSavedSnippetsTooltip => 'Show saved snippets';

@override
String get noSavedSnippets => 'No saved snippets';

@override
String get savedSnippetsTitle => 'Saved snippets';

@override
String get newSavedSnippetButton => 'New';

@override
String get newSavedSnippetTitle => 'New snippet';

@override
String get newSavedSnippetTitleHint => 'Title';

@override
String get newSavedSnippetContentHint => 'Content';

@override
String get errorFailedToCreateSavedSnippetTitle =>
'Failed to create saved snippet';

@override
String get savedSnippetTitleValidationErrorEmpty => 'Title cannot be empty.';

@override
String get savedSnippetTitleValidationErrorTooLong =>
'Title length shouldn\'t be greater than 60 characters.';

@override
String get savedSnippetContentValidationErrorEmpty =>
'Content cannot be empty.';

@override
String get savedSnippetContentValidationErrorTooLong =>
'Content length shouldn\'t be greater than 10000 characters.';

@override
String get composeBoxGenericContentHint => 'Type a message';

Expand Down
Loading