Merge pull request #13084 from annando/emojipicker

The Emojipicker is added to Frio for new posts
This commit is contained in:
Hypolite Petovan 2023-05-04 11:30:58 -04:00 committed by GitHub
commit 9686eb9fb0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
14 changed files with 8474 additions and 117 deletions

View File

@ -365,6 +365,7 @@ class Conversation
'$editalic' => $this->l10n->t('Italic'), '$editalic' => $this->l10n->t('Italic'),
'$eduline' => $this->l10n->t('Underline'), '$eduline' => $this->l10n->t('Underline'),
'$edquote' => $this->l10n->t('Quote'), '$edquote' => $this->l10n->t('Quote'),
'$edemojis' => $this->l10n->t('Add emojis'),
'$edcode' => $this->l10n->t('Code'), '$edcode' => $this->l10n->t('Code'),
'$edimg' => $this->l10n->t('Image'), '$edimg' => $this->l10n->t('Image'),
'$edurl' => $this->l10n->t('Link'), '$edurl' => $this->l10n->t('Link'),

View File

@ -172,6 +172,7 @@ class Edit extends BaseModule
'$editalic' => $this->t('Italic'), '$editalic' => $this->t('Italic'),
'$eduline' => $this->t('Underline'), '$eduline' => $this->t('Underline'),
'$edquote' => $this->t('Quote'), '$edquote' => $this->t('Quote'),
'$edemojis' => $this->t('Add emojis'),
'$edcode' => $this->t('Code'), '$edcode' => $this->t('Code'),
'$edurl' => $this->t('Link'), '$edurl' => $this->t('Link'),
'$edattach' => $this->t('Link or Media'), '$edattach' => $this->t('Link or Media'),

View File

@ -1066,6 +1066,7 @@ class Post
'$editalic' => DI::l10n()->t('Italic'), '$editalic' => DI::l10n()->t('Italic'),
'$eduline' => DI::l10n()->t('Underline'), '$eduline' => DI::l10n()->t('Underline'),
'$edquote' => DI::l10n()->t('Quote'), '$edquote' => DI::l10n()->t('Quote'),
'$edemojis' => DI::l10n()->t('Add emojis'),
'$edcode' => DI::l10n()->t('Code'), '$edcode' => DI::l10n()->t('Code'),
'$edimg' => DI::l10n()->t('Image'), '$edimg' => DI::l10n()->t('Image'),
'$edurl' => DI::l10n()->t('Link'), '$edurl' => DI::l10n()->t('Link'),

View File

@ -0,0 +1,21 @@
MIT License
Copyright (c) 2022 woody180
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@ -0,0 +1,39 @@
# FG Emoji Picker - Emoji picker created with vanilla javascript
This is the simplest to use emoji picker built with vanilla javascript.
![](./screenshot.png "Vanilla Javascript Emoji Picker")
## Benefits:
- It is only one .js file without css or other files
- There is no jQuery or other libraries
- Simplicity of usage
- Multiple textareas and triggers
- Draggable emoji picker container
## Initialize
Initialze plugin with ```new EmojiPicker({});```
## Options
- Trigger - must be an array of objects. Inside object there are two properties. First is selector, and second - **insertInto** method to define where emoji going to be inserted. If there are multiple 'textarea's - you can provide array of selectors as well. Watch example below.
- Close button - **closeButton** method can be true of false depending on whether you want close button on emoji picker or not.
- specialButtons - takes color code to change special (move and close) button colors.
```
new EmojiPicker({
trigger: [
{
selector: '.first-btn',
insertInto: ['.one', '.two'] // If there is only one '.selector', than it can be used without array
},
{
selector: '.second-btn',
insertInto: '.two'
}
],
closeButton: true,
specialButtons: 'green' // #008000, rgba(0, 128, 0);
});
```

View File

@ -0,0 +1,59 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- UIkit CSS -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/uikit@3.9.4/dist/css/uikit.min.css" />
<!-- UIkit JS -->
<script src="https://cdn.jsdelivr.net/npm/uikit@3.9.4/dist/js/uikit.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/uikit@3.9.4/dist/js/uikit-icons.min.js"></script>
<style>
html, body {
width: 100%;
height: 100%;
}
</style>
<title>Document</title>
</head>
<body>
<div class="uk-container uk-container-small uk-section">
<div class="uk-margin-large">
<textarea name="" class="one uk-textarea uk-margin uk-height-medium">Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.</textarea>
<button class="first-btn uk-button uk-button-primary">Start picker</button>
</div>
<div>
<textarea name="" class="two uk-textarea uk-margin"></textarea>
<button class="second-btn uk-button uk-button-primary">Start picker</button>
</div>
</div>
<script src="vanillaEmojiPicker.js"></script>
<script>
new EmojiPicker({
trigger: [
{
selector: '.first-btn',
insertInto: ['.one', '.two'] // '.selector' can be used without array
},
{
selector: '.second-btn',
insertInto: '.two'
}
],
closeButton: true,
//specialButtons: green
});
</script>
</body>
</html>

View File

@ -0,0 +1,47 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style>
html, body {
width: 100%;
height: 100%;
}
</style>
<title>Document</title>
</head>
<body>
<div>
<textarea name="" class="two uk-textarea uk-margin"></textarea>
</div>
<div class="uk-container uk-container-small uk-section">
<div>
<button class="second-btn uk-button uk-button-primary">Start picker</button>
</div>
</div>
<script src="vanillaEmojiPicker.js"></script>
<script>
new EmojiPicker({
trigger: [
{
selector: '.second-btn',
insertInto: '.two'
}
],
closeButton: true,
//specialButtons: green
});
</script>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: 2023.06-dev\n" "Project-Id-Version: 2023.06-dev\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-04-23 21:21+0000\n" "POT-Creation-Date: 2023-05-04 10:54+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -292,7 +292,7 @@ msgid "Insert web link"
msgstr "" msgstr ""
#: mod/message.php:202 mod/message.php:358 mod/photos.php:1291 #: mod/message.php:202 mod/message.php:358 mod/photos.php:1291
#: src/Content/Conversation.php:389 src/Content/Conversation.php:733 #: src/Content/Conversation.php:390 src/Content/Conversation.php:734
#: src/Module/Item/Compose.php:204 src/Module/Post/Edit.php:145 #: src/Module/Item/Compose.php:204 src/Module/Post/Edit.php:145
#: src/Module/Profile/UnkMail.php:154 src/Object/Post.php:550 #: src/Module/Profile/UnkMail.php:154 src/Object/Post.php:550
msgid "Please wait" msgid "Please wait"
@ -475,8 +475,8 @@ msgstr ""
msgid "Do not show a status post for this upload" msgid "Do not show a status post for this upload"
msgstr "" msgstr ""
#: mod/photos.php:733 mod/photos.php:1093 src/Content/Conversation.php:391 #: mod/photos.php:733 mod/photos.php:1093 src/Content/Conversation.php:392
#: src/Module/Calendar/Event/Form.php:253 src/Module/Post/Edit.php:182 #: src/Module/Calendar/Event/Form.php:253 src/Module/Post/Edit.php:183
msgid "Permissions" msgid "Permissions"
msgstr "" msgstr ""
@ -488,7 +488,7 @@ msgstr ""
msgid "Delete Album" msgid "Delete Album"
msgstr "" msgstr ""
#: mod/photos.php:798 mod/photos.php:899 src/Content/Conversation.php:407 #: mod/photos.php:798 mod/photos.php:899 src/Content/Conversation.php:408
#: src/Module/Contact/Follow.php:173 src/Module/Contact/Revoke.php:109 #: src/Module/Contact/Follow.php:173 src/Module/Contact/Revoke.php:109
#: src/Module/Contact/Unfollow.php:126 #: src/Module/Contact/Unfollow.php:126
#: src/Module/Media/Attachment/Browser.php:77 #: src/Module/Media/Attachment/Browser.php:77
@ -606,9 +606,9 @@ msgid "Comment"
msgstr "" msgstr ""
#: mod/photos.php:1139 mod/photos.php:1195 mod/photos.php:1269 #: mod/photos.php:1139 mod/photos.php:1195 mod/photos.php:1269
#: src/Content/Conversation.php:404 src/Module/Calendar/Event/Form.php:248 #: src/Content/Conversation.php:405 src/Module/Calendar/Event/Form.php:248
#: src/Module/Item/Compose.php:199 src/Module/Post/Edit.php:165 #: src/Module/Item/Compose.php:199 src/Module/Post/Edit.php:165
#: src/Object/Post.php:1074 #: src/Object/Post.php:1075
msgid "Preview" msgid "Preview"
msgstr "" msgstr ""
@ -617,11 +617,11 @@ msgstr ""
msgid "Loading..." msgid "Loading..."
msgstr "" msgstr ""
#: mod/photos.php:1226 src/Content/Conversation.php:649 src/Object/Post.php:257 #: mod/photos.php:1226 src/Content/Conversation.php:650 src/Object/Post.php:257
msgid "Select" msgid "Select"
msgstr "" msgstr ""
#: mod/photos.php:1227 src/Content/Conversation.php:650 #: mod/photos.php:1227 src/Content/Conversation.php:651
#: src/Module/Moderation/Users/Active.php:136 #: src/Module/Moderation/Users/Active.php:136
#: src/Module/Moderation/Users/Blocked.php:136 #: src/Module/Moderation/Users/Blocked.php:136
#: src/Module/Moderation/Users/Index.php:151 #: src/Module/Moderation/Users/Index.php:151
@ -1213,7 +1213,7 @@ msgid "Visible to <strong>everybody</strong>"
msgstr "" msgstr ""
#: src/Content/Conversation.php:329 src/Module/Item/Compose.php:198 #: src/Content/Conversation.php:329 src/Module/Item/Compose.php:198
#: src/Object/Post.php:1073 #: src/Object/Post.php:1074
msgid "Please enter a image/video/audio/webpage URL:" msgid "Please enter a image/video/audio/webpage URL:"
msgstr "" msgstr ""
@ -1277,197 +1277,202 @@ msgstr ""
msgid "Quote" msgid "Quote"
msgstr "" msgstr ""
#: src/Content/Conversation.php:368 src/Module/Item/Compose.php:194 #: src/Content/Conversation.php:368 src/Module/Post/Edit.php:175
#: src/Module/Post/Edit.php:175 src/Object/Post.php:1069 #: src/Object/Post.php:1069
msgid "Add emojis"
msgstr ""
#: src/Content/Conversation.php:369 src/Module/Item/Compose.php:194
#: src/Module/Post/Edit.php:176 src/Object/Post.php:1070
msgid "Code" msgid "Code"
msgstr "" msgstr ""
#: src/Content/Conversation.php:369 src/Module/Item/Compose.php:195 #: src/Content/Conversation.php:370 src/Module/Item/Compose.php:195
#: src/Object/Post.php:1070 #: src/Object/Post.php:1071
msgid "Image" msgid "Image"
msgstr "" msgstr ""
#: src/Content/Conversation.php:370 src/Module/Item/Compose.php:196 #: src/Content/Conversation.php:371 src/Module/Item/Compose.php:196
#: src/Module/Post/Edit.php:176 src/Object/Post.php:1071 #: src/Module/Post/Edit.php:177 src/Object/Post.php:1072
msgid "Link" msgid "Link"
msgstr "" msgstr ""
#: src/Content/Conversation.php:371 src/Module/Item/Compose.php:197 #: src/Content/Conversation.php:372 src/Module/Item/Compose.php:197
#: src/Module/Post/Edit.php:177 src/Object/Post.php:1072 #: src/Module/Post/Edit.php:178 src/Object/Post.php:1073
msgid "Link or Media" msgid "Link or Media"
msgstr "" msgstr ""
#: src/Content/Conversation.php:372 #: src/Content/Conversation.php:373
msgid "Video" msgid "Video"
msgstr "" msgstr ""
#: src/Content/Conversation.php:373 src/Module/Item/Compose.php:200 #: src/Content/Conversation.php:374 src/Module/Item/Compose.php:200
#: src/Module/Post/Edit.php:141 #: src/Module/Post/Edit.php:141
msgid "Set your location" msgid "Set your location"
msgstr "" msgstr ""
#: src/Content/Conversation.php:374 src/Module/Post/Edit.php:142 #: src/Content/Conversation.php:375 src/Module/Post/Edit.php:142
msgid "set location" msgid "set location"
msgstr "" msgstr ""
#: src/Content/Conversation.php:375 src/Module/Post/Edit.php:143 #: src/Content/Conversation.php:376 src/Module/Post/Edit.php:143
msgid "Clear browser location" msgid "Clear browser location"
msgstr "" msgstr ""
#: src/Content/Conversation.php:376 src/Module/Post/Edit.php:144 #: src/Content/Conversation.php:377 src/Module/Post/Edit.php:144
msgid "clear location" msgid "clear location"
msgstr "" msgstr ""
#: src/Content/Conversation.php:378 src/Module/Item/Compose.php:205 #: src/Content/Conversation.php:379 src/Module/Item/Compose.php:205
#: src/Module/Post/Edit.php:157 #: src/Module/Post/Edit.php:157
msgid "Set title" msgid "Set title"
msgstr "" msgstr ""
#: src/Content/Conversation.php:380 src/Module/Item/Compose.php:206 #: src/Content/Conversation.php:381 src/Module/Item/Compose.php:206
#: src/Module/Post/Edit.php:159 #: src/Module/Post/Edit.php:159
msgid "Categories (comma-separated list)" msgid "Categories (comma-separated list)"
msgstr "" msgstr ""
#: src/Content/Conversation.php:385 src/Module/Item/Compose.php:222 #: src/Content/Conversation.php:386 src/Module/Item/Compose.php:222
msgid "Scheduled at" msgid "Scheduled at"
msgstr "" msgstr ""
#: src/Content/Conversation.php:390 src/Module/Post/Edit.php:146 #: src/Content/Conversation.php:391 src/Module/Post/Edit.php:146
msgid "Permission settings" msgid "Permission settings"
msgstr "" msgstr ""
#: src/Content/Conversation.php:400 src/Module/Post/Edit.php:155 #: src/Content/Conversation.php:401 src/Module/Post/Edit.php:155
msgid "Public post" msgid "Public post"
msgstr "" msgstr ""
#: src/Content/Conversation.php:414 src/Content/Widget/VCard.php:113 #: src/Content/Conversation.php:415 src/Content/Widget/VCard.php:113
#: src/Model/Profile.php:469 src/Module/Admin/Logs/View.php:92 #: src/Model/Profile.php:469 src/Module/Admin/Logs/View.php:92
#: src/Module/Post/Edit.php:180 #: src/Module/Post/Edit.php:181
msgid "Message" msgid "Message"
msgstr "" msgstr ""
#: src/Content/Conversation.php:415 src/Module/Post/Edit.php:181 #: src/Content/Conversation.php:416 src/Module/Post/Edit.php:182
#: src/Module/Settings/TwoFactor/Trusted.php:140 #: src/Module/Settings/TwoFactor/Trusted.php:140
msgid "Browser" msgid "Browser"
msgstr "" msgstr ""
#: src/Content/Conversation.php:417 src/Module/Post/Edit.php:184 #: src/Content/Conversation.php:418 src/Module/Post/Edit.php:185
msgid "Open Compose page" msgid "Open Compose page"
msgstr "" msgstr ""
#: src/Content/Conversation.php:677 src/Object/Post.php:244 #: src/Content/Conversation.php:678 src/Object/Post.php:244
msgid "Pinned item" msgid "Pinned item"
msgstr "" msgstr ""
#: src/Content/Conversation.php:693 src/Object/Post.php:496 #: src/Content/Conversation.php:694 src/Object/Post.php:496
#: src/Object/Post.php:497 #: src/Object/Post.php:497
#, php-format #, php-format
msgid "View %s's profile @ %s" msgid "View %s's profile @ %s"
msgstr "" msgstr ""
#: src/Content/Conversation.php:706 src/Object/Post.php:484 #: src/Content/Conversation.php:707 src/Object/Post.php:484
msgid "Categories:" msgid "Categories:"
msgstr "" msgstr ""
#: src/Content/Conversation.php:707 src/Object/Post.php:485 #: src/Content/Conversation.php:708 src/Object/Post.php:485
msgid "Filed under:" msgid "Filed under:"
msgstr "" msgstr ""
#: src/Content/Conversation.php:715 src/Object/Post.php:510 #: src/Content/Conversation.php:716 src/Object/Post.php:510
#, php-format #, php-format
msgid "%s from %s" msgid "%s from %s"
msgstr "" msgstr ""
#: src/Content/Conversation.php:731 #: src/Content/Conversation.php:732
msgid "View in context" msgid "View in context"
msgstr "" msgstr ""
#: src/Content/Conversation.php:796 #: src/Content/Conversation.php:797
msgid "remove" msgid "remove"
msgstr "" msgstr ""
#: src/Content/Conversation.php:800 #: src/Content/Conversation.php:801
msgid "Delete Selected Items" msgid "Delete Selected Items"
msgstr "" msgstr ""
#: src/Content/Conversation.php:865 src/Content/Conversation.php:868 #: src/Content/Conversation.php:866 src/Content/Conversation.php:869
#: src/Content/Conversation.php:871 src/Content/Conversation.php:874 #: src/Content/Conversation.php:872 src/Content/Conversation.php:875
#: src/Content/Conversation.php:877 #: src/Content/Conversation.php:878
#, php-format #, php-format
msgid "You had been addressed (%s)." msgid "You had been addressed (%s)."
msgstr "" msgstr ""
#: src/Content/Conversation.php:880 #: src/Content/Conversation.php:881
#, php-format #, php-format
msgid "You are following %s." msgid "You are following %s."
msgstr "" msgstr ""
#: src/Content/Conversation.php:883 #: src/Content/Conversation.php:884
msgid "You subscribed to one or more tags in this post." msgid "You subscribed to one or more tags in this post."
msgstr "" msgstr ""
#: src/Content/Conversation.php:896 #: src/Content/Conversation.php:897
#, php-format #, php-format
msgid "%s reshared this." msgid "%s reshared this."
msgstr "" msgstr ""
#: src/Content/Conversation.php:898 #: src/Content/Conversation.php:899
msgid "Reshared" msgid "Reshared"
msgstr "" msgstr ""
#: src/Content/Conversation.php:898 #: src/Content/Conversation.php:899
#, php-format #, php-format
msgid "Reshared by %s <%s>" msgid "Reshared by %s <%s>"
msgstr "" msgstr ""
#: src/Content/Conversation.php:901 #: src/Content/Conversation.php:902
#, php-format #, php-format
msgid "%s is participating in this thread." msgid "%s is participating in this thread."
msgstr "" msgstr ""
#: src/Content/Conversation.php:904 #: src/Content/Conversation.php:905
msgid "Stored for general reasons" msgid "Stored for general reasons"
msgstr "" msgstr ""
#: src/Content/Conversation.php:907 #: src/Content/Conversation.php:908
msgid "Global post" msgid "Global post"
msgstr "" msgstr ""
#: src/Content/Conversation.php:910 #: src/Content/Conversation.php:911
msgid "Sent via an relay server" msgid "Sent via an relay server"
msgstr "" msgstr ""
#: src/Content/Conversation.php:910 #: src/Content/Conversation.php:911
#, php-format #, php-format
msgid "Sent via the relay server %s <%s>" msgid "Sent via the relay server %s <%s>"
msgstr "" msgstr ""
#: src/Content/Conversation.php:913 #: src/Content/Conversation.php:914
msgid "Fetched" msgid "Fetched"
msgstr "" msgstr ""
#: src/Content/Conversation.php:913 #: src/Content/Conversation.php:914
#, php-format #, php-format
msgid "Fetched because of %s <%s>" msgid "Fetched because of %s <%s>"
msgstr "" msgstr ""
#: src/Content/Conversation.php:916 #: src/Content/Conversation.php:917
msgid "Stored because of a child post to complete this thread." msgid "Stored because of a child post to complete this thread."
msgstr "" msgstr ""
#: src/Content/Conversation.php:919 #: src/Content/Conversation.php:920
msgid "Local delivery" msgid "Local delivery"
msgstr "" msgstr ""
#: src/Content/Conversation.php:922 #: src/Content/Conversation.php:923
msgid "Stored because of your activity (like, comment, star, ...)" msgid "Stored because of your activity (like, comment, star, ...)"
msgstr "" msgstr ""
#: src/Content/Conversation.php:925 #: src/Content/Conversation.php:926
msgid "Distributed" msgid "Distributed"
msgstr "" msgstr ""
#: src/Content/Conversation.php:928 #: src/Content/Conversation.php:929
msgid "Pushed to us" msgid "Pushed to us"
msgstr "" msgstr ""
@ -1601,57 +1606,57 @@ msgstr ""
msgid "show more" msgid "show more"
msgstr "" msgstr ""
#: src/Content/Item.php:326 src/Model/Item.php:2922 #: src/Content/Item.php:327 src/Model/Item.php:2927
msgid "event" msgid "event"
msgstr "" msgstr ""
#: src/Content/Item.php:329 src/Content/Item.php:339 #: src/Content/Item.php:330 src/Content/Item.php:340
msgid "status" msgid "status"
msgstr "" msgstr ""
#: src/Content/Item.php:335 src/Model/Item.php:2924 #: src/Content/Item.php:336 src/Model/Item.php:2929
#: src/Module/Post/Tag/Add.php:123 #: src/Module/Post/Tag/Add.php:123
msgid "photo" msgid "photo"
msgstr "" msgstr ""
#: src/Content/Item.php:349 src/Module/Post/Tag/Add.php:141 #: src/Content/Item.php:350 src/Module/Post/Tag/Add.php:141
#, php-format #, php-format
msgid "%1$s tagged %2$s's %3$s with %4$s" msgid "%1$s tagged %2$s's %3$s with %4$s"
msgstr "" msgstr ""
#: src/Content/Item.php:419 view/theme/frio/theme.php:262 #: src/Content/Item.php:420 view/theme/frio/theme.php:262
msgid "Follow Thread" msgid "Follow Thread"
msgstr "" msgstr ""
#: src/Content/Item.php:420 src/Model/Contact.php:1204 #: src/Content/Item.php:421 src/Model/Contact.php:1204
msgid "View Status" msgid "View Status"
msgstr "" msgstr ""
#: src/Content/Item.php:421 src/Content/Item.php:441 src/Model/Contact.php:1148 #: src/Content/Item.php:422 src/Content/Item.php:442 src/Model/Contact.php:1148
#: src/Model/Contact.php:1196 src/Model/Contact.php:1205 #: src/Model/Contact.php:1196 src/Model/Contact.php:1205
#: src/Module/Directory.php:157 src/Module/Settings/Profile/Index.php:233 #: src/Module/Directory.php:157 src/Module/Settings/Profile/Index.php:233
msgid "View Profile" msgid "View Profile"
msgstr "" msgstr ""
#: src/Content/Item.php:422 src/Model/Contact.php:1206 #: src/Content/Item.php:423 src/Model/Contact.php:1206
msgid "View Photos" msgid "View Photos"
msgstr "" msgstr ""
#: src/Content/Item.php:423 src/Model/Contact.php:1197 #: src/Content/Item.php:424 src/Model/Contact.php:1197
#: src/Model/Contact.php:1207 #: src/Model/Contact.php:1207
msgid "Network Posts" msgid "Network Posts"
msgstr "" msgstr ""
#: src/Content/Item.php:424 src/Model/Contact.php:1198 #: src/Content/Item.php:425 src/Model/Contact.php:1198
#: src/Model/Contact.php:1208 #: src/Model/Contact.php:1208
msgid "View Contact" msgid "View Contact"
msgstr "" msgstr ""
#: src/Content/Item.php:425 src/Model/Contact.php:1209 #: src/Content/Item.php:426 src/Model/Contact.php:1209
msgid "Send PM" msgid "Send PM"
msgstr "" msgstr ""
#: src/Content/Item.php:426 src/Module/Contact.php:439 #: src/Content/Item.php:427 src/Module/Contact.php:439
#: src/Module/Contact/Profile.php:477 #: src/Module/Contact/Profile.php:477
#: src/Module/Moderation/Blocklist/Contact.php:116 #: src/Module/Moderation/Blocklist/Contact.php:116
#: src/Module/Moderation/Users/Active.php:137 #: src/Module/Moderation/Users/Active.php:137
@ -1659,7 +1664,7 @@ msgstr ""
msgid "Block" msgid "Block"
msgstr "" msgstr ""
#: src/Content/Item.php:427 src/Module/Contact.php:440 #: src/Content/Item.php:428 src/Module/Contact.php:440
#: src/Module/Contact/Profile.php:485 #: src/Module/Contact/Profile.php:485
#: src/Module/Notifications/Introductions.php:134 #: src/Module/Notifications/Introductions.php:134
#: src/Module/Notifications/Introductions.php:206 #: src/Module/Notifications/Introductions.php:206
@ -1667,22 +1672,22 @@ msgstr ""
msgid "Ignore" msgid "Ignore"
msgstr "" msgstr ""
#: src/Content/Item.php:428 src/Module/Contact.php:441 #: src/Content/Item.php:429 src/Module/Contact.php:441
#: src/Module/Contact/Profile.php:493 #: src/Module/Contact/Profile.php:493
msgid "Collapse" msgid "Collapse"
msgstr "" msgstr ""
#: src/Content/Item.php:432 src/Object/Post.php:465 #: src/Content/Item.php:433 src/Object/Post.php:465
msgid "Languages" msgid "Languages"
msgstr "" msgstr ""
#: src/Content/Item.php:438 src/Content/Widget.php:80 #: src/Content/Item.php:439 src/Content/Widget.php:80
#: src/Model/Contact.php:1199 src/Model/Contact.php:1210 #: src/Model/Contact.php:1199 src/Model/Contact.php:1210
#: src/Module/Contact/Follow.php:167 view/theme/vier/theme.php:196 #: src/Module/Contact/Follow.php:167 view/theme/vier/theme.php:196
msgid "Connect/Follow" msgid "Connect/Follow"
msgstr "" msgstr ""
#: src/Content/Item.php:863 #: src/Content/Item.php:864
msgid "Unable to fetch user." msgid "Unable to fetch user."
msgstr "" msgstr ""
@ -2015,8 +2020,8 @@ msgid ""
"<a href=\"%1$s\" target=\"_blank\" rel=\"noopener noreferrer\">%2$s</a> %3$s" "<a href=\"%1$s\" target=\"_blank\" rel=\"noopener noreferrer\">%2$s</a> %3$s"
msgstr "" msgstr ""
#: src/Content/Text/BBCode.php:956 src/Model/Item.php:3607 #: src/Content/Text/BBCode.php:956 src/Model/Item.php:3645
#: src/Model/Item.php:3613 src/Model/Item.php:3614 #: src/Model/Item.php:3651 src/Model/Item.php:3652
msgid "Link to source" msgid "Link to source"
msgstr "" msgstr ""
@ -2119,7 +2124,7 @@ msgstr ""
msgid "Local Directory" msgid "Local Directory"
msgstr "" msgstr ""
#: src/Content/Widget.php:215 src/Model/Group.php:587 #: src/Content/Widget.php:215 src/Model/Group.php:596
#: src/Module/Contact.php:394 src/Module/Welcome.php:76 #: src/Module/Contact.php:394 src/Module/Welcome.php:76
msgid "Groups" msgid "Groups"
msgstr "" msgstr ""
@ -2975,68 +2980,68 @@ msgstr ""
msgid "Forum" msgid "Forum"
msgstr "" msgstr ""
#: src/Model/Contact.php:2947 #: src/Model/Contact.php:2952
msgid "Disallowed profile URL." msgid "Disallowed profile URL."
msgstr "" msgstr ""
#: src/Model/Contact.php:2952 src/Module/Friendica.php:83 #: src/Model/Contact.php:2957 src/Module/Friendica.php:83
msgid "Blocked domain" msgid "Blocked domain"
msgstr "" msgstr ""
#: src/Model/Contact.php:2957 #: src/Model/Contact.php:2962
msgid "Connect URL missing." msgid "Connect URL missing."
msgstr "" msgstr ""
#: src/Model/Contact.php:2966 #: src/Model/Contact.php:2971
msgid "" msgid ""
"The contact could not be added. Please check the relevant network " "The contact could not be added. Please check the relevant network "
"credentials in your Settings -> Social Networks page." "credentials in your Settings -> Social Networks page."
msgstr "" msgstr ""
#: src/Model/Contact.php:2984 #: src/Model/Contact.php:2989
#, php-format #, php-format
msgid "Expected network %s does not match actual network %s" msgid "Expected network %s does not match actual network %s"
msgstr "" msgstr ""
#: src/Model/Contact.php:3001 #: src/Model/Contact.php:3006
msgid "The profile address specified does not provide adequate information." msgid "The profile address specified does not provide adequate information."
msgstr "" msgstr ""
#: src/Model/Contact.php:3003 #: src/Model/Contact.php:3008
msgid "No compatible communication protocols or feeds were discovered." msgid "No compatible communication protocols or feeds were discovered."
msgstr "" msgstr ""
#: src/Model/Contact.php:3006 #: src/Model/Contact.php:3011
msgid "An author or name was not found." msgid "An author or name was not found."
msgstr "" msgstr ""
#: src/Model/Contact.php:3009 #: src/Model/Contact.php:3014
msgid "No browser URL could be matched to this address." msgid "No browser URL could be matched to this address."
msgstr "" msgstr ""
#: src/Model/Contact.php:3012 #: src/Model/Contact.php:3017
msgid "" msgid ""
"Unable to match @-style Identity Address with a known protocol or email " "Unable to match @-style Identity Address with a known protocol or email "
"contact." "contact."
msgstr "" msgstr ""
#: src/Model/Contact.php:3013 #: src/Model/Contact.php:3018
msgid "Use mailto: in front of address to force email check." msgid "Use mailto: in front of address to force email check."
msgstr "" msgstr ""
#: src/Model/Contact.php:3019 #: src/Model/Contact.php:3024
msgid "" msgid ""
"The profile address specified belongs to a network which has been disabled " "The profile address specified belongs to a network which has been disabled "
"on this site." "on this site."
msgstr "" msgstr ""
#: src/Model/Contact.php:3024 #: src/Model/Contact.php:3029
msgid "" msgid ""
"Limited profile. This person will be unable to receive direct/personal " "Limited profile. This person will be unable to receive direct/personal "
"notifications from you." "notifications from you."
msgstr "" msgstr ""
#: src/Model/Contact.php:3089 #: src/Model/Contact.php:3094
msgid "Unable to retrieve contact information." msgid "Unable to retrieve contact information."
msgstr "" msgstr ""
@ -3148,40 +3153,40 @@ msgid ""
"not what you intended, please create another group with a different name." "not what you intended, please create another group with a different name."
msgstr "" msgstr ""
#: src/Model/Group.php:503 #: src/Model/Group.php:512
msgid "Default privacy group for new contacts" msgid "Default privacy group for new contacts"
msgstr "" msgstr ""
#: src/Model/Group.php:535 #: src/Model/Group.php:544
msgid "Everybody" msgid "Everybody"
msgstr "" msgstr ""
#: src/Model/Group.php:554 #: src/Model/Group.php:563
msgid "edit" msgid "edit"
msgstr "" msgstr ""
#: src/Model/Group.php:586 #: src/Model/Group.php:595
msgid "add" msgid "add"
msgstr "" msgstr ""
#: src/Model/Group.php:591 #: src/Model/Group.php:600
msgid "Edit group" msgid "Edit group"
msgstr "" msgstr ""
#: src/Model/Group.php:592 src/Module/Group.php:192 #: src/Model/Group.php:601 src/Module/Group.php:192
msgid "Contacts not in any group" msgid "Contacts not in any group"
msgstr "" msgstr ""
#: src/Model/Group.php:594 #: src/Model/Group.php:603
msgid "Create a new group" msgid "Create a new group"
msgstr "" msgstr ""
#: src/Model/Group.php:595 src/Module/Group.php:177 src/Module/Group.php:200 #: src/Model/Group.php:604 src/Module/Group.php:177 src/Module/Group.php:200
#: src/Module/Group.php:275 #: src/Module/Group.php:275
msgid "Group Name: " msgid "Group Name: "
msgstr "" msgstr ""
#: src/Model/Group.php:596 #: src/Model/Group.php:605
msgid "Edit groups" msgid "Edit groups"
msgstr "" msgstr ""
@ -3190,76 +3195,76 @@ msgstr ""
msgid "Detected languages in this post:\\n%s" msgid "Detected languages in this post:\\n%s"
msgstr "" msgstr ""
#: src/Model/Item.php:2926 #: src/Model/Item.php:2931
msgid "activity" msgid "activity"
msgstr "" msgstr ""
#: src/Model/Item.php:2928 #: src/Model/Item.php:2933
msgid "comment" msgid "comment"
msgstr "" msgstr ""
#: src/Model/Item.php:2931 src/Module/Post/Tag/Add.php:123 #: src/Model/Item.php:2936 src/Module/Post/Tag/Add.php:123
msgid "post" msgid "post"
msgstr "" msgstr ""
#: src/Model/Item.php:3093 #: src/Model/Item.php:3105
#, php-format #, php-format
msgid "%s is blocked" msgid "%s is blocked"
msgstr "" msgstr ""
#: src/Model/Item.php:3095 #: src/Model/Item.php:3107
#, php-format #, php-format
msgid "%s is ignored" msgid "%s is ignored"
msgstr "" msgstr ""
#: src/Model/Item.php:3097 #: src/Model/Item.php:3109
#, php-format #, php-format
msgid "Content from %s is collapsed" msgid "Content from %s is collapsed"
msgstr "" msgstr ""
#: src/Model/Item.php:3101 #: src/Model/Item.php:3113
#, php-format #, php-format
msgid "Content warning: %s" msgid "Content warning: %s"
msgstr "" msgstr ""
#: src/Model/Item.php:3519 #: src/Model/Item.php:3557
msgid "bytes" msgid "bytes"
msgstr "" msgstr ""
#: src/Model/Item.php:3550 #: src/Model/Item.php:3588
#, php-format #, php-format
msgid "%2$s (%3$d%%, %1$d vote)" msgid "%2$s (%3$d%%, %1$d vote)"
msgid_plural "%2$s (%3$d%%, %1$d votes)" msgid_plural "%2$s (%3$d%%, %1$d votes)"
msgstr[0] "" msgstr[0] ""
msgstr[1] "" msgstr[1] ""
#: src/Model/Item.php:3552 #: src/Model/Item.php:3590
#, php-format #, php-format
msgid "%2$s (%1$d vote)" msgid "%2$s (%1$d vote)"
msgid_plural "%2$s (%1$d votes)" msgid_plural "%2$s (%1$d votes)"
msgstr[0] "" msgstr[0] ""
msgstr[1] "" msgstr[1] ""
#: src/Model/Item.php:3557 #: src/Model/Item.php:3595
#, php-format #, php-format
msgid "%d voter. Poll end: %s" msgid "%d voter. Poll end: %s"
msgid_plural "%d voters. Poll end: %s" msgid_plural "%d voters. Poll end: %s"
msgstr[0] "" msgstr[0] ""
msgstr[1] "" msgstr[1] ""
#: src/Model/Item.php:3559 #: src/Model/Item.php:3597
#, php-format #, php-format
msgid "%d voter." msgid "%d voter."
msgid_plural "%d voters." msgid_plural "%d voters."
msgstr[0] "" msgstr[0] ""
msgstr[1] "" msgstr[1] ""
#: src/Model/Item.php:3561 #: src/Model/Item.php:3599
#, php-format #, php-format
msgid "Poll end: %s" msgid "Poll end: %s"
msgstr "" msgstr ""
#: src/Model/Item.php:3595 src/Model/Item.php:3596 #: src/Model/Item.php:3633 src/Model/Item.php:3634
msgid "View on separate page" msgid "View on separate page"
msgstr "" msgstr ""

View File

@ -44,6 +44,9 @@
<button type="button" class="btn btn-sm template-icon quote" aria-label="{{$l10n.edquote}}" title="{{$l10n.edquote}}" onclick="insertFormatting('quote',{{$id}});" tabindex="13"> <button type="button" class="btn btn-sm template-icon quote" aria-label="{{$l10n.edquote}}" title="{{$l10n.edquote}}" onclick="insertFormatting('quote',{{$id}});" tabindex="13">
<i class="fa fa-quote-left"></i> <i class="fa fa-quote-left"></i>
</button> </button>
<button id="button_emojipicker" type="button" class="btn btn-sm template-icon emojis" aria-label="{{$l10n.edemojis}}" title="{{$l10n.edemojis}}" tabindex="14">
<i class="fa fa-smile-o"></i>
</button>
</span> </span>
</p> </p>
<div id="dropzone-{{$id}}" class="dropzone" style="overflow:scroll"> <div id="dropzone-{{$id}}" class="dropzone" style="overflow:scroll">
@ -98,3 +101,16 @@
<script> <script>
dzFactory.setupDropzone('#dropzone-{{$id}}', 'comment-edit-text-{{$id}}'); dzFactory.setupDropzone('#dropzone-{{$id}}', 'comment-edit-text-{{$id}}');
</script> </script>
<script>
window.onload = function(){
new EmojiPicker({
trigger: [
{
selector: '.emojis',
insertInto: '.comment-edit-text'
}
],
closeButton: true,
});
};
</script>

View File

@ -51,6 +51,8 @@
type="text/css" media="screen" /> type="text/css" media="screen" />
<link rel="stylesheet" href="view/js/fancybox/jquery.fancybox.min.css?v={{$smarty.const.FRIENDICA_VERSION}}" <link rel="stylesheet" href="view/js/fancybox/jquery.fancybox.min.css?v={{$smarty.const.FRIENDICA_VERSION}}"
type="text/css" media="screen" /> type="text/css" media="screen" />
<link rel="stylesheet" href="view/js/button/frio.css?v={{$smarty.const.FRIENDICA_VERSION}}"
type="text/css" media="screen" />
{{* own css files *}} {{* own css files *}}
<link rel="stylesheet" href="view/theme/frio/css/hovercard.css?v={{$smarty.const.FRIENDICA_VERSION}}" type="text/css" <link rel="stylesheet" href="view/theme/frio/css/hovercard.css?v={{$smarty.const.FRIENDICA_VERSION}}" type="text/css"
@ -148,6 +150,7 @@
<script type="text/javascript"> const dzFactory = new DzFactory({{$max_imagesize}});</script> <script type="text/javascript"> const dzFactory = new DzFactory({{$max_imagesize}});</script>
<script type="text/javascript" src="view/js/fancybox/jquery.fancybox.min.js?v={{$smarty.const.FRIENDICA_VERSION}}"></script> <script type="text/javascript" src="view/js/fancybox/jquery.fancybox.min.js?v={{$smarty.const.FRIENDICA_VERSION}}"></script>
<script type="text/javascript" src="view/js/fancybox/fancybox.config.js?v={{$smarty.const.FRIENDICA_VERSION}}"></script> <script type="text/javascript" src="view/js/fancybox/fancybox.config.js?v={{$smarty.const.FRIENDICA_VERSION}}"></script>
<script type="text/javascript" src="view/js/vanillaEmojiPicker/vanillaEmojiPicker.min.js?v={{$smarty.const.FRIENDICA_VERSION}}"></script>
{{* Include the strings which are needed for some js functions (e.g. translation) {{* Include the strings which are needed for some js functions (e.g. translation)
They are loaded into the html <head> so that js functions can use them *}} They are loaded into the html <head> so that js functions can use them *}}

View File

@ -108,6 +108,7 @@
<li role="presentation"><button type="button" class="hidden-xs btn-link icon italic" style="cursor: pointer;" aria-label="{{$editalic}}" title="{{$editalic}}" onclick="insertFormattingToPost('i');"><i class="fa fa-italic"></i></button></li> <li role="presentation"><button type="button" class="hidden-xs btn-link icon italic" style="cursor: pointer;" aria-label="{{$editalic}}" title="{{$editalic}}" onclick="insertFormattingToPost('i');"><i class="fa fa-italic"></i></button></li>
<li role="presentation"><button type="button" class="hidden-xs btn-link icon bold" style="cursor: pointer;" aria-label="{{$edbold}}" title="{{$edbold}}" onclick="insertFormattingToPost('b');"><i class="fa fa-bold"></i></button></li> <li role="presentation"><button type="button" class="hidden-xs btn-link icon bold" style="cursor: pointer;" aria-label="{{$edbold}}" title="{{$edbold}}" onclick="insertFormattingToPost('b');"><i class="fa fa-bold"></i></button></li>
<li role="presentation"><button type="button" class="hidden-xs btn-link icon quote" style="cursor: pointer;" aria-label="{{$edquote}}" title="{{$edquote}}" onclick="insertFormattingToPost('quote');"><i class="fa fa-quote-left"></i></button></li> <li role="presentation"><button type="button" class="hidden-xs btn-link icon quote" style="cursor: pointer;" aria-label="{{$edquote}}" title="{{$edquote}}" onclick="insertFormattingToPost('quote');"><i class="fa fa-quote-left"></i></button></li>
<li role="presentation"><button type="button" class="hidden-xs btn-link icon emojis" style="cursor: pointer;" aria-label="{{$edemojis}}" title="{{$edemojis}}"><i class="fa fa-smile-o"></i></button></li>
<li role="presentation"><button type="button" class="btn-link icon" style="cursor: pointer;" aria-label="{{$edurl}}" title="{{$edurl}}" onclick="insertFormattingToPost('url');"><i class="fa fa-link"></i></button></li> <li role="presentation"><button type="button" class="btn-link icon" style="cursor: pointer;" aria-label="{{$edurl}}" title="{{$edurl}}" onclick="insertFormattingToPost('url');"><i class="fa fa-link"></i></button></li>
<li role="presentation"><button type="button" class="btn-link" id="profile-attach" ondragenter="return linkDropper(event);" ondragover="return linkDropper(event);" ondrop="linkDrop(event);" onclick="jotGetLink();" title="{{$edattach}}"><i class="fa fa-paperclip"></i></button></li> <li role="presentation"><button type="button" class="btn-link" id="profile-attach" ondragenter="return linkDropper(event);" ondragover="return linkDropper(event);" ondrop="linkDrop(event);" onclick="jotGetLink();" title="{{$edattach}}"><i class="fa fa-paperclip"></i></button></li>
<li role="presentation"><button type="button" class="btn-link" id="profile-location" onclick="jotGetLocation();" title="{{$setloc}}"><i class="fa fa-map-marker" aria-hidden="true"></i></button></li> <li role="presentation"><button type="button" class="btn-link" id="profile-location" onclick="jotGetLocation();" title="{{$setloc}}"><i class="fa fa-map-marker" aria-hidden="true"></i></button></li>
@ -182,3 +183,16 @@ can load different content into the jot modal (e.g. the item edit jot)
<script> <script>
dzFactory.setupDropzone('#jot-text-wrap', 'profile-jot-text'); dzFactory.setupDropzone('#jot-text-wrap', 'profile-jot-text');
</script> </script>
<script>
window.onload = function(){
new EmojiPicker({
trigger: [
{
selector: '.emojis',
insertInto: '.profile-jot-text'
}
],
closeButton: true,
});
};
</script>