mirror of https://github.com/zulip/zulip.git
right sidebar: Remove "GROUP PMs" section.
We remove the "GROUP PMs" section that used to be in the lower right sidebar. Most of this is straightforward code removal. A couple quick notes: - The message fetching code now just calls `huddle_data.process_loaded_messages`, which we still need for search suggestions. We removed `activity.process_loaded_messages`. - The `huddle_data.process_loaded_messages` function no longer needs to return `need_resize`. - In `resize.js` we now just calculate `res.buddy_list_wrapper_max_height` directly from `usable_height`.
This commit is contained in:
parent
9f5725d265
commit
43e5b2d28b
|
@ -132,9 +132,6 @@ people.add_active_user(zoe);
|
|||
people.add_active_user(me);
|
||||
people.initialize_current_user(me.user_id);
|
||||
|
||||
const real_update_huddles = activity.update_huddles;
|
||||
activity.update_huddles = () => {};
|
||||
|
||||
const presence_info = new Map();
|
||||
presence_info.set(alice.user_id, { status: 'inactive' });
|
||||
presence_info.set(fred.user_id, { status: 'active' });
|
||||
|
@ -176,7 +173,8 @@ run_test('sort_users', () => {
|
|||
]);
|
||||
});
|
||||
|
||||
run_test('process_loaded_messages', () => {
|
||||
run_test('huddle_data.process_loaded_messages', () => {
|
||||
// TODO: move this to a module for just testing `huddle_data`
|
||||
|
||||
const huddle1 = 'jill@zulip.com,norbert@zulip.com';
|
||||
const timestamp1 = 1382479029; // older
|
||||
|
@ -211,56 +209,13 @@ run_test('process_loaded_messages', () => {
|
|||
},
|
||||
];
|
||||
|
||||
activity.process_loaded_messages(messages);
|
||||
huddle_data.process_loaded_messages(messages);
|
||||
|
||||
const user_ids_string1 = people.emails_strings_to_user_ids_string(huddle1);
|
||||
const user_ids_string2 = people.emails_strings_to_user_ids_string(huddle2);
|
||||
assert.deepEqual(huddle_data.get_huddles(), [user_ids_string2, user_ids_string1]);
|
||||
});
|
||||
|
||||
run_test('full_huddle_name', () => {
|
||||
function full_name(emails_string) {
|
||||
const user_ids_string = people.emails_strings_to_user_ids_string(emails_string);
|
||||
return activity.full_huddle_name(user_ids_string);
|
||||
}
|
||||
|
||||
assert.equal(
|
||||
full_name('alice@zulip.com,jill@zulip.com'),
|
||||
'Alice Smith, Jill Hill');
|
||||
|
||||
assert.equal(
|
||||
full_name('alice@zulip.com,fred@zulip.com,jill@zulip.com'),
|
||||
'Alice Smith, Fred Flintstone, Jill Hill');
|
||||
});
|
||||
|
||||
run_test('short_huddle_name', () => {
|
||||
function short_name(emails_string) {
|
||||
const user_ids_string = people.emails_strings_to_user_ids_string(emails_string);
|
||||
return activity.short_huddle_name(user_ids_string);
|
||||
}
|
||||
|
||||
assert.equal(
|
||||
short_name('alice@zulip.com'),
|
||||
'Alice Smith');
|
||||
|
||||
assert.equal(
|
||||
short_name('alice@zulip.com,jill@zulip.com'),
|
||||
'Alice Smith, Jill Hill');
|
||||
|
||||
assert.equal(
|
||||
short_name('alice@zulip.com,fred@zulip.com,jill@zulip.com'),
|
||||
'Alice Smith, Fred Flintstone, Jill Hill');
|
||||
|
||||
assert.equal(
|
||||
short_name('alice@zulip.com,fred@zulip.com,jill@zulip.com,mark@zulip.com'),
|
||||
'Alice Smith, Fred Flintstone, Jill Hill, + 1 other');
|
||||
|
||||
assert.equal(
|
||||
short_name('alice@zulip.com,fred@zulip.com,jill@zulip.com,mark@zulip.com,norbert@zulip.com'),
|
||||
'Alice Smith, Fred Flintstone, Jill Hill, + 2 others');
|
||||
|
||||
});
|
||||
|
||||
presence.presence_info = new Map();
|
||||
presence.presence_info.set(alice.user_id, { status: activity.IDLE });
|
||||
presence.presence_info.set(fred.user_id, { status: activity.ACTIVE });
|
||||
|
@ -354,31 +309,6 @@ run_test('PM_update_dom_counts', () => {
|
|||
assert.equal(value.text(), '');
|
||||
});
|
||||
|
||||
run_test('group_update_dom_counts', () => {
|
||||
const value = $.create('alice-fred-value');
|
||||
const count = $.create('alice-fred-count');
|
||||
const pm_key = alice.user_id.toString() + "," + fred.user_id.toString();
|
||||
const li_selector = "li.group-pms-sidebar-entry[data-user-ids='" + pm_key + "']";
|
||||
const li = $(li_selector);
|
||||
count.set_find_results('.value', value);
|
||||
li.set_find_results('.count', count);
|
||||
count.set_parent(li);
|
||||
|
||||
const counts = new Map();
|
||||
counts.set(pm_key, 5);
|
||||
li.addClass('group-pms-sidebar-entry');
|
||||
|
||||
activity.update_dom_with_unread_counts({pm_count: counts});
|
||||
assert(li.hasClass('group-with-count'));
|
||||
assert.equal(value.text(), "5");
|
||||
|
||||
counts.set(pm_key, 0);
|
||||
|
||||
activity.update_dom_with_unread_counts({pm_count: counts});
|
||||
assert(!li.hasClass('group-with-count'));
|
||||
assert.equal(value.text(), '');
|
||||
});
|
||||
|
||||
run_test('handlers', () => {
|
||||
// This is kind of weak coverage; we are mostly making sure that
|
||||
// keys and clicks got mapped to functions that don't crash.
|
||||
|
@ -652,8 +582,6 @@ run_test('realm_presence_disabled', () => {
|
|||
|
||||
activity.redraw_user();
|
||||
activity.build_user_sidebar();
|
||||
|
||||
real_update_huddles();
|
||||
});
|
||||
|
||||
run_test('clear_search', () => {
|
||||
|
@ -706,34 +634,11 @@ run_test('searching', () => {
|
|||
assert.equal(activity.searching(), false);
|
||||
});
|
||||
|
||||
run_test('update_huddles_and_redraw', () => {
|
||||
const value = $.create('alice-fred-value');
|
||||
const count = $.create('alice-fred-count');
|
||||
const pm_key = alice.user_id.toString() + "," + fred.user_id.toString();
|
||||
const li_selector = "li.group-pms-sidebar-entry[data-user-ids='" + pm_key + "']";
|
||||
const li = $(li_selector);
|
||||
count.set_find_results('.value', value);
|
||||
li.set_find_results('.count', count);
|
||||
count.set_parent(li);
|
||||
|
||||
const real_get_huddles = huddle_data.get_huddles;
|
||||
huddle_data.get_huddles = () => ['1,2'];
|
||||
activity.update_huddles = real_update_huddles;
|
||||
activity.redraw();
|
||||
assert.equal($('#group-pm-list').hasClass('show'), false);
|
||||
page_params.realm_presence_disabled = false;
|
||||
activity.redraw();
|
||||
assert.equal($('#group-pm-list').hasClass('show'), true);
|
||||
huddle_data.get_huddles = () => [];
|
||||
activity.redraw();
|
||||
assert.equal($('#group-pm-list').hasClass('show'), false);
|
||||
huddle_data.get_huddles = real_get_huddles;
|
||||
activity.update_huddles = function () {};
|
||||
});
|
||||
|
||||
reset_setup();
|
||||
|
||||
run_test('update_presence_info', () => {
|
||||
page_params.realm_presence_disabled = false;
|
||||
|
||||
const server_time = 500;
|
||||
const info = {
|
||||
website: {
|
||||
|
|
|
@ -416,7 +416,7 @@ run_test('insert_message', () => {
|
|||
|
||||
assert.equal(message_store.get(new_message.id), undefined);
|
||||
|
||||
helper.redirect('activity', 'process_loaded_messages');
|
||||
helper.redirect('huddle_data', 'process_loaded_messages');
|
||||
helper.redirect('message_util', 'add_new_messages');
|
||||
helper.redirect('notifications', 'received_messages');
|
||||
helper.redirect('resize', 'resize_page_components');
|
||||
|
@ -433,9 +433,9 @@ run_test('insert_message', () => {
|
|||
// the code invokes various objects when a new message
|
||||
// comes in:
|
||||
assert.deepEqual(helper.events, [
|
||||
'huddle_data.process_loaded_messages',
|
||||
'message_util.add_new_messages',
|
||||
'message_util.add_new_messages',
|
||||
'activity.process_loaded_messages',
|
||||
'unread_ui.update_unread_counts',
|
||||
'resize.resize_page_components',
|
||||
'unread_ops.process_visible',
|
||||
|
|
|
@ -1,6 +1,3 @@
|
|||
const render_group_pms = require('../templates/group_pms.hbs');
|
||||
const huddle_data = require("./huddle_data");
|
||||
|
||||
/*
|
||||
Helpers for detecting user activity and managing user idle states
|
||||
*/
|
||||
|
@ -42,43 +39,18 @@ function update_pm_count_in_dom(count_span, value_span, count) {
|
|||
value_span.text(count);
|
||||
}
|
||||
|
||||
function update_group_count_in_dom(count_span, value_span, count) {
|
||||
const li = count_span.parent();
|
||||
|
||||
if (count === 0) {
|
||||
count_span.hide();
|
||||
li.removeClass("group-with-count");
|
||||
value_span.text('');
|
||||
return;
|
||||
}
|
||||
|
||||
count_span.show();
|
||||
li.addClass("group-with-count");
|
||||
value_span.text(count);
|
||||
}
|
||||
|
||||
function get_pm_list_item(user_id) {
|
||||
return buddy_list.find_li({
|
||||
key: user_id,
|
||||
});
|
||||
}
|
||||
|
||||
function get_group_list_item(user_ids_string) {
|
||||
return $("li.group-pms-sidebar-entry[data-user-ids='" + user_ids_string + "']");
|
||||
}
|
||||
|
||||
function set_pm_count(user_ids_string, count) {
|
||||
const count_span = get_pm_list_item(user_ids_string).find('.count');
|
||||
const value_span = count_span.find('.value');
|
||||
update_pm_count_in_dom(count_span, value_span, count);
|
||||
}
|
||||
|
||||
function set_group_count(user_ids_string, count) {
|
||||
const count_span = get_group_list_item(user_ids_string).find('.count');
|
||||
const value_span = count_span.find('.value');
|
||||
update_group_count_in_dom(count_span, value_span, count);
|
||||
}
|
||||
|
||||
exports.update_dom_with_unread_counts = function (counts) {
|
||||
// counts is just a data object that gets calculated elsewhere
|
||||
// Our job is to update some DOM elements.
|
||||
|
@ -88,59 +60,10 @@ exports.update_dom_with_unread_counts = function (counts) {
|
|||
const is_pm = !user_ids_string.includes(',');
|
||||
if (is_pm) {
|
||||
set_pm_count(user_ids_string, count);
|
||||
} else {
|
||||
set_group_count(user_ids_string, count);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
exports.process_loaded_messages = function (messages) {
|
||||
const need_resize = huddle_data.process_loaded_messages(messages);
|
||||
|
||||
exports.update_huddles();
|
||||
|
||||
if (need_resize) {
|
||||
resize.resize_page_components(); // big hammer
|
||||
}
|
||||
};
|
||||
|
||||
function huddle_split(huddle) {
|
||||
return huddle.split(',').map(s => parseInt(s, 10));
|
||||
}
|
||||
|
||||
exports.full_huddle_name = function (huddle) {
|
||||
const user_ids = huddle_split(huddle);
|
||||
|
||||
const names = user_ids.map(user_id => {
|
||||
const person = people.get_by_user_id(user_id);
|
||||
return person.full_name;
|
||||
});
|
||||
|
||||
return names.join(', ');
|
||||
};
|
||||
|
||||
exports.short_huddle_name = function (huddle) {
|
||||
const user_ids = huddle_split(huddle);
|
||||
|
||||
const num_to_show = 3;
|
||||
let names = user_ids.map(user_id => {
|
||||
const person = people.get_by_user_id(user_id);
|
||||
return person.full_name;
|
||||
});
|
||||
|
||||
names = _.sortBy(names, function (name) { return name.toLowerCase(); });
|
||||
names = names.slice(0, num_to_show);
|
||||
const others = user_ids.length - num_to_show;
|
||||
|
||||
if (others === 1) {
|
||||
names.push("+ 1 other");
|
||||
} else if (others >= 2) {
|
||||
names.push("+ " + others + " others");
|
||||
}
|
||||
|
||||
return names.join(', ');
|
||||
};
|
||||
|
||||
function mark_client_idle() {
|
||||
// When we become idle, we don't immediately send anything to the
|
||||
// server; instead, we wait for our next periodic update, since
|
||||
|
@ -186,8 +109,6 @@ exports.build_user_sidebar = function () {
|
|||
});
|
||||
finish();
|
||||
|
||||
resize.resize_page_components();
|
||||
|
||||
return user_ids; // for testing
|
||||
};
|
||||
|
||||
|
@ -201,45 +122,6 @@ function do_update_users_for_search() {
|
|||
|
||||
const update_users_for_search = _.throttle(do_update_users_for_search, 50);
|
||||
|
||||
function show_huddles() {
|
||||
$('#group-pm-list').addClass("show");
|
||||
}
|
||||
|
||||
function hide_huddles() {
|
||||
$('#group-pm-list').removeClass("show");
|
||||
}
|
||||
|
||||
exports.update_huddles = function () {
|
||||
if (page_params.realm_presence_disabled) {
|
||||
return;
|
||||
}
|
||||
|
||||
const huddles = huddle_data.get_huddles().slice(0, 10);
|
||||
|
||||
if (huddles.length === 0) {
|
||||
hide_huddles();
|
||||
return;
|
||||
}
|
||||
|
||||
const group_pms = huddles.map(huddle => ({
|
||||
user_ids_string: huddle,
|
||||
name: exports.full_huddle_name(huddle),
|
||||
href: hash_util.huddle_with_uri(huddle),
|
||||
fraction_present: buddy_data.huddle_fraction_present(huddle),
|
||||
short_name: exports.short_huddle_name(huddle),
|
||||
}));
|
||||
|
||||
const html = render_group_pms({group_pms: group_pms});
|
||||
ui.get_content_element($('#group-pms')).html(html);
|
||||
|
||||
for (const user_ids_string of huddles) {
|
||||
const count = unread.num_unread_for_person(user_ids_string);
|
||||
set_group_count(user_ids_string, count);
|
||||
}
|
||||
|
||||
show_huddles();
|
||||
};
|
||||
|
||||
exports.compute_active_status = function () {
|
||||
// The overall algorithm intent for the `status` field is to send
|
||||
// `ACTIVE` (aka green circle) if we know the user is at their
|
||||
|
@ -333,7 +215,6 @@ exports.initialize = function () {
|
|||
exports.set_cursor_and_filter();
|
||||
|
||||
exports.build_user_sidebar();
|
||||
exports.update_huddles();
|
||||
|
||||
buddy_list.start_scroll_handler();
|
||||
|
||||
|
@ -351,7 +232,6 @@ exports.initialize = function () {
|
|||
exports.update_presence_info = function (user_id, info, server_time) {
|
||||
presence.update_info_from_event(user_id, info, server_time);
|
||||
exports.redraw_user(user_id);
|
||||
exports.update_huddles();
|
||||
pm_list.update_private_messages();
|
||||
};
|
||||
|
||||
|
@ -370,7 +250,6 @@ exports.on_revoke_away = function (user_id) {
|
|||
exports.redraw = function () {
|
||||
exports.build_user_sidebar();
|
||||
exports.user_cursor.redraw();
|
||||
exports.update_huddles();
|
||||
pm_list.update_private_messages();
|
||||
};
|
||||
|
||||
|
|
|
@ -413,16 +413,6 @@ exports.initialize = function () {
|
|||
$(".tooltip").remove();
|
||||
});
|
||||
|
||||
$('#group-pms').expectOne().on('click', '.selectable_sidebar_block', function (e) {
|
||||
const user_ids_string = $(e.target).parents('li').attr('data-user-ids');
|
||||
const emails = people.user_ids_string_to_emails_string(user_ids_string);
|
||||
narrow.by('pm-with', emails, {trigger: 'sidebar'});
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
popovers.hide_all();
|
||||
$(".tooltip").remove();
|
||||
});
|
||||
|
||||
function do_render_buddy_list_tooltip(elem, title_data) {
|
||||
elem.tooltip({
|
||||
template: render_buddy_list_tooltip(),
|
||||
|
@ -454,7 +444,7 @@ exports.initialize = function () {
|
|||
});
|
||||
|
||||
// PM LIST TOOLTIPS
|
||||
$("body").on('mouseenter', '#pm_user_status, #group_pms_right_sidebar', function (e) {
|
||||
$("body").on('mouseenter', '#pm_user_status', function (e) {
|
||||
$(".tooltip").remove();
|
||||
e.stopPropagation();
|
||||
const elem = $(e.currentTarget);
|
||||
|
@ -466,7 +456,7 @@ exports.initialize = function () {
|
|||
do_render_buddy_list_tooltip(elem, title_data);
|
||||
});
|
||||
|
||||
$("body").on('mouseleave', '#pm_user_status, #group_pms_right_sidebar', function (e) {
|
||||
$("body").on('mouseleave', '#pm_user_status', function (e) {
|
||||
e.stopPropagation();
|
||||
$(e.currentTarget).tooltip('destroy');
|
||||
});
|
||||
|
@ -496,7 +486,7 @@ exports.initialize = function () {
|
|||
// MISC
|
||||
|
||||
(function () {
|
||||
const sel = ["#group-pm-list", "#stream_filters", "#global_filters", "#user_presences"].join(", ");
|
||||
const sel = ["#stream_filters", "#global_filters", "#user_presences"].join(", ");
|
||||
|
||||
$(sel).on("click", "a", function () {
|
||||
this.blur();
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
const huddle_timestamps = new Map();
|
||||
|
||||
exports.process_loaded_messages = function (messages) {
|
||||
let need_resize = false;
|
||||
|
||||
for (const message of messages) {
|
||||
const huddle_string = people.huddle_string(message);
|
||||
|
||||
|
@ -11,12 +9,9 @@ exports.process_loaded_messages = function (messages) {
|
|||
|
||||
if (!old_timestamp || old_timestamp < message.timestamp) {
|
||||
huddle_timestamps.set(huddle_string, message.timestamp);
|
||||
need_resize = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return need_resize;
|
||||
};
|
||||
|
||||
exports.get_huddles = function () {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
const list_selectors = ["#group-pm-list", "#stream_filters", "#global_filters", "#user_presences"];
|
||||
const list_selectors = ["#stream_filters", "#global_filters", "#user_presences"];
|
||||
|
||||
exports.inside_list = function (e) {
|
||||
const $target = $(e.target);
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
const util = require("./util");
|
||||
const huddle_data = require("./huddle_data");
|
||||
|
||||
function maybe_add_narrowed_messages(messages, msg_list) {
|
||||
const ids = [];
|
||||
|
||||
|
@ -58,6 +60,7 @@ exports.insert_new_messages = function insert_new_messages(messages, sent_by_thi
|
|||
messages = messages.map(message_store.add_message_metadata);
|
||||
|
||||
unread.process_loaded_messages(messages);
|
||||
huddle_data.process_loaded_messages(messages);
|
||||
|
||||
// message_list.all is a data-only list that we use to populate
|
||||
// other lists, so we always update this
|
||||
|
@ -90,8 +93,6 @@ exports.insert_new_messages = function insert_new_messages(messages, sent_by_thi
|
|||
notifications.notify_local_mixes(messages, need_user_to_scroll);
|
||||
}
|
||||
|
||||
activity.process_loaded_messages(messages);
|
||||
|
||||
unread_ui.update_unread_counts();
|
||||
resize.resize_page_components();
|
||||
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
const huddle_data = require("./huddle_data");
|
||||
|
||||
const consts = {
|
||||
backfill_idle_time: 10 * 1000,
|
||||
error_retry_time: 5000,
|
||||
|
@ -46,7 +48,7 @@ function process_result(data, opts) {
|
|||
message_util.add_old_messages(messages, opts.msg_list);
|
||||
}
|
||||
|
||||
activity.process_loaded_messages(messages);
|
||||
huddle_data.process_loaded_messages(messages);
|
||||
stream_list.update_streams_sidebar();
|
||||
pm_list.update_private_messages();
|
||||
recent_topics.process_messages(messages);
|
||||
|
|
|
@ -27,25 +27,6 @@ function size_blocks(blocks, usable_height) {
|
|||
}
|
||||
}
|
||||
|
||||
function set_user_list_heights(res, usable_height, buddy_list_wrapper, group_pms) {
|
||||
// Calculate these heights:
|
||||
// res.buddy_list_wrapper_max_height
|
||||
// res.group_pms_max_height
|
||||
const blocks = [
|
||||
{
|
||||
real_height: ui.get_scroll_element(buddy_list_wrapper).prop('scrollHeight'),
|
||||
},
|
||||
{
|
||||
real_height: ui.get_scroll_element(group_pms).prop('scrollHeight'),
|
||||
},
|
||||
];
|
||||
|
||||
size_blocks(blocks, usable_height);
|
||||
|
||||
res.buddy_list_wrapper_max_height = blocks[0].max_height;
|
||||
res.group_pms_max_height = blocks[1].max_height;
|
||||
}
|
||||
|
||||
function get_new_heights() {
|
||||
const res = {};
|
||||
const viewport_height = message_viewport.height();
|
||||
|
@ -67,8 +48,6 @@ function get_new_heights() {
|
|||
res.stream_filters_max_height = Math.max(80, res.stream_filters_max_height);
|
||||
|
||||
// RIGHT SIDEBAR
|
||||
const buddy_list_wrapper = $('#buddy_list_wrapper').expectOne();
|
||||
const group_pms = $('#group-pms').expectOne();
|
||||
|
||||
// Calculate our top offset, which should typically be 50px,
|
||||
// even though we sometimes split that as 40px of margin
|
||||
|
@ -92,20 +71,9 @@ function get_new_heights() {
|
|||
- $("#userlist-header").safeOuterHeight(true)
|
||||
- $("#user_search_section").safeOuterHeight(true)
|
||||
- invite_user_link_height
|
||||
- parseInt(group_pms.css("marginTop"), 10)
|
||||
- parseInt(group_pms.css("marginBottom"), 10)
|
||||
- $("#group-pm-header").safeOuterHeight(true)
|
||||
- $("#sidebar-keyboard-shortcuts").safeOuterHeight(true);
|
||||
|
||||
// set these
|
||||
// res.buddy_list_wrapper_max_height
|
||||
// res.group_pms_max_height
|
||||
set_user_list_heights(
|
||||
res,
|
||||
usable_height,
|
||||
buddy_list_wrapper,
|
||||
group_pms
|
||||
);
|
||||
res.buddy_list_wrapper_max_height = Math.max(80, usable_height);
|
||||
|
||||
return res;
|
||||
}
|
||||
|
@ -154,7 +122,6 @@ function left_userlist_get_new_heights() {
|
|||
|
||||
res.stream_filters_max_height = blocks[0].max_height;
|
||||
res.buddy_list_wrapper_max_height = blocks[1].max_height;
|
||||
res.group_pms_max_height = 0;
|
||||
|
||||
return res;
|
||||
}
|
||||
|
@ -246,8 +213,6 @@ exports.resize_sidebars = function () {
|
|||
const h = narrow_window ? left_userlist_get_new_heights() : get_new_heights();
|
||||
|
||||
$("#buddy_list_wrapper").css('max-height', h.buddy_list_wrapper_max_height);
|
||||
$("#group-pms").css('max-height', h.group_pms_max_height);
|
||||
|
||||
$("#stream-filters-container").css('max-height', h.stream_filters_max_height);
|
||||
|
||||
return h;
|
||||
|
|
|
@ -292,7 +292,6 @@ exports.initialize_kitchen_sink_stuff = function () {
|
|||
|
||||
if (page_params.realm_presence_disabled) {
|
||||
$("#user-list").hide();
|
||||
$("#group-pm-list").hide();
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
@ -9,12 +9,7 @@ $left_col_size: 19px;
|
|||
$topic_indent: calc($far_left_gutter_size + $left_col_size + 4px);
|
||||
|
||||
#left-sidebar {
|
||||
#group-pm-list {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#user-list,
|
||||
#group-pm-list {
|
||||
#user-list {
|
||||
padding-left: 10px;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -375,7 +375,6 @@ on a dark background, and don't change the dark labels dark either. */
|
|||
.top_left_row:hover,
|
||||
.bottom_left_row:hover,
|
||||
#stream_filters li.highlighted_stream,
|
||||
#group-pms li:hover,
|
||||
#user_presences li:hover,
|
||||
#user_presences li.highlighted_user {
|
||||
background-color: hsla(136, 25%, 73%, 0.2);
|
||||
|
|
|
@ -6,21 +6,18 @@
|
|||
text-decoration: none;
|
||||
}
|
||||
|
||||
#group-pms li:hover,
|
||||
#user_presences li:hover,
|
||||
#user_presences li.highlighted_user {
|
||||
background-color: hsl(93, 19%, 88%);
|
||||
}
|
||||
|
||||
#buddy_list_wrapper,
|
||||
#group-pms {
|
||||
#buddy_list_wrapper {
|
||||
position: relative;
|
||||
margin-left: 0;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
#user_presences,
|
||||
#group-pms {
|
||||
#user_presences {
|
||||
list-style-position: inside; /* Draw the bullets inside our box */
|
||||
}
|
||||
|
||||
|
@ -63,8 +60,7 @@
|
|||
}
|
||||
}
|
||||
|
||||
#user_presences li,
|
||||
#group-pms li {
|
||||
#user_presences li {
|
||||
list-style-type: none;
|
||||
|
||||
border-radius: 4px;
|
||||
|
@ -72,13 +68,7 @@
|
|||
padding-right: 15px;
|
||||
}
|
||||
|
||||
#group-pm-title {
|
||||
margin: 10px 0px 0px 0px;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
#user_presences .user_circle,
|
||||
#group-pms .user_circle_fraction {
|
||||
#user_presences .user_circle {
|
||||
width: 8px;
|
||||
height: 8px;
|
||||
margin-top: 0px;
|
||||
|
@ -88,8 +78,7 @@
|
|||
display: block;
|
||||
}
|
||||
|
||||
#user_presences a,
|
||||
#group-pms a {
|
||||
#user_presences a {
|
||||
color: inherit;
|
||||
margin-left: 0px;
|
||||
}
|
||||
|
@ -100,12 +89,6 @@
|
|||
margin-left: 5px;
|
||||
}
|
||||
|
||||
.group-pms-sidebar-entry .selectable_sidebar_block {
|
||||
display: flex;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.group-pm-link,
|
||||
.user-presence-link,
|
||||
.user_sidebar_entry .selectable_sidebar_block {
|
||||
overflow: hidden;
|
||||
|
@ -126,24 +109,17 @@
|
|||
opacity: 0.5;
|
||||
}
|
||||
|
||||
.group-pm-link {
|
||||
width: calc(100% - 60px);
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.selectable_sidebar_block {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.group-pms-sidebar-entry,
|
||||
.user_sidebar_entry {
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.user_sidebar_entry .count,
|
||||
.group-pms-sidebar-entry .count {
|
||||
.user_sidebar_entry .count {
|
||||
float: right;
|
||||
padding: 0 4px;
|
||||
background-color: hsl(105, 2%, 50%);
|
||||
|
@ -164,10 +140,6 @@
|
|||
display: none;
|
||||
}
|
||||
|
||||
.group-pms-sidebar-entry .count {
|
||||
margin-right: 16px;
|
||||
}
|
||||
|
||||
.user_sidebar_entry.user-with-count .count {
|
||||
display: block;
|
||||
}
|
||||
|
@ -193,16 +165,7 @@
|
|||
padding-bottom: 9px;
|
||||
}
|
||||
|
||||
#group-pm-list {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#group-pm-list.show {
|
||||
display: block;
|
||||
}
|
||||
|
||||
#userlist-header,
|
||||
#group-pm-header {
|
||||
#userlist-header {
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,14 +0,0 @@
|
|||
{{! User Presence rows }}
|
||||
{{#each group_pms}}
|
||||
<li data-user-ids="{{user_ids_string}}" class="group-pms-sidebar-entry narrow-filter">
|
||||
<div class="selectable_sidebar_block" id="group_pms_right_sidebar" data-user-ids-string="{{user_ids_string}}" data-is-group="true">
|
||||
{{#if fraction_present}}
|
||||
<span class="user_circle_fraction" style="background:hsla(106, 74%, 44%, {{fraction_present}});"></span>
|
||||
{{else}}
|
||||
<span class="user_circle_fraction" style="background:none; border-color:hsl(0, 0%, 50%);"></span>
|
||||
{{/if}}
|
||||
<a href="{{href}}" data-name="{{name}}" class="group-pm-link">{{short_name}}</a>
|
||||
<span class="count"><span class="value"></span></span>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
|
@ -16,13 +16,6 @@
|
|||
<div id="buddy_list_wrapper_padding"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="group-pm-list">
|
||||
<div id="group-pm-header">
|
||||
<h4 class='sidebar-title' id='group-pm-title'>{{ _('GROUP PMs') }}</h4>
|
||||
</div>
|
||||
<ul id="group-pms" class="filters scrolling_list" data-simplebar>
|
||||
</ul>
|
||||
</div>
|
||||
{% if show_invites %}
|
||||
<a id="invite-user-link" href="#invite"><i class="fa fa-plus-circle" aria-hidden="true"></i>{{ _('Invite more users') }}</a>
|
||||
{% endif %}
|
||||
|
|
|
@ -626,8 +626,6 @@ html_rules: List["Rule"] = whitespace_rules + prose_style_rules + [
|
|||
'templates/zerver/app/markdown_help.html',
|
||||
# 5xx page doesn't have external CSS
|
||||
'static/html/5xx.html',
|
||||
# Group PMs color is dynamically calculated
|
||||
'static/templates/group_pms.hbs',
|
||||
|
||||
# exclude_pattern above handles color, but have other issues:
|
||||
'static/templates/draft.hbs',
|
||||
|
|
Loading…
Reference in New Issue