dashboard-shell-shell 3.0.5-test.5 → 3.0.5-test.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (212) hide show
  1. package/assets/brand/harvester/favicon.png +0 -0
  2. package/assets/brand/suse/favicon.png +0 -0
  3. package/assets/images/pl/half-logo.svg +23 -2
  4. package/assets/images/pl/harvester.png +0 -0
  5. package/assets/styles/app.scss +0 -4
  6. package/assets/styles/base/_basic.scss +2 -2
  7. package/assets/styles/base/_mixins.scss +1 -1
  8. package/assets/styles/base/_typography.scss +1 -2
  9. package/assets/styles/base/_variables.scss +4 -11
  10. package/assets/styles/global/_button.scss +25 -43
  11. package/assets/styles/global/_columns.scss +1 -3
  12. package/assets/styles/global/_form.scss +13 -45
  13. package/assets/styles/global/_labeled-input.scss +26 -54
  14. package/assets/styles/global/_layout.scss +3 -8
  15. package/assets/styles/global/_select.scss +17 -25
  16. package/assets/styles/global/_table.scss +1 -7
  17. package/assets/styles/global/_tooltip.scss +8 -56
  18. package/assets/styles/themes/_dark.scss +0 -3
  19. package/assets/styles/themes/_light.scss +43 -66
  20. package/assets/styles/vendor/vue-select.scss +9 -22
  21. package/assets/translations/en-us.yaml +4 -28
  22. package/assets/translations/zh-hans.yaml +189 -452
  23. package/components/ActionDropdown.vue +1 -2
  24. package/components/ActionMenu.vue +2 -2
  25. package/components/ActionMenuShell.vue +0 -2
  26. package/components/AppModal.vue +5 -46
  27. package/components/BrandImage.vue +0 -1
  28. package/components/ButtonDropdown.vue +4 -26
  29. package/components/ButtonMultiAction.vue +0 -1
  30. package/components/ClusterIconMenu.vue +1 -1
  31. package/components/CodeMirror.vue +6 -20
  32. package/components/ConsumptionGauge.vue +5 -24
  33. package/components/CopyToClipboard.vue +0 -15
  34. package/components/CruResource.vue +8 -9
  35. package/components/CruResourceFooter.vue +2 -2
  36. package/components/DashboardOptions.vue +17 -29
  37. package/components/Drawer/Chrome.vue +2 -2
  38. package/components/Drawer/ResourceDetailDrawer/ConfigTab.vue +23 -23
  39. package/components/Drawer/ResourceDetailDrawer/index.vue +2 -2
  40. package/components/ExplorerMembers.vue +3 -18
  41. package/components/ExplorerProjectsNamespaces.vue +5 -19
  42. package/components/GlobalRoleBindings.vue +48 -112
  43. package/components/GrafanaDashboard.vue +4 -4
  44. package/components/GrowlManager.vue +1 -3
  45. package/components/HardwareResourceGauge.vue +3 -39
  46. package/components/IndentedPanel.vue +10 -4
  47. package/components/InfoBox.vue +3 -3
  48. package/components/InputOrDisplay.vue +2 -28
  49. package/components/LabelValue.vue +1 -20
  50. package/components/ModalWithCard.vue +3 -12
  51. package/components/PodSecurityAdmission.vue +1 -1
  52. package/components/PromptModal.vue +1 -1
  53. package/components/PromptRemove.vue +11 -30
  54. package/components/Resource/Detail/Metadata/IdentifyingInformation/index.vue +3 -1
  55. package/components/Resource/Detail/Metadata/KeyValue.vue +4 -8
  56. package/components/Resource/Detail/Metadata/index.vue +1 -2
  57. package/components/Resource/Detail/TitleBar/Title.vue +3 -4
  58. package/components/Resource/Detail/TitleBar/index.vue +24 -103
  59. package/components/ResourceDetail/Masthead/legacy.vue +38 -181
  60. package/components/ResourceDetail/legacy.vue +14 -32
  61. package/components/ResourceList/Masthead.vue +54 -226
  62. package/components/ResourceList/ResourceLoadingIndicator.vue +2 -5
  63. package/components/ResourceTable.vue +2 -24
  64. package/components/SideNav.vue +20 -74
  65. package/components/SortableTable/THead.vue +3 -33
  66. package/components/SortableTable/index.vue +464 -1017
  67. package/components/SortableTable/paging.js +16 -26
  68. package/components/SortableTable/selection.js +2 -2
  69. package/components/Tabbed/Tab.vue +3 -3
  70. package/components/Tabbed/index.vue +30 -48
  71. package/components/YamlEditor.vue +1 -0
  72. package/components/auth/Principal.vue +13 -37
  73. package/components/auth/RoleDetailEdit.vue +7 -58
  74. package/components/auth/SelectPrincipal.vue +0 -1
  75. package/components/form/ArrayList.vue +33 -41
  76. package/components/form/ArrayListGrouped.vue +2 -10
  77. package/components/form/ArrayListSelect.vue +1 -1
  78. package/components/form/BannerSettings.vue +59 -64
  79. package/components/form/ChangePassword.vue +4 -4
  80. package/components/form/ColorInput.vue +8 -32
  81. package/components/form/Footer.vue +8 -11
  82. package/components/form/InputWithSelect.vue +5 -8
  83. package/components/form/KeyValue.vue +7 -47
  84. package/components/form/LabeledSelect.vue +242 -214
  85. package/components/form/Labels.vue +3 -3
  86. package/components/form/MatchExpressions.vue +7 -24
  87. package/components/form/Members/ClusterPermissionsEditor.vue +2 -1
  88. package/components/form/Members/MembershipEditor.vue +1 -1
  89. package/components/form/NameNsDescription.vue +20 -59
  90. package/components/form/Password.vue +7 -16
  91. package/components/form/PodAffinity.vue +5 -4
  92. package/components/form/ResourceQuota/Namespace.vue +4 -4
  93. package/components/form/ResourceQuota/NamespaceRow.vue +17 -18
  94. package/components/form/ResourceQuota/Project.vue +4 -4
  95. package/components/form/ResourceQuota/ProjectRow.vue +6 -3
  96. package/components/form/Select.vue +2 -5
  97. package/components/form/SimpleSecretSelector.vue +9 -29
  98. package/components/form/Taints.vue +1 -2
  99. package/components/form/UnitInput.vue +3 -8
  100. package/components/form/WorkloadPorts.vue +123 -143
  101. package/components/formatter/BadgeStateFormatter.vue +5 -8
  102. package/components/formatter/LiveDate.vue +3 -3
  103. package/components/nav/Favorite.vue +1 -5
  104. package/components/nav/Group.vue +99 -132
  105. package/components/nav/Header.vue +27 -124
  106. package/components/nav/HeaderPageActionMenu.vue +0 -1
  107. package/components/nav/NamespaceFilter.vue +15 -19
  108. package/components/nav/TopLevelMenu.vue +119 -182
  109. package/components/nav/Type.vue +41 -63
  110. package/composables/useClickOutside.ts +1 -1
  111. package/config/private-label.js +11 -15
  112. package/config/product/auth.js +7 -17
  113. package/config/product/settings.js +9 -19
  114. package/config/settings.ts +0 -28
  115. package/config/table-headers.js +2 -3
  116. package/dialog/ForceMachineRemoveDialog.vue +2 -2
  117. package/dialog/ScalePoolDownDialog.vue +2 -2
  118. package/edit/management.cattle.io.user.vue +4 -17
  119. package/edit/monitoring.coreos.com.alertmanagerconfig/auth.vue +19 -19
  120. package/edit/monitoring.coreos.com.alertmanagerconfig/receiverConfig.vue +31 -31
  121. package/edit/monitoring.coreos.com.alertmanagerconfig/routeConfig.vue +12 -36
  122. package/edit/monitoring.coreos.com.alertmanagerconfig/types/email.vue +6 -6
  123. package/edit/monitoring.coreos.com.alertmanagerconfig/types/opsgenie.vue +10 -10
  124. package/edit/monitoring.coreos.com.alertmanagerconfig/types/pagerduty.vue +4 -4
  125. package/edit/monitoring.coreos.com.alertmanagerconfig/types/slack.vue +4 -4
  126. package/edit/monitoring.coreos.com.alertmanagerconfig/types/webhook.vue +1 -1
  127. package/edit/monitoring.coreos.com.receiver/types/email.vue +6 -6
  128. package/edit/monitoring.coreos.com.receiver/types/opsgenie.vue +10 -10
  129. package/edit/monitoring.coreos.com.receiver/types/pagerduty.vue +5 -5
  130. package/edit/monitoring.coreos.com.receiver/types/slack.vue +4 -4
  131. package/edit/namespace.vue +2 -1
  132. package/edit/token.vue +12 -31
  133. package/edit/workload/index.vue +4 -4
  134. package/list/management.cattle.io.setting.vue +13 -22
  135. package/list/management.cattle.io.user.vue +3 -7
  136. package/list/namespace.vue +0 -3
  137. package/list/provisioning.cattle.io.cluster.vue +7 -6
  138. package/mixins/brand.js +0 -17
  139. package/package.json +1 -1
  140. package/pages/account/index.vue +25 -79
  141. package/pages/auth/login.vue +52 -220
  142. package/pages/auth/setup.vue +19 -142
  143. package/pages/c/_cluster/_product/namespaces.vue +5 -5
  144. package/pages/c/_cluster/auth/roles/index.vue +1 -19
  145. package/pages/c/_cluster/monitoring/monitor/index.vue +2 -2
  146. package/pages/c/_cluster/settings/banners.vue +102 -174
  147. package/pages/c/_cluster/settings/brand.vue +302 -350
  148. package/pages/c/_cluster/settings/performance.vue +38 -61
  149. package/pages/home.vue +30 -70
  150. package/pages/prefs.vue +25 -27
  151. package/promptRemove/mixin/roleDeletionCheck.js +2 -2
  152. package/public/index.html +4 -4
  153. package/rancher-components/BadgeState/BadgeState.vue +55 -38
  154. package/rancher-components/Banner/Banner.vue +8 -12
  155. package/rancher-components/Card/Card.vue +8 -7
  156. package/rancher-components/Form/Checkbox/Checkbox.vue +0 -4
  157. package/rancher-components/Form/LabeledInput/LabeledInput.vue +3 -42
  158. package/rancher-components/Form/Radio/RadioButton.vue +11 -35
  159. package/rancher-components/Form/Radio/RadioGroup.vue +5 -13
  160. package/rancher-components/Form/TextArea/TextAreaAutoGrow.vue +3 -3
  161. package/rancher-components/Form/ToggleSwitch/ToggleSwitch.vue +0 -1
  162. package/rancher-components/LabeledTooltip/LabeledTooltip.vue +4 -12
  163. package/rancher-components/RcDropdown/RcDropdown.vue +7 -35
  164. package/rancher-components/RcDropdown/RcDropdownItem.vue +2 -2
  165. package/rancher-components/RcDropdown/RcDropdownMenu.vue +6 -12
  166. package/rancher-components/RcDropdown/types.ts +0 -1
  167. package/rancher-components/StringList/StringList.vue +1 -1
  168. package/static/favicon.ico +0 -0
  169. package/static/favicon.png +0 -0
  170. package/static/loading-indicator.html +3 -3
  171. package/store/i18n.js +2 -5
  172. package/store/modal.ts +3 -3
  173. package/store/prefs.js +4 -11
  174. package/store/type-map.js +2 -32
  175. package/types/shell/index.d.ts +67 -74
  176. package/utils/error.js +8 -87
  177. package/utils/router.js +0 -21
  178. package/utils/select.js +3 -26
  179. package/utils/string.js +5 -8
  180. package/utils/title.ts +1 -1
  181. package/assets/icons/demo.css +0 -539
  182. package/assets/icons/demo.css:Zone.Identifier +0 -0
  183. package/assets/icons/demo_index.html +0 -1131
  184. package/assets/icons/demo_index.html:Zone.Identifier +0 -0
  185. package/assets/icons/iconfont.css +0 -216
  186. package/assets/icons/iconfont.css:Zone.Identifier +0 -0
  187. package/assets/icons/iconfont.js +0 -1
  188. package/assets/icons/iconfont.js:Zone.Identifier +0 -0
  189. package/assets/icons/iconfont.json +0 -324
  190. package/assets/icons/iconfont.json:Zone.Identifier +0 -0
  191. package/assets/icons/iconfont.ttf +0 -0
  192. package/assets/icons/iconfont.ttf:Zone.Identifier +0 -0
  193. package/assets/icons/iconfont.woff +0 -0
  194. package/assets/icons/iconfont.woff2 +0 -0
  195. package/assets/icons/iconfont.woff2:Zone.Identifier +0 -0
  196. package/assets/icons/iconfont.woff:Zone.Identifier +0 -0
  197. package/assets/images/API.svg +0 -3
  198. package/assets/images/action.svg +0 -6
  199. package/assets/images/login/password.svg +0 -20
  200. package/assets/images/login/user.svg +0 -6
  201. package/assets/images/login-bg.png +0 -0
  202. package/assets/images/login-left.png +0 -0
  203. package/assets/images/login-logo.svg +0 -19
  204. package/assets/images/logo.png +0 -0
  205. package/assets/images/pl/logo.png +0 -0
  206. package/assets/images/promp-yellow.svg +0 -5
  207. package/assets/images/user.png +0 -0
  208. package/assets/styles/all.scss +0 -63
  209. package/components/DotState.vue +0 -84
  210. package/components/breadcrumb/index.vue +0 -340
  211. package/pages/account/pri.vue +0 -229
  212. package/utils/errorTranslate.json +0 -1336
@@ -12,7 +12,6 @@ import { CATALOG as CATALOG_ANNOTATIONS } from '@shell/config/labels-annotations
12
12
  import { CATALOG } from '@shell/config/types';
13
13
  import { LabeledInput } from '@components/Form/LabeledInput';
14
14
  import AppModal from '@shell/components/AppModal.vue';
15
- import { translateError } from '@shell/utils/error';
16
15
 
17
16
  export default {
18
17
  name: 'PromptRemove',
@@ -215,7 +214,6 @@ export default {
215
214
  },
216
215
 
217
216
  methods: {
218
- translateError,
219
217
  resourceNames,
220
218
  escapeHtml,
221
219
  close() {
@@ -342,7 +340,7 @@ export default {
342
340
  v-if="showModal"
343
341
  custom-class="remove-modal"
344
342
  name="promptRemove"
345
- :width="460"
343
+ :width="400"
346
344
  height="auto"
347
345
  styles="max-height: 100vh;"
348
346
  :trigger-focus-trap="true"
@@ -354,11 +352,6 @@ export default {
354
352
  >
355
353
  <template #title>
356
354
  <h4 class="text-default-text">
357
- <img
358
- src="@shell/assets/images/promp-yellow.svg"
359
- class="img-span"
360
- alt=""
361
- >
362
355
  {{ t('promptRemove.title') }}
363
356
  </h4>
364
357
  </template>
@@ -390,7 +383,7 @@ export default {
390
383
  class="mt-10"
391
384
  >
392
385
  <span
393
- v-clean-html="t('promptRemove.confirmName', { nameToMatch: escapeHtml(nameToMatch) })"
386
+ v-clean-html="t('promptRemove.confirmName', { nameToMatch: escapeHtml(nameToMatch) }, true)"
394
387
  />
395
388
  </div>
396
389
  </div>
@@ -407,14 +400,14 @@ export default {
407
400
  {{ warning }}
408
401
  </div>
409
402
  <div class="text-error mb-10 mt-10">
410
- {{ translateError(error) }}
403
+ {{ error }}
411
404
  </div>
412
- <!-- <div
405
+ <div
413
406
  v-if="!needsConfirm"
414
407
  class="text-info mt-20"
415
408
  >
416
409
  {{ protip }}
417
- </div> -->
410
+ </div>
418
411
  </LabeledInput>
419
412
  <div v-else-if="!hasCustomRemove">
420
413
  <div
@@ -427,7 +420,7 @@ export default {
427
420
  v-if="error"
428
421
  class="text-error mb-10 mt-10"
429
422
  >
430
- {{ translateError(error) }}
423
+ {{ error }}
431
424
  </div>
432
425
  </div>
433
426
  <Checkbox
@@ -448,7 +441,7 @@ export default {
448
441
  <div class="spacer" />
449
442
  <AsyncButton
450
443
  mode="delete"
451
- class="btn ml-10"
444
+ class="btn bg-error ml-10"
452
445
  :disabled="deleteDisabled"
453
446
  :data-testid="componentTestid + '-confirm-button'"
454
447
  @click="remove"
@@ -464,32 +457,20 @@ export default {
464
457
  box-shadow: none;
465
458
  }
466
459
  #confirm {
467
- width: 100%;
468
- // margin-left: 3px;
460
+ width: 90%;
461
+ margin-left: 3px;
469
462
  }
470
463
 
471
464
  .actions {
472
465
  text-align: right;
473
466
  }
474
467
 
475
- /* .card-actions {
468
+ .card-actions {
476
469
  display: flex;
477
470
 
478
471
  .spacer {
479
472
  flex: 1;
480
473
  }
481
- } */
474
+ }
482
475
  }
483
476
  </style>
484
-
485
- <style scoped>
486
- .text-default-text{
487
- line-height: 20px;
488
- margin: 0px;
489
- display: flex;
490
- align-items: center;
491
- }
492
- .img-span{
493
- margin-right: 8px;
494
- }
495
- </style>
@@ -89,10 +89,12 @@ const getRowValueId = (row:Row): string => `value-${ row.label }:${ row.value }`
89
89
  flex-direction: column;
90
90
 
91
91
  .row {
92
- min-height: 40px;
92
+ margin-bottom: 8px;
93
+
93
94
  .value {
94
95
  display: flex;
95
96
  flex-direction: row;
97
+ align-items: center;
96
98
 
97
99
  &, & * {
98
100
  max-width: 100%;
@@ -53,13 +53,13 @@ const showConfigurationMoreFocusSelector = computed(() => `[data-testid="${ show
53
53
 
54
54
  <template>
55
55
  <div class="key-value">
56
- <div class="heading h40">
56
+ <div class="heading">
57
57
  <span class="title text-deemphasized">{{ propertyName }}</span>
58
58
  <span class="count">{{ rows.length }}</span>
59
59
  </div>
60
60
  <div
61
61
  v-if="visibleRows.length === 0"
62
- class="empty text-deemphasized"
62
+ class="empty mmt-2 text-deemphasized"
63
63
  >
64
64
  <div class="no-rows">
65
65
  {{ i18n.t('component.resource.detail.metadata.keyValue.noRows', {propertyName: lowercasePropertyName}) }}
@@ -78,7 +78,7 @@ const showConfigurationMoreFocusSelector = computed(() => `[data-testid="${ show
78
78
  <div
79
79
  v-for="row in visibleRows"
80
80
  :key="displayValue(row)"
81
- class="row h40"
81
+ class="row"
82
82
  >
83
83
  <Rectangle
84
84
  v-clean-tooltip="displayValue(row)"
@@ -104,22 +104,18 @@ const showConfigurationMoreFocusSelector = computed(() => `[data-testid="${ show
104
104
  display: flex;
105
105
  flex-direction: column;
106
106
  align-items: flex-start;
107
-
108
- .h40 {
109
- min-height: 40px;
110
- }
111
107
 
112
108
  .count {
113
109
  margin-left: 24px;
114
110
  }
115
111
 
116
112
  .heading {
113
+ margin-bottom: 8px;
117
114
  }
118
115
 
119
116
  .row {
120
117
  display: block;
121
118
  width: 100%;
122
- line-height: 40px;
123
119
 
124
120
  &:not(:nth-child(2)) {
125
121
  margin-top: 4px;
@@ -31,11 +31,10 @@ const showBothEmpty = computed(() => labels.length === 0 && annotations.length =
31
31
 
32
32
  <template>
33
33
  <SpacedRow
34
- class="metadata ppb-5"
34
+ class="metadata ppb-3"
35
35
  v-bind="$attrs"
36
36
  >
37
37
  <div
38
- v-if="identifyingInformation?.length > 0"
39
38
  class="identifying-info"
40
39
  >
41
40
  <IdentifyingInformation :rows="identifyingInformation" />
@@ -1,15 +1,14 @@
1
1
  <template>
2
- <div class="title">
2
+ <h1 class="title">
3
3
  <slot name="default" />
4
- </div>
4
+ </h1>
5
5
  </template>
6
6
 
7
7
  <style lang="scss" scoped>
8
- .title {
8
+ h1.title {
9
9
  display: inline-block;
10
10
  align-items: center;
11
11
  display: flex;
12
12
  flex-direction: row;
13
- font-size: 14px;
14
13
  }
15
14
  </style>
@@ -13,7 +13,6 @@ import { _CONFIG, _GRAPH, AS } from '@shell/config/query-params';
13
13
  import ButtonGroup from '@shell/components/ButtonGroup';
14
14
  import { ExtensionPoint, PanelLocation } from '@shell/core/types';
15
15
  import ExtensionPanel from '@shell/components/ExtensionPanel.vue';
16
- import breadcrumb from '@shell/components/breadcrumb/index.vue'
17
16
 
18
17
  export interface Badge {
19
18
  color: 'bg-success' | 'bg-error' | 'bg-warning' | 'bg-info';
@@ -37,8 +36,6 @@ export interface TitleBarProps {
37
36
  showViewOptions?: boolean;
38
37
 
39
38
  onShowConfiguration?: (returnFocusSelector: string) => void;
40
- value?: any;
41
- parentRouteOverride?: string;
42
39
  }
43
40
 
44
41
  const showConfigurationIcon = require(`@shell/assets/images/icons/document.svg`);
@@ -46,7 +43,7 @@ const showConfigurationIcon = require(`@shell/assets/images/icons/document.svg`)
46
43
 
47
44
  <script setup lang="ts">
48
45
  const {
49
- parentRouteOverride, value, resource, resourceTypeLabel, resourceTo, resourceName, description, badge, showViewOptions, onShowConfiguration,
46
+ resource, resourceTypeLabel, resourceTo, resourceName, description, badge, showViewOptions, onShowConfiguration,
50
47
  } = defineProps<TitleBarProps>();
51
48
 
52
49
  const store = useStore();
@@ -75,42 +72,6 @@ const viewOptions = computed(() => {
75
72
  ];
76
73
  });
77
74
 
78
- const Svg = require('~shell/assets/images/API.svg')
79
-
80
- const parent = computed(() =>{
81
- const displayName = value?.parentNameOverride || store.getters['type-map/labelFor'](schema);
82
- const product = store.getters['currentProduct'].name;
83
-
84
- const defaultLocation = {
85
- name: 'c-cluster-product-resource',
86
- params: {
87
- resource: resource,
88
- product,
89
- }
90
- };
91
-
92
- const location = value?.parentLocationOverride || defaultLocation;
93
-
94
- if (parentRouteOverride) {
95
- location.name = parentRouteOverride;
96
- }
97
-
98
- const out = {
99
- location
100
- };
101
-
102
- return out;
103
- })
104
-
105
- const menuIcon = computed(() => {
106
- const product = store.getters['productId'];
107
-
108
- const resources = parent?.location?.params?.resource || ''
109
-
110
- return store.getters['type-map/groupsForVirTypes'](product, resources);
111
- })
112
-
113
-
114
75
  watch(
115
76
  () => currentView.value,
116
77
  () => {
@@ -121,58 +82,33 @@ watch(
121
82
 
122
83
  <template>
123
84
  <div class="title-bar">
124
- <breadcrumb :resource="resource"/>
125
85
  <Top>
126
86
  <Title class="title">
127
- <span v-if="menuIcon && parentRouteOverride === 'account' && resource=== 'token'" class="detailIcon-span">
128
- <img
129
- v-if="parentRouteOverride === 'account' && resource=== 'token'"
130
- :src="Svg"
131
- style="margin-top: 4px; margin-left: 5px;"
132
- >
133
- <i
134
- v-else
135
- :class="'icon-'+ menuIcon + ' detailIcon'"
136
- />
137
- </span>
138
- <div class="resourceTypeLabelCls">
139
- {{ resourceTypeLabel }}名称:
140
- </div>
141
- <span class="resource-name masthead-resource-title">
142
- {{ resourceName }}
143
- </span>
144
- <BadgeState
145
- v-if="badge"
146
- class="badge-state"
147
- :color="badge.color"
148
- :label="badge.label"
149
- />
150
- <span
151
- class="valid"
152
- >|</span>
153
87
  <TabTitle :show-child="false">
154
- 返回
88
+ {{ resourceTypeLabel }}
155
89
  </TabTitle>
156
90
  <router-link
157
91
  v-if="resourceTo"
158
92
  :to="resourceTo"
159
93
  class="resource-link"
160
94
  >
161
- 返回
95
+ {{ resourceTypeLabel }}:
162
96
  </router-link>
163
97
  <span
164
98
  v-else
165
99
  class="resource-text"
166
100
  >
167
- 返回
101
+ {{ resourceTypeLabel }}:
168
102
  </span>
169
- <div
170
- v-if="description"
171
- style="font-size: 12px;margin-left: 16px;"
172
- class="bottom description text-deemphasized"
173
- >
174
- ( {{ description }} )
175
- </div>
103
+ <span class="resource-name masthead-resource-title">
104
+ {{ resourceName }}
105
+ </span>
106
+ <BadgeState
107
+ v-if="badge"
108
+ class="badge-state"
109
+ :color="badge.color"
110
+ :label="badge.label"
111
+ />
176
112
  </Title>
177
113
  <div class="actions">
178
114
  <!-- Please don't expand this pattern, this was a quick fix to resolve a conflict between the new masthead and fleet. -->
@@ -198,7 +134,6 @@ watch(
198
134
  </RcButton>
199
135
  <ActionMenu
200
136
  v-if="actionMenuResource"
201
- :showIcon="true"
202
137
  button-role="multiAction"
203
138
  :resource="actionMenuResource"
204
139
  data-testid="masthead-action-menu"
@@ -206,6 +141,12 @@ watch(
206
141
  />
207
142
  </div>
208
143
  </Top>
144
+ <div
145
+ v-if="description"
146
+ class="bottom description text-deemphasized"
147
+ >
148
+ {{ description }}
149
+ </div>
209
150
  <ExtensionPanel
210
151
  :resource="resource"
211
152
  :type="ExtensionPoint.PANEL"
@@ -215,27 +156,12 @@ watch(
215
156
  </template>
216
157
 
217
158
  <style lang="scss" scoped>
218
- .detailIcon-span{
219
- width: 24px;
220
- height: 24px;
221
- display: inline-block;
222
- position: relative;
223
- background: var(--primary);
224
- margin-right: 10px;
225
- }
226
- .resourceTypeLabelCls {
227
- font-weight: 700;
228
- }
229
- .valid{
230
- color: #d7d7d7;
231
- margin: 0px 10px;
232
- }
233
159
  .title-bar {
234
160
  min-width: 740px;
235
161
 
236
162
  .badge-state {
237
163
  font-size: 16px;
238
- margin-left: 5px;
164
+ margin-left: 12px;
239
165
  position: relative;
240
166
  }
241
167
 
@@ -244,20 +170,15 @@ watch(
244
170
  }
245
171
 
246
172
  &:deep() button[data-testid="masthead-action-menu"] {
247
- border-radius: 2px;
248
- width: 32px;
249
- height: 32px;
250
- margin-left: 10px;
173
+ border-radius: 4px;
174
+ width: 35px;
175
+ height: 40px;
176
+ margin-left: 16px;
251
177
 
252
178
  display: inline-flex;
253
179
  flex-direction: row;
254
180
  justify-content: center;
255
181
  align-items: center;
256
- background-color: var(--primary);
257
-
258
- a{
259
- color: #fff;
260
- }
261
182
  }
262
183
 
263
184
  .description {