/* Top Bar */
// a.k.a. the panel

$privacy_indicator_color: $orange_3;

$panel_bg_color: if($variant == 'light', $light_3, $dark_5);
$panel_fg_color: if($variant == 'light', $fg_color, darken($fg_color, 5%));
$panel_border_color: if($variant == 'light', darken($panel_bg_color, 2%), $panel_bg_color);

$panel_system_fg_color: $system_fg_color; // always light for lockscreen, overview and other transparent panels
$panel_height: 2.2em;
$panel_transition_duration: 250ms; // same as the overview transition duration

#panel {
  background-color: $panel_bg_color;
  font-weight: bold;
  height: $panel_height;
  @extend %numeric;
  transition-duration: $panel_transition_duration;
  box-shadow: inset 0 -1px 0 0  $panel_border_color;

  // panel menus
  .panel-button {
    @include panel_button($panel_fg_color);
    -natural-hpadding: $base_padding * 2;
    -minimum-hpadding: $base_padding;

    // status area icons
    .system-status-icon {
      icon-size: $scalable_icon_size;
      padding: $base_padding;
      margin: 0 $base_margin;
    }

    // app menu icon
    .app-menu-icon {
      -st-icon-style: symbolic;
      // dimensions of the icon are hardcoded
    }

    // reduce margin between icons in combined menu
    .panel-status-menu-box,
    .panel-status-indicators-box {
      spacing: $base_margin;

      > .system-status-icon {
        padding: 0;
      }
    }

    &#panelActivities {
      & StBoxLayout {
        padding: 0 $scaled_padding * 0.5; // use em padding to keep proportion
        spacing: 5px;
      }

      & .workspace-dot {
        border-radius: $forced_circular_radius;
        min-width: $scalable_icon_size * 0.5;
        min-height: $scalable_icon_size * 0.5;
        background-color: $panel_fg_color;
      }
    }

    // screen activity indicators
    &.screen-recording-indicator,
    &.screen-sharing-indicator {
      StBoxLayout {
        spacing: $scaled_padding;
      }

      StIcon {
        icon-size: $scalable_icon_size;
      }
    }

    &.screen-recording-indicator {
      @include panel_button($screenshot_ui_button_red, $fg:$panel_system_fg_color, $flat: false);
    }

    &.screen-sharing-indicator {
      @include panel_button($privacy_indicator_color, $flat: false);
    }

    // clock
    &.clock-display {
      // The clock display needs to have the background on .clock because
      // we want to exclude the do-not-disturb indicator from the background
      // see _drawing.scss for override details
      @include panel_button($highlighted_child: true, $child_class:".clock");

      .clock {
        // the highlighted child
      }

      .messages-indicator {
        icon-size: $scalable_icon_size;
      }
    }
  }

  // transparent panel on lock & login screens
  &.unlock-screen,
  &.login-screen,
  &:overview {
    background-color: transparent;
    box-shadow: none;

    .panel-button {
      @include panel_button($panel_system_fg_color, $fg:$panel_system_fg_color);

      &#panelActivities .workspace-dot {
        background-color: $panel_system_fg_color;
      }

      // clock
      &.clock-display {
        @include panel_button($panel_system_fg_color, $fg:$panel_system_fg_color, $highlighted_child: true, $child_class:".clock");
      }

      // unfortunate duplication so these indicators have styles
      &.screen-recording-indicator {
        @include panel_button($screenshot_ui_button_red, $fg:$panel_system_fg_color, $flat: false);
      }

      &.screen-sharing-indicator {
        @include panel_button($privacy_indicator_color, $flat: false);
      }
    }
  }

  .panel-status-indicators-box,
  .panel-status-menu-box {
    spacing: 2px;
  }

  // spacing between power icon and (optional) percentage label
  .power-status.panel-status-indicators-box {
    spacing: 0;
  }

  // important privacy related indicators
  .privacy-indicator { color: $privacy_indicator_color; }
}

// App Menu
#appMenu {
  spacing: $scaled_padding;
  .label-shadow { color: transparent; }
}

#appMenu .panel-status-menu-box {
  padding: 0 $scaled_padding;
  spacing: $scaled_padding;
}


// Clock
.clock-display-box {
  spacing: 2px;
  .clock {
    padding-left: $scaled_padding * 2;
    padding-right: $scaled_padding * 2;
  }
}
