github.com/argoproj/argo-cd/v3@v3.2.1/ui/src/app/applications/components/application-pod-view/pod-view.scss (about) 1 @import 'node_modules/argo-ui/src/styles/config'; 2 3 $pod-size: 25px; 4 $gutter: 3px; 5 $pods-per-row: 8; 6 $pods-per-column: 4; 7 $max-rows: 5; 8 $num-stats: 2; 9 10 $pod-age-icon-clr: #ffce25; 11 12 .circle-icon { 13 color: $pod-age-icon-clr; 14 font-size: 10px; 15 } 16 17 .pod-view { 18 &__settings { 19 align-items: center; 20 display: flex; 21 margin-bottom: 1em; 22 &__section { 23 margin-left: 10px; 24 padding-right: 10px; 25 border-right: 1px solid $argo-color-gray-4; 26 &:last-child { 27 border-right: none; 28 } 29 } 30 } 31 32 &__nodes-container { 33 display: flex; 34 flex-wrap: wrap; 35 } 36 37 &__node { 38 $pod-container-width: $pods-per-row * ($pod-size + (2 * $gutter)) + 4 * $gutter; 39 $pod-container-height: $pods-per-column * ($pod-size + (2 * $gutter)) + 4 * $gutter; 40 $padding: 15px; 41 $stat-width: 12px; 42 padding: $padding; 43 margin: 10px; 44 margin-bottom: 14px !important; 45 width: $pod-container-width + 2 * $padding; 46 display: flex; 47 flex-direction: column; 48 justify-content: space-between; 49 50 &--large { 51 width: $pod-container-width + (2 * $padding) + ($num-stats * ($stat-width + 2 * $gutter)) + 6 * $gutter; 52 } 53 &__container { 54 display: flex; 55 &--header { 56 align-items: center; 57 margin-bottom: 1em; 58 height: 100%; 59 } 60 &--stats { 61 margin-left: -2 * $gutter; 62 margin-right: 4 * $gutter; 63 } 64 } 65 &__info { 66 margin-top: 1em; 67 display: flex; 68 justify-content: end; 69 div { 70 border-radius: 3px; 71 background-color: $argo-color-gray-3; 72 color: $argo-color-gray-7; 73 margin-right: 5px; 74 padding: 3px 5px; 75 } 76 } 77 &__info--large { 78 margin: 1em 0; 79 padding: 10px; 80 border-radius: 3px; 81 background-color: $argo-color-gray-3; 82 color: $argo-color-gray-6; 83 max-height: 100px; 84 overflow: auto; 85 &__item { 86 line-height: 20px; 87 display: flex; 88 89 &__name { 90 max-width: 60%; 91 overflow: hidden; 92 text-overflow: ellipsis; 93 white-space: nowrap; 94 } 95 &__value { 96 font-weight: 500; 97 margin-left: auto; 98 max-width: 40%; 99 overflow: hidden; 100 text-overflow: ellipsis; 101 white-space: nowrap; 102 } 103 } 104 } 105 &__label { 106 margin-top: 1em; 107 font-size: 10px; 108 text-align: center; 109 } 110 &__pod-container { 111 flex-direction: column; 112 width: $pod-container-width; 113 margin-top: auto; 114 &__pods { 115 display: flex; 116 flex-wrap: wrap; 117 width: 100%; 118 background-color: $argo-color-gray-3; 119 border-radius: 3px; 120 padding: $gutter * 2; 121 margin-right: -1 * $gutter; 122 margin-bottom: -1 * $gutter; 123 } 124 } 125 126 &__pod { 127 border-radius: 3px; 128 width: $pod-size; 129 height: $pod-size; 130 margin: $gutter; 131 cursor: pointer; 132 display: flex; 133 align-items: center; 134 justify-content: center; 135 background-color: $argo-color-gray-5; 136 i.fa { 137 color: white !important; 138 } 139 &--succeeded, 140 &--healthy { 141 background-color: $argo-success-color; 142 &:hover { 143 background-color: $argo-success-color-dark; 144 } 145 } 146 &--pending, 147 &--suspended { 148 background-color: $argo-status-warning-color; 149 &:hover { 150 background-color: darken($argo-status-warning-color, 10%); 151 } 152 } 153 &--running, 154 &--progressing { 155 background-color: $argo-running-color; 156 &:hover { 157 background-color: $argo-running-color-dark; 158 } 159 } 160 &--failed, 161 &--degraded { 162 background-color: $argo-failed-color; 163 border: 2px solid rgba(0, 0, 0, 0.3); 164 &:hover { 165 background-color: $argo-failed-color-dark; 166 } 167 } 168 &--unknown, 169 &--missing { 170 background-color: $argo-color-gray-5; 171 &:hover { 172 background-color: $argo-color-gray-6; 173 } 174 } 175 &__new-pod-icon { 176 background: none; 177 color: $pod-age-icon-clr; 178 display: block; 179 left: 20px; 180 margin: 0px; 181 position: absolute; 182 top: -4px; 183 font-size: 10px; 184 } 185 &__stat-tooltip { 186 text-align: left; 187 188 i { 189 display: inline-block; 190 height: 1em; 191 width: 1em; 192 border-radius: 5px; 193 } 194 } 195 196 &__stat-icon-app { 197 background-color: $argo-color-teal-7; 198 } 199 200 &__stat-icon-neighbors { 201 background-color: $argo-color-gray-6; 202 } 203 204 &__stat { 205 &__bar { 206 background-color: $argo-color-gray-4; 207 height: $max-rows * $pod-size; 208 width: $stat-width; 209 position: relative; 210 border-radius: 2px; 211 margin: 0 $gutter * 2; 212 overflow: hidden; 213 cursor: pointer; 214 215 &--fill { 216 position: absolute; 217 background-color: $argo-color-teal-7; 218 width: 100%; 219 bottom: 0; 220 } 221 222 &--neighbors { 223 background-color: $argo-color-gray-6; 224 } 225 226 &:hover > &--fill { 227 background-color: $argo-color-teal-8; 228 } 229 230 &:hover &--neighbors { 231 background-color: $argo-color-gray-7; 232 } 233 } 234 } 235 } 236 237 &__quick-start-actions { 238 display: flex; 239 padding-top: 1em; 240 justify-content: center; 241 242 &.disabled { 243 cursor: default !important; 244 color: $argo-color-gray-3 !important; 245 } 246 } 247 } 248 249 @media screen and (max-width: map-get($breakpoints, large)) { 250 &__nodes-container { 251 justify-content: center; 252 } 253 } 254 255 @media screen and (max-width: map-get($breakpoints, medium)) { 256 &__node { 257 width: 95%; 258 &--large { 259 width: 95%; 260 } 261 &__pod-container { 262 width: 100%; 263 } 264 } 265 } 266 } 267 268 .tippy-content { 269 text-align: left; 270 }