bigbluebutton-Github/bigbluebutton-html5/imports/ui/components/whiteboard/styles.js
KDSBrowne 3bfdeb9cfd
feat(whiteboard): Reuse poll result diagram as a whiteboard shape (#20350)
* create poll shape to render chat poll component
2024-06-10 17:12:40 -04:00

188 lines
4.1 KiB
JavaScript

import styled, { createGlobalStyle } from 'styled-components';
const TldrawV2GlobalStyle = createGlobalStyle`
${({ isPresenter, hasWBAccess }) => (!isPresenter && hasWBAccess) && `
[data-testid="tools.hand"] {
display: none !important;
}
`}
${({ isMultiUserActive }) => !isMultiUserActive && `
.tl-nametag {
display: none;
}
`}
${({ isToolbarVisible }) => (!isToolbarVisible) && `
.tlui-toolbar,
.tlui-style-panel__wrapper {
visibility: hidden;
}
#WhiteboardOptionButton {
opacity: 0.2;
}
`}
#whiteboard-element {
position: relative;
height: 100%;
}
#whiteboard-element > * {
position: relative;
height: 100%;
}
#whiteboard-element .tl-overlays {
left: 0px;
bottom: 0px;
}
.tlui-navigation-zone,
.tlui-help-menu,
.tlui-debug-panel {
display: none !important;
}
.tlui-style-panel__wrapper {
right: 0px;
top: -0.35rem;
position: relative;
}
// Add the following lines to override height and width attributes for .tl-overlays__item
.tl-overlays__item {
height: auto !important;
width: auto !important;
}
${({ isPresenter, isMultiUserActive }) => !isPresenter && !isMultiUserActive && `
.tl-cursor use {
transform: scale(0.05)!important;
}
.tl-collaborator__cursor {
position: absolute !important;
left: -7px !important;
top: -6px !important;
}
`}
.tlui-toolbar__extras {
position: fixed !important;
top: -2px !important;
left: 40px !important;
}
${({ isRTL }) => (!isRTL) && `
.tlui-toolbar__extras {
position: fixed !important;
top: -2px !important;
right: 50px !important;
}
`}
[data-testid="main.page-menu"],
[data-testid="main.menu"],
[data-testid="tools.more.laser"],
[data-testid="tools.asset"],
[data-testid="page-menu.button"],
tlui-menu-zone {
display: none !important;
}
.tl-collaborator__cursor {
height: auto !important;
width: auto !important;
}
.tlui-layout__mobile .tlui-button__tool {
height: 30px !important;
width: 20px !important;
}
.tlui-toolbar__inner {
flex-direction: column-reverse !important;
}
.tlui-toolbar__tools {
flex-direction: column !important;
}
.tlui-toolbar {
align-items: end !important;
}
.tlui-layout__bottom {
grid-row: auto / auto !important;
position: absolute !important;
right: 10px !important;
}
[data-side="bottom"][data-align="end"][data-state="open"][role="dialog"] {
right: 3.5rem !important;
bottom: 9.5rem !important;
}
[id*="shape:poll-result"] {
background-color: white !important;
}
${({ presentationHeight }) => {
const minRange = { height: 345, top: 14 };
const maxRange = { height: 1200, top: 384 };
const interpolateTop = (height) => {
if (height <= minRange.height) return `${minRange.top}px`;
if (height >= maxRange.height) return `${maxRange.top}px`;
const slope = (maxRange.top - minRange.top) / (maxRange.height - minRange.height);
const interpolatedTop = minRange.top + slope * (height - minRange.height);
return `${interpolatedTop}px`;
};
const topValue = interpolateTop(presentationHeight);
let additionalStyles = '';
if (presentationHeight <= 332) {
additionalStyles += `
.tlui-layout__mobile .tlui-button__tool > .tlui-icon {
height: 11px !important;
width: 11px !important;
}
.tlui-toolbar__tools {
flex-direction: row !important;
}
.tlui-toolbar__inner {
flex-direction: row-reverse !important;
}
.tlui-layout__bottom {
grid-row: auto / auto !important;
position: relative !important;
top: 2px !important;
}
[data-side="top"][role="dialog"] {
left: 10rem !important;
}
`;
}
return `.tlui-layout__bottom { top: ${topValue} !important; }${additionalStyles}`;
}}
`;
const EditableWBWrapper = styled.div`
&, & > :first-child {
cursor: inherit !important;
}
`;
export default {
TldrawV2GlobalStyle,
EditableWBWrapper,
};