• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

alkem-io / client-web / #5755

26 Sep 2023 07:02AM UTC coverage: 6.337%. First build
#5755

Pull #4795

travis-ci

Pull Request #4795: Whiteboards fullscreen functionality

173 of 8142 branches covered (0.0%)

Branch coverage included in aggregate %.

40 of 40 new or added lines in 7 files covered. (100.0%)

1292 of 14978 relevant lines covered (8.63%)

0.42 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/src/core/ui/button/FullscreenButton.tsx
1
import { Fullscreen, FullscreenExit } from '@mui/icons-material';
2
import { IconButton } from '@mui/material';
3
import { useTranslation } from 'react-i18next';
4
import { useFullscreen } from '../fullscreen/useFullscreen';
5
import { useEffect } from 'react';
6

7
interface FullscreenButtonProps {
8
  element?: HTMLElement;
9
  onChange?: (state: boolean) => void;
10
  forceExit?: boolean; // New prop to declaratively control exit
11
}
×
12

×
13
const FullscreenButton = ({ element, onChange, forceExit = false }: FullscreenButtonProps) => {
×
14
  const { t } = useTranslation();
15
  const { fullscreen, setFullscreen } = useFullscreen(element);
×
16

×
17
  // Declaratively handle forced exit
×
18
  useEffect(() => {
19
    if (forceExit && fullscreen) {
20
      setFullscreen(false);
21
      onChange?.(false);
22
    }
23
  }, [forceExit, fullscreen, setFullscreen, onChange]);
24

25
  const handleClick = () => {
26
    setFullscreen(!fullscreen);
27
    onChange?.(!fullscreen);
28
  };
29

30
  return (
31
    <IconButton
32
      onClick={handleClick}
33
      title={t('buttons.fullscreen')}
34
      aria-label={t('buttons.fullscreen')}
35
      color="primary"
36
    >
37
      {fullscreen ? <FullscreenExit /> : <Fullscreen />}
38
    </IconButton>
39
  );
40
};
41

42
export default FullscreenButton;
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc