// Copyright 2022 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only

body {
  // Overridden by ts/background.ts
  --zoom-factor: 1;

  // These should match the logic in `ts/types/Settings.ts`'s `getTitleBarVisibility`.
  //
  // It'd be great if we could use the `:fullscreen` selector here, but that does not seem
  //   to work with Electron, at least on macOS.
  --title-bar-drag-area-height: 0px; // Needs to have a unit to work with `calc()`.
  --draggable-app-region: initial;
  &.os-macos:not(.full-screen) {
    --title-bar-drag-area-height: calc(28px / var(--zoom-factor));
    --draggable-app-region: drag;
  }

  --window-height: 100vh;
  --window-width: 100vw;
  --unscaled-window-border: 0px;
  --window-border: calc(var(--unscaled-window-border) / var(--zoom-factor));
  --titlebar-height: 0px;

  &.os-has-custom-titlebar {
    &:not(.maximized) {
      --unscaled-window-border: 1px;
    }

    --titlebar-height: calc(28px / var(--zoom-factor));
    --window-width: calc(100vw - 2 * var(--window-border));
    --window-height: calc(
      100vh - var(--titlebar-height) - var(--window-border)
    );
  }
}
