In Chromium < 72 an extension is needed to share the screen
(https://github.com/nextcloud/spreed-screensharing-chrome-extension).
Once installed, the extension enables itself only in those pages that
contain an element with id "app" and class
"nc-enable-screensharing-extension" when the document is loaded.
As the element can not be added after the document has loaded and the
screen sharing should work also when Talk is enabled in other apps a
(hacky and very likely not compliant) meta element is added in the
header element to be found by the extension whenever Talk is used.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
The Talk sidebar is only shown for file shares, so there is no need to
load it for folder shares. Moreover, this also prevents some of the
hacks used to show the Talk sidebar to mess with the layout used for
folders.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
When the public share page is loaded "publicshare.js" is initialized,
which modifies the page to add a Talk sidebar. The default layout has
the header, content and footer in a flex column; when the sidebar is
added the layout id modified to still have the header and content in a
flex column, but the content is now a flex row that includes
"#app-content" and the sidebar, and the footer is moved inside
"#app-content" so it does not affect the sidebar.
The Talk sidebar includes a call container at the top, which is only
shown during calls, and below it a call button and a chat view which are
always shown.
The CSS styles are a mix of the styles for the public share auth page
and the Files app, as well as some rules copied from the main
"style.scss" file.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>