diff --git a/app/js/directives.js b/app/js/directives.js
index f49deb65..4881887a 100755
--- a/app/js/directives.js
+++ b/app/js/directives.js
@@ -45,7 +45,7 @@ angular.module('myApp.directives', ['myApp.filters'])
.directive('myMessage', function($filter, _) {
var dateFilter = $filter('myDate'),
- dateSplitHtml = '
',
+ dateSplitHtml = '',
unreadSplitHtml = '' + _('unread_messages_split') + '
',
selectedClass = 'im_message_selected',
focusClass = 'im_message_focus',
@@ -90,7 +90,7 @@ angular.module('myApp.directives', ['myApp.filters'])
needDateSplit.show();
} else {
needDateSplit = $(dateSplitHtml);
- $(needDateSplit[0].firstChild).text(dateFilter($scope.historyMessage.date));
+ $('.im_message_date_split_text', needDateSplit).text(dateFilter($scope.historyMessage.date));
if (unreadAfterSplit) {
needDateSplit.insertBefore(unreadAfterSplit)
} else {
@@ -2090,7 +2090,7 @@ angular.module('myApp.directives', ['myApp.filters'])
}
})
- .directive('myLoadSticker', function(MtpApiFileManager, FileManager, AppStickersManager) {
+ .directive('myLoadSticker', function(_, MtpApiFileManager, FileManager, AppStickersManager) {
var emptySrc = 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7';
@@ -2105,6 +2105,8 @@ angular.module('myApp.directives', ['myApp.filters'])
var imgElement = $('
').addClass(attrs.imgClass);
var wasAdded = false;
+ imgElement.attr('alt', '['+ ($scope.document.stickerEmojiRaw || '') + ' ' + _('conversation_media_sticker') +']');
+
if (attrs.open && $scope.document.stickerSetInput) {
element
.addClass('clickable')
diff --git a/app/js/lib/i18n.js b/app/js/lib/i18n.js
index 8fa346b5..03db0d12 100644
--- a/app/js/lib/i18n.js
+++ b/app/js/lib/i18n.js
@@ -115,7 +115,11 @@ angular.module('myApp.i18n', ['izhukov.utils'])
var format = angular.element(element);
var msgid = format.attr("my-i18n") || format.attr("msgid") || format.attr("my-i18n-format") || format.html().replace(/\s+/g, ' ').trim();
var msgstr = _(msgid, params);
- format.html(msgstr);
+ if (format.hasClass('nocopy')) {
+ format.attr('data-content', msgstr);
+ } else {
+ format.html(msgstr);
+ }
});
}
}
diff --git a/app/less/app.less b/app/less/app.less
index d6df681c..a4fdfcc7 100644
--- a/app/less/app.less
+++ b/app/less/app.less
@@ -37,12 +37,28 @@ h1, h2, h3, h4, h5 {
.user-select(text);
}
+.copyonly {
+ color: transparent;
+ display: inline-block;
+ vertical-align: baseline;
+ width: 1px;
+ height: 0px;
+ background: none 0 no-repeat;
+ font-size: 0px;
+ float: left;
+ text-rendering: auto;
+ .user-select(none);
+}
+.nocopy::before {
+ content: attr(data-content);
+}
+
pre {
margin-bottom: 0;
- max-height: 300px;
overflow: auto;
padding: 3px;
- border: 1px solid #dedede;
+ border: 1px solid #eee;
+ max-height: none;
font-size: inherit;
}
@@ -2060,7 +2076,7 @@ div.im_message_body {
overflow: hidden;
}
-.im_message_meta,
+// .im_message_meta,
.im_message_body {
.user-select(text);
}
diff --git a/app/less/desktop.less b/app/less/desktop.less
index 08b6f42e..1f70db60 100644
--- a/app/less/desktop.less
+++ b/app/less/desktop.less
@@ -1832,7 +1832,7 @@ a.im_panel_peer_photo .peer_initials {
.im_grouped &,
.im_grouped_fwd &,
.im_grouped_fwd_short & {
- .im_message_date {
+ .im_message_meta {
display: none;
}
}
diff --git a/app/partials/desktop/audio_player.html b/app/partials/desktop/audio_player.html
index c804f561..1c9369b0 100644
--- a/app/partials/desktop/audio_player.html
+++ b/app/partials/desktop/audio_player.html
@@ -7,6 +7,7 @@
+ [
@@ -15,19 +16,20 @@
+ ]
-
-
-
+
-
+
diff --git a/app/partials/desktop/full_gif.html b/app/partials/desktop/full_gif.html
index ae2f3024..d563bd5d 100644
--- a/app/partials/desktop/full_gif.html
+++ b/app/partials/desktop/full_gif.html
@@ -10,7 +10,7 @@
-
GIF
+
[GIF]
diff --git a/app/partials/desktop/im.html b/app/partials/desktop/im.html
index 0b3b36cf..812ab803 100644
--- a/app/partials/desktop/im.html
+++ b/app/partials/desktop/im.html
@@ -171,7 +171,7 @@
-