github.com/argoproj/argo-cd/v3@v3.2.1/ui/src/app/applications/components/pod-logs-viewer/pod-logs-viewer.scss (about)

     1  @import 'node_modules/argo-ui/src/styles/config';
     2  @import 'node_modules/argo-ui/src/styles/theme';
     3  
     4  $pod-background-light: $argo-color-teal-3;
     5  $pod-background-dark: $dark-theme-background-2;
     6  :root {
     7      --pod-background-light: #{$pod-background-light};
     8      --pod-background-dark: #{$pod-background-dark};
     9  }
    10  
    11  .pod-logs-viewer {
    12      height: 90%;
    13      font-size: 14px;
    14      font-family: monospace;
    15      background-color: white;
    16      padding: 0;
    17      color: black;
    18  
    19      &--inverted {
    20          background-color: black;
    21          color: white;
    22          scrollbar-color: $argo-color-gray-5 $dark-theme-background-2;
    23      }
    24  
    25      &__settings {
    26          display: flex;
    27  
    28          .argo-checkbox,
    29          .argo-checkbox input,
    30          .argo-checkbox input:focus {
    31              appearance: none;
    32              outline: none !important;
    33              border: none !important;
    34              width: 12px;
    35              margin-right: 8px;
    36              input:checked + span,
    37              input + span {
    38                  border: none;
    39                  width: 12px !important;
    40                  background-color: transparent;
    41              }
    42              .fa {
    43                  display: none;
    44              }
    45          }
    46  
    47          .argo-field {
    48              @include themify($themes){
    49                  background-color: themed('background-2');
    50              }
    51          }
    52  
    53          margin-bottom: 1em;
    54  
    55          > * {
    56              display: flex;
    57              align-items: center;
    58          }
    59  
    60          .argo-button {
    61              margin-right: 5px;
    62              border: 1px solid transparent;
    63  
    64              .fa {
    65                  width: 12px;
    66              }
    67          }
    68      }
    69  
    70      &__filter {
    71          display: flex;
    72          margin-left: auto;
    73          width: 320px;
    74  
    75          .argo-button {
    76              display: flex;
    77              align-items: center;
    78          }
    79      }
    80  
    81      &__menu {
    82          display: flex;
    83          margin-bottom: 1em;
    84          padding-left: 10px;
    85          .page-info {
    86              margin-left: auto;
    87              margin-right: auto;
    88              padding: 3px 8px;
    89              text-overflow: clip;
    90              white-space: nowrap;
    91          }
    92          .nav-container {
    93              display: flex;
    94              align-self: flex-start;
    95              padding: 3px 8px;
    96              cursor: pointer;
    97              border-radius: 7px;
    98              align-items: center;
    99              justify-content: center;
   100              border: 1px solid black;
   101              margin: 0 2px;
   102              &:hover {
   103                  background-color: black;
   104                  color: white;
   105              }
   106              &.disabled {
   107                  opacity: 0.5;
   108                  cursor: not-allowed;
   109              }
   110          }
   111          i {
   112              margin-left: 5px;
   113          }
   114  
   115          &--inverted {
   116              i {
   117                  border-color: white;
   118                  &:hover {
   119                      background-color: white;
   120                      color: black;
   121                  }
   122              }
   123          }
   124      }
   125  
   126      &__line {
   127          padding-left: 0.5ch;
   128  
   129          &--selected {
   130              background-color: red;
   131              box-shadow: -3px 0 0 0 darkred;
   132          }
   133  
   134          &__menu {
   135              border-radius: 6px;
   136              text-align: center;
   137              min-width: 25px;
   138              opacity: 0;
   139              flex-shrink: 0;
   140              box-shadow: 0 0 0 1px red inset;
   141              &--visible {
   142                  opacity: 1;
   143              }
   144              &:hover {
   145                  color: red;
   146              }
   147          }
   148  
   149          &__number {
   150              text-align: right;
   151              min-width: 3ch;
   152              margin-right: 2ch;
   153              opacity: 0.5;
   154              cursor: pointer;
   155              &:hover {
   156                  opacity: 1;
   157              }
   158          }
   159  
   160          &__pod {
   161              padding-left: 5px;
   162              padding-right: 5px;
   163              span {
   164                  display: none;
   165                  text-overflow: ellipsis;
   166                  overflow: hidden;
   167              }
   168              width: 3ch;
   169              min-width: 3ch;
   170          }
   171          &__timestamp {
   172              padding-left: 5px;
   173              padding-right: 5px;
   174              span {
   175                  display: none;
   176                  text-overflow: ellipsis;
   177                  overflow: hidden;
   178              }
   179              width: 3ch;
   180              min-width: 3ch;
   181          }
   182      }
   183  
   184      &--pod-name-visible {
   185          .pod-logs-viewer__line__pod {
   186              span {
   187                  display: inherit;
   188              }
   189              i {
   190                  display: none;
   191              }
   192              width: 30ch;
   193              min-width: 30ch;
   194          }
   195      }
   196      &--pod-timestamp-visible {
   197          .pod-logs-viewer__line__timestamp {
   198              span {
   199                  display: inherit;
   200              }
   201              i {
   202                  display: none;
   203              }
   204              width: 30ch;
   205              min-width: 30ch;
   206          }
   207      }
   208  
   209      &__pod-name-toggle {
   210          cursor: pointer;
   211          position: fixed;
   212          top: 50%;
   213          transform: translateY(2em);
   214          z-index: 1;
   215      }
   216  
   217      .pod-name-link {
   218          cursor: pointer;
   219          transition: opacity 0.2s ease;
   220          &:hover {
   221              text-decoration: underline;
   222              opacity: 0.8;
   223          }
   224      }
   225  }
   226  
   227  .select-container {
   228      position: absolute;
   229      top: 100%;
   230      left: 0;
   231      background: white;
   232      border: 1px solid #ccc;
   233      border-radius: 4px;
   234      box-shadow: 0 2px 4px rgba(0,0,0,0.1);
   235      z-index: 1000;
   236      min-width: 200px;  // Ensure dropdown is wide enough for pod names
   237  
   238      &.dark-mode {
   239          background: #333; /* Dark background for dark mode */
   240          border: 1px solid #555; /* Subtle border for dark mode */
   241          color: #eee; /* Light text for dark mode */
   242      }
   243  }
   244  
   245  .select-options {
   246      max-height: 200px;
   247      overflow-y: auto;
   248      
   249      .select-option {
   250          padding: 8px 10px;
   251          cursor: pointer;
   252          white-space: nowrap;  // Prevent pod names from wrapping
   253          
   254          &:hover {
   255              background-color: #f5f5f5;
   256          }
   257  
   258          &.dark-mode {
   259              background-color: #444; /* Hover effect in dark mode */
   260              &:hover {
   261                  background-color: #555;
   262              }
   263          }
   264          
   265          &.selected {
   266              background-color: #e6f3ff;
   267          }
   268          &.dark-mode.selected {
   269              background-color: #666; /* Selection highlight in dark mode */
   270          }
   271      }
   272  }
   273  
   274  .clear-highlight {
   275      padding: 8px 10px;
   276      border-top: 1px solid #ccc;
   277      text-align: center;
   278      color: #1750d3;
   279      cursor: pointer;
   280      
   281      &:hover {
   282          background-color: #f0f0f0;
   283      }
   284  
   285      &.dark-mode {
   286          border-top: 1px solid #555;
   287          color: #5a9bd3;
   288          &:hover {
   289              background-color: #333;
   290          }
   291      }
   292  }
   293  
   294  .copySuccess {
   295      // ARGO_SUCCESS_COLOR
   296      background-color: #18be94 !important;
   297  }
   298  .copyFailure {
   299      // ARGO_FAILED_COLOR
   300      background-color: #e96d76 !important;
   301  }
   302  .copyStandard {
   303      background-color: #6d7f8b !important;
   304  }
   305  
   306  .container-item {
   307      font-size: 0.9em;
   308      color: $argo-color-teal-5;
   309  }
   310  
   311  code {
   312      background-color: inherit;
   313      border: none;
   314      padding: inherit;
   315      font-family: inherit;
   316      font-weight: inherit;
   317      color: inherit;
   318  }
   319  
   320  .ReactVirtualized__Grid__innerScrollContainer {
   321      overflow: initial !important;
   322  }
   323  
   324  /* Hide scrollbar for Chrome, Safari and Opera */
   325  .noscroll::-webkit-scrollbar {
   326      display: none;
   327  }
   328  
   329  /* Hide scrollbar for IE, Edge and Firefox */
   330  .noscroll {
   331      -ms-overflow-style: none;  /* IE and Edge */
   332      scrollbar-width: none;  /* Firefox */
   333  }