Banner shown on deleting drafts was broken because "banner-wrapper"
class was missing in container element that led to some CSS not
being applied.
Also, needed to change the "text-align" CSS property to override
the "center" value set for overlay header text because "banner-label"
flex element is allowed to grow and take more width after recent
changes in d00cf1a.
Previously, deleting drafts was too easy, which could result in
accidentally losing important information.
This commit adds a green confirmation banner showing "N drafts were
deleted" and "Undo" button to restore deleted drafts.
Fixes: #32995.
This commit laying the groundwork for dynamic re-rendering of
drafts.
Previously, the draft list was rendered once with the overlay,
and re-rendering wasn't needed. However, to support features like
"undo," we now need to re-render the draft list dynamically.
This will help up achieve 2 things:
* Have a lot of common CSS for drafts and scheduled messages.
* Have common JS for things like keyboard navigation between drafts
and scheduled messages.
`{{#tr}}` supports HTML and allows translators to accidentally
introduce HTML, so it’s safer to use the `{{t}}` helper unless HTML is
needed.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
Ever since we started bundling the app with webpack, there’s been less
and less overlap between our ‘static’ directory (files belonging to
the frontend app) and Django’s interpretation of the ‘static’
directory (files served directly to the web).
Split the app out to its own ‘web’ directory outside of ‘static’, and
remove all the custom collectstatic --ignore rules. This makes it
much clearer what’s actually being served to the web, and what’s being
bundled by webpack. It also shrinks the release tarball by 3%.
Signed-off-by: Anders Kaseorg <anders@zulip.com>