diff --git a/Web/Presenters/templates/components/post/microblogpost.xml b/Web/Presenters/templates/components/post/microblogpost.xml
index 9635f417..5d6389cd 100644
--- a/Web/Presenters/templates/components/post/microblogpost.xml
+++ b/Web/Presenters/templates/components/post/microblogpost.xml
@@ -131,7 +131,7 @@
{if !($forceNoLike ?? false)}
{var $liked = $post->hasLikeFrom($thisUser)}
-
diff --git a/Web/Presenters/templates/components/post/oldpost.xml b/Web/Presenters/templates/components/post/oldpost.xml
index 5b1a087a..36e56f73 100644
--- a/Web/Presenters/templates/components/post/oldpost.xml
+++ b/Web/Presenters/templates/components/post/oldpost.xml
@@ -157,7 +157,7 @@
{ifset $thisUser}
{var $liked = $post->hasLikeFrom($thisUser)}
-
+
{if $likesCount > 0}{$likesCount}{/if}
diff --git a/Web/static/css/main.css b/Web/static/css/main.css
index 18455cba..c9a5cf7f 100644
--- a/Web/static/css/main.css
+++ b/Web/static/css/main.css
@@ -3783,3 +3783,73 @@ hr {
height: 206px;
overflow-x: hidden;
}
+
+.like_tooltip_wrapper .like_tooltip_head {
+ background: linear-gradient(180deg, #595959, #515151);
+ box-shadow: 0px 1px 0px 0px rgba(255, 255, 255, 0.18) inset;
+ border: solid 1px #575757;
+ padding: 4px 10px;
+ width: 200px;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+}
+
+.like_tooltip_wrapper .like_tooltip_head span, .like_tooltip_wrapper .like_tooltip_head a {
+ font-size: 12px;
+ color: white;
+ height: 14px;
+}
+
+.like_tooltip_wrapper .like_tooltip_body {
+ background: white;
+ padding: 10px;
+ border: 1px solid #878787;
+ cursor: default;
+}
+
+.like_tooltip_wrapper .like_tooltip_body .like_tooltip_body_grid {
+ display: flex;
+ gap: 6px;
+}
+
+.like_tooltip_wrapper .like_tooltip_body img {
+ width: 25px;
+ height: 25px;
+}
+
+.like_tooltip_wrapper .like_tooltip_body a {
+ height: 25px;
+}
+
+.tippy-box[data-theme~="special"] {
+ margin: 0;
+ border: unset;
+ border-radius: 0px;
+ background-color: #fff;
+}
+
+.tippy-box[data-theme~="special"] .tippy-arrow {
+ z-index: 9;
+}
+
+.tippy-box[data-theme~="special"] .tippy-arrow::before {
+ border-top-color: white;
+}
+
+.tippy-box[data-theme~="special"][data-placement^=bottom] .tippy-arrow::before {
+ border-bottom-color: #525252;
+}
+
+.tippy-box[data-animation='up_down'] {
+ transition: all 50ms;
+}
+
+.tippy-box[data-animation='up_down'][data-state='hidden'] {
+ opacity: 0;
+ inset: auto auto 10px 0px;
+}
+
+.tippy-box[data-animation='up_down'][data-state='visible'] {
+ inset: auto auto 0px 0px;
+}
diff --git a/Web/static/js/al_wall.js b/Web/static/js/al_wall.js
index 6430e47c..5a6e40f3 100644
--- a/Web/static/js/al_wall.js
+++ b/Web/static/js/al_wall.js
@@ -581,6 +581,54 @@ tippy.delegate("body", {
}
});
+tippy.delegate('body', {
+ animation: 'up_down',
+ target: `.post-like-button[data-type]:not([data-likes="0"])`,
+ theme: "special vk",
+ content: "⌛",
+ allowHTML: true,
+ interactive: true,
+ interactiveDebounce: 500,
+
+ onCreate: async function(that) {
+ that._likesList = null;
+ },
+
+ onShow: async function(that) {
+ const id = that.reference.dataset.id
+ const type = that.reference.dataset.type
+ let final_type = type
+ if(type == 'post') {
+ final_type = 'wall'
+ }
+
+ if(!that._likesList) {
+ that._likesList = await window.OVKAPI.call('likes.getList', {'extended': 1, 'count': 6, 'type': type, 'owner_id': id.split('_')[0], 'item_id': id.split('_')[1]})
+ }
+
+ const final_template = u(`
+
+ `)
+
+ that._likesList.items.forEach(item => {
+ final_template.find('.like_tooltip_body .like_tooltip_body_grid').append(`
+
+ `)
+ })
+ that.setContent(final_template.nodes[0].outerHTML)
+ }
+})
+
async function showArticle(note_id) {
u("body").addClass("dimmed");
let note = await API.Notes.getNote(note_id);
diff --git a/locales/en.strings b/locales/en.strings
index 90873e09..527323da 100644
--- a/locales/en.strings
+++ b/locales/en.strings
@@ -275,6 +275,12 @@
"likers_list" = "Likers list";
"liked_verb" = "Liked by";
+"liked_by_x_people_one" = "Liked by $1 user";
+"liked_by_x_people_few" = "Liked by $1 users";
+"liked_by_x_people_many" = "Liked by $1 users";
+"liked_by_x_people_other" = "Liked by $1 users";
+"liked_by_x_people_zero" = "Nobody liked";
+
/* Friends */
"friends" = "Friends";
diff --git a/locales/ru.strings b/locales/ru.strings
index 45da0eb0..4385b6cd 100644
--- a/locales/ru.strings
+++ b/locales/ru.strings
@@ -254,6 +254,12 @@
"likers_list" = "Список лайкнувших";
"liked_verb" = "Понравилось";
+"liked_by_x_people_one" = "Понравилось $1 человеку";
+"liked_by_x_people_few" = "Понравилось $1 людям";
+"liked_by_x_people_many" = "Понравилось $1 людям";
+"liked_by_x_people_other" = "Понравилось $1 людям";
+"liked_by_x_people_zero" = "Никому не понравилось";
+
/* Friends */
"friends" = "Друзья";