Add Op specific actions to contextMenu
Show context menu when left clicking user
Switch to using data attributes as selectors
remove ban as possible action
Move `isOpInChannel()` to utils.js
Capitalize strings
use CSS.escape for `ownNick`
use string interpolation
properly point to findCurrentNetworkChan
Move context menu item actions to command pattern
add icons for context menu actions
Make list in context menu always list.
remove empty lines in style.css
use info circle instead of question circle
change context menu labels.
change contextMenuActions.execute to more explicit method.
- `{}` is not falsey so Handlebars would try to render the block (see http://handlebarsjs.com/builtin_helpers.html#conditionals), therefore with a `nick` of `undefined`, which breaks `colorClass` (doing `undefined.length)
- There does not seem to be a way to check for empty objects in Handlebars (sigh) so checking `from.nick` seems like the most reliable way to check for a non-empty value. Alternatively, we could use a helper to check `{}` but meh.
As an extra, make sure time placeholder cannot be selected anymore, and do not do an extra call to `tz` helper when time is not relevant/displayed.
I tried to entirely remove `time`/`from` blocks, but because of flexbox layout, that broke message alignment...
This has the benefit of not adding `.preview` divs everywhere, anytime we use `parse()`, and also to un-tie the position of the preview blocks from the result of the helper. This means that templates that call `parse` and have some extra markup after that are not constrained anymore.
This is effectively an alternative, better way to fix https://github.com/thelounge/lounge/issues/1343, but the initial fix that was put in place (https://github.com/thelounge/lounge/pull/1347) is still relevant, for example to make sure a preview stays hidden (and does not add extra margin/padding/etc.) if the link does not prefetch.