dashboard-shell-shell 1.0.1000000117 → 1.0.1000000118

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 (124) hide show
  1. package/assets/styles/base/_functions.scss +0 -0
  2. package/assets/styles/base/_mixins.scss +1 -1
  3. package/assets/styles/global/_button.scss +10 -17
  4. package/assets/styles/global/_form.scss +2 -2
  5. package/assets/styles/global/_labeled-input.scss +2 -6
  6. package/assets/styles/global/_select.scss +7 -6
  7. package/assets/styles/global/_table.scss +2 -3
  8. package/assets/styles/global/_tooltip.scss +1 -8
  9. package/assets/styles/themes/_dark.scss +0 -2
  10. package/assets/styles/themes/_light.scss +2 -5
  11. package/assets/styles/vendor/vue-select.scss +1 -2
  12. package/assets/translations/en-us.yaml +3 -1
  13. package/assets/translations/zh-hans.yaml +28 -51
  14. package/components/ActionDropdown.vue +0 -1
  15. package/components/ActionMenuShell.vue +3 -6
  16. package/components/BrandImage.vue +0 -22
  17. package/components/ClusterIconMenu.vue +1 -1
  18. package/components/CodeMirror.vue +0 -1
  19. package/components/CruResource.vue +1 -1
  20. package/components/CruResourceFooter.vue +1 -1
  21. package/components/ExplorerProjectsNamespaces.vue +24 -4
  22. package/components/GlobalRoleBindings.vue +48 -112
  23. package/components/IndentedPanel.vue +10 -4
  24. package/components/PromptRemove.vue +3 -3
  25. package/components/ResourceDetail/Masthead.vue +242 -190
  26. package/components/ResourceDetail/index.vue +5 -20
  27. package/components/ResourceList/Masthead.vue +84 -146
  28. package/components/ResourceList/ResourceLoadingIndicator.vue +2 -5
  29. package/components/ResourceTable.vue +1 -76
  30. package/components/SideNav.vue +29 -66
  31. package/components/SortableTable/THead.vue +0 -6
  32. package/components/SortableTable/index.vue +388 -481
  33. package/components/Tabbed/index.vue +5 -4
  34. package/components/auth/Principal.vue +2 -3
  35. package/components/auth/RoleDetailEdit.vue +5 -58
  36. package/components/auth/SelectPrincipal.vue +0 -1
  37. package/components/form/BannerSettings.vue +16 -18
  38. package/components/form/ChangePassword.vue +4 -4
  39. package/components/form/ColorInput.vue +8 -32
  40. package/components/form/Footer.vue +1 -1
  41. package/components/form/InputWithSelect.vue +0 -2
  42. package/components/form/KeyValue.vue +7 -31
  43. package/components/form/LabeledSelect.vue +178 -178
  44. package/components/form/Members/ClusterPermissionsEditor.vue +2 -1
  45. package/components/form/Members/MembershipEditor.vue +1 -1
  46. package/components/form/NameNsDescription.vue +11 -24
  47. package/components/form/Password.vue +2 -6
  48. package/components/form/ResourceQuota/Namespace.vue +1 -1
  49. package/components/form/ResourceQuota/NamespaceRow.vue +10 -13
  50. package/components/form/ResourceQuota/ProjectRow.vue +1 -0
  51. package/components/form/Select.vue +2 -2
  52. package/components/nav/Favorite.vue +1 -5
  53. package/components/nav/Group.vue +23 -69
  54. package/components/nav/Header.vue +17 -82
  55. package/components/nav/HeaderPageActionMenu.vue +0 -1
  56. package/components/nav/NamespaceFilter.vue +3 -0
  57. package/components/nav/TopLevelMenu.vue +119 -182
  58. package/components/nav/Type.vue +11 -48
  59. package/components/rancherResourceDetail/Masthead.vue +769 -0
  60. package/components/rancherResourceDetail/__tests__/Masthead.test.ts +65 -0
  61. package/components/rancherResourceDetail/index.vue +591 -0
  62. package/components/rancherResourceList/Masthead.vue +375 -0
  63. package/components/rancherResourceList/ResourceLoadingIndicator.vue +140 -0
  64. package/components/rancherResourceList/index.vue +307 -0
  65. package/components/rancherResourceList/resource-list.config.js +7 -0
  66. package/components/rancherResourceTable.vue +783 -0
  67. package/components/rancherSortableTable/THead.vue +561 -0
  68. package/components/rancherSortableTable/actions.js +153 -0
  69. package/components/rancherSortableTable/advanced-filtering.js +272 -0
  70. package/components/rancherSortableTable/debug.js +117 -0
  71. package/components/rancherSortableTable/filtering.js +290 -0
  72. package/components/rancherSortableTable/grouping.js +48 -0
  73. package/components/rancherSortableTable/index.vue +2712 -0
  74. package/components/rancherSortableTable/paging.js +155 -0
  75. package/components/rancherSortableTable/selection.js +629 -0
  76. package/components/rancherSortableTable/sortable-config.ts +4 -0
  77. package/components/rancherSortableTable/sorting.js +129 -0
  78. package/composables/useClickOutside.ts +1 -1
  79. package/config/product/auth.js +7 -16
  80. package/config/product/explorer.js +1 -1
  81. package/config/product/settings.js +8 -17
  82. package/config/settings.ts +0 -28
  83. package/edit/management.cattle.io.user.vue +4 -17
  84. package/edit/networking.k8s.io.ingress/RulePath.vue +1 -1
  85. package/edit/token.vue +1 -1
  86. package/list/harvesterhci.io.management.cluster.vue +0 -17
  87. package/list/management.cattle.io.setting.vue +13 -22
  88. package/list/management.cattle.io.user.vue +14 -25
  89. package/list/provisioning.cattle.io.cluster.vue +7 -6
  90. package/mixins/brand.js +0 -17
  91. package/package.json +1 -1
  92. package/pages/auth/login.vue +29 -84
  93. package/pages/c/_cluster/auth/roles/index.vue +14 -61
  94. package/pages/c/_cluster/settings/banners.vue +101 -174
  95. package/pages/c/_cluster/settings/brand.vue +301 -348
  96. package/pages/c/_cluster/settings/performance.vue +38 -61
  97. package/pages/home.vue +21 -70
  98. package/pages/prefs.vue +23 -25
  99. package/pkg/tsconfig.json +9 -9
  100. package/pkg/vue.config.js +1 -1
  101. package/promptRemove/mixin/roleDeletionCheck.js +2 -2
  102. package/scripts/clean +0 -0
  103. package/scripts/extension/bundle +0 -0
  104. package/scripts/extension/helm/scripts/package +0 -0
  105. package/scripts/extension/helm/scripts/patch +0 -0
  106. package/scripts/extension/helm/scripts/version +0 -0
  107. package/scripts/extension/helmpatch +0 -0
  108. package/scripts/extension/parse-tag-name +0 -0
  109. package/scripts/extension/publish +0 -0
  110. package/scripts/publish-shell.sh +60 -86
  111. package/scripts/serve-pkgs +0 -0
  112. package/scripts/sync-shell-deps +0 -0
  113. package/scripts/typegen.sh +28 -44
  114. package/store/i18n.js +5 -5
  115. package/store/prefs.js +5 -17
  116. package/store/type-map.js +1 -2
  117. package/types/cloud-shell/index.d.ts +11014 -0
  118. package/types/shell/index.d.ts +1 -1
  119. package/utils/error.js +0 -4
  120. package/utils/router.js +3 -3
  121. package/vue.config.js +6 -1
  122. package/assets/images/action.svg +0 -6
  123. package/assets/images/pl/logo.png +0 -0
  124. /package/components/{ResourceList → rancherResourceList}/Masthead-btn.vue +0 -0
@@ -204,16 +204,14 @@ export default {
204
204
  <template>
205
205
  <Loading v-if="$fetchState.pending" />
206
206
  <div v-else>
207
- <!-- 面包屑 -->
208
- <div class="excram-list">全局设置 / <span style="color: #1890FF;">性能</span></div>
209
207
  <h1 class="mb-20">
210
208
  {{ t('performance.label') }}
211
209
  </h1>
212
210
  <div>
213
- <div class="ui-perf-setting pb-40">
214
- <!-- 闲置状态 -->
215
- <div class="mb-20 p-20" style="border: 1px solid var(--nav-border);">
216
- <h2 class="mb-20">{{ t('performance.inactivity.title') }}</h2>
211
+ <div class="ui-perf-setting">
212
+ <!-- Inactivity -->
213
+ <div class="mt-20">
214
+ <h2>{{ t('performance.inactivity.title') }}</h2>
217
215
  <p>{{ t('performance.inactivity.description') }}</p>
218
216
  <Checkbox
219
217
  v-model:value="value.inactivity.enabled"
@@ -240,21 +238,21 @@ export default {
240
238
  />
241
239
  </div>
242
240
  </div>
243
- <!-- WebSocket 通知 -->
244
- <div class="mb-40 p-20" style="border: 1px solid var(--nav-border);">
245
- <h2 class="mb-20">{{ t('performance.websocketNotification.label') }}</h2>
241
+ <!-- Websocket Notifications -->
242
+ <div class="mt-40">
243
+ <h2>{{ t('performance.websocketNotification.label') }}</h2>
246
244
  <p>{{ t('performance.websocketNotification.description') }}</p>
247
245
  <Checkbox
248
246
  v-model:value="value.disableWebsocketNotification"
249
247
  :mode="mode"
250
248
  :label="t('performance.websocketNotification.checkboxLabel')"
251
- class="mt-10"
249
+ class="mt-10 mb-20"
252
250
  :primary="true"
253
251
  />
254
252
  </div>
255
253
  <!-- Server Side Pagination -->
256
- <div class="mb-20 p-20" style="border: 1px solid var(--nav-border);">
257
- <h2 class="mb-20" id="ssp-setting">
254
+ <div class="mt-20">
255
+ <h2 id="ssp-setting">
258
256
  {{ t('performance.serverPagination.label') }}
259
257
  </h2>
260
258
  <p>{{ t('performance.serverPagination.description') }}</p>
@@ -288,9 +286,9 @@ export default {
288
286
  />
289
287
  </Collapse>
290
288
  </div>
291
- <!-- 增量加载 -->
292
- <div class="mb-20 p-20" style="border: 1px solid var(--nav-border);">
293
- <h2 class="mb-20">{{ t('performance.incrementalLoad.label') }}</h2>
289
+ <!-- Incremental Loading -->
290
+ <div class="mt-20">
291
+ <h2>{{ t('performance.incrementalLoad.label') }}</h2>
294
292
  <Banner
295
293
  color="warning"
296
294
  >
@@ -320,9 +318,9 @@ export default {
320
318
  />
321
319
  </div>
322
320
  </div>
323
- <!-- 手动刷新 -->
324
- <div class="mb-20 p-20" style="border: 1px solid var(--nav-border);">
325
- <h2 class="mb-20" v-t="'performance.manualRefresh.label'" />
321
+ <!-- Enable manual refresh list views -->
322
+ <div class="mt-40">
323
+ <h2 v-t="'performance.manualRefresh.label'" />
326
324
  <Banner
327
325
  color="warning"
328
326
  >
@@ -352,9 +350,9 @@ export default {
352
350
  />
353
351
  </div>
354
352
  </div>
355
- <!-- 资源垃圾回收 -->
356
- <div class="mb-20 p-20" style="border: 1px solid var(--nav-border);">
357
- <h2 class="mb-20" v-t="'performance.gc.label'" />
353
+ <!-- Enable GC of resources from store -->
354
+ <div class="mt-40">
355
+ <h2 v-t="'performance.gc.label'" />
358
356
  <Banner
359
357
  color="warning"
360
358
  >
@@ -433,9 +431,9 @@ export default {
433
431
  </div>
434
432
  </div>
435
433
  </div>
436
- <!-- 要求资源组/项目过滤 -->
437
- <div class="mb-20 p-20" style="border: 1px solid var(--nav-border);">
438
- <h2 class="mb-20">{{ t('performance.nsFiltering.label') }}</h2>
434
+ <!-- Force NS filter -->
435
+ <div class="mt-40">
436
+ <h2>{{ t('performance.nsFiltering.label') }}</h2>
439
437
  <Banner
440
438
  color="warning"
441
439
  >
@@ -451,9 +449,9 @@ export default {
451
449
  @update:value="compatibleWarning('forceNsFilterV2', $event)"
452
450
  />
453
451
  </div>
454
- <!-- Websocket Web Worker -->
455
- <div class="mb-20 p-20" style="border: 1px solid var(--nav-border);">
456
- <h2 class="mb-20">{{ t('performance.advancedWorker.label') }}</h2>
452
+ <!-- Advanced Websocket Worker -->
453
+ <div class="mt-20">
454
+ <h2>{{ t('performance.advancedWorker.label') }}</h2>
457
455
  <Banner
458
456
  color="warning"
459
457
  >
@@ -479,10 +477,10 @@ export default {
479
477
  :label="err"
480
478
  />
481
479
  </template>
482
- <div class="action-btn" v-if="mode === 'edit'">
480
+ <div v-if="mode === 'edit'">
483
481
  <AsyncButton
484
482
  data-testid="performance__save-btn"
485
- class="pull-right"
483
+ class="pull-right mt-20"
486
484
  mode="apply"
487
485
  :disabled="!canSave"
488
486
  @click="save"
@@ -492,17 +490,6 @@ export default {
492
490
  </template>
493
491
 
494
492
  <style scoped lang='scss'>
495
- .action-btn {
496
- padding: 10px 30px;
497
- position: fixed;
498
- bottom: 0;
499
- left: 0;
500
- width: 100%;
501
- background: var(--body-bg);
502
- border-top: 1px solid var(--nav-border);
503
- }
504
-
505
-
506
493
  .overlay {
507
494
  width: 100%;
508
495
  height: 100%;
@@ -512,27 +499,17 @@ export default {
512
499
  background-color: var(--overlay-bg);
513
500
  z-index: 1;
514
501
  }
515
- .ui-perf-setting {
516
- P {
517
- line-height: 1.25;
518
- margin-bottom: 10px;
519
- }
502
+ .ui-perf-setting {
503
+ P {
504
+ line-height: 1.25;
505
+ margin-bottom: 10px;
506
+ }
520
507
 
521
- .underline {
522
- text-decoration: underline;
508
+ .underline {
509
+ text-decoration: underline;
510
+ }
511
+ }
512
+ .input {
513
+ max-width: 25%;
523
514
  }
524
- }
525
- .input {
526
- max-width: 25%;
527
- }
528
- h2{
529
- font-size: 14px;
530
- }
531
-
532
- .excram-list{
533
- font-size: 14px;
534
- line-height: 22px;
535
- margin-bottom: 20px;
536
- font-family: 'Microsoft YaHei';
537
- }
538
515
  </style>
package/pages/home.vue CHANGED
@@ -64,12 +64,7 @@ export default defineComponent({
64
64
  query: { [MODE]: _IMPORT }
65
65
  };
66
66
 
67
- const topLevelPermissions = sessionStorage.getItem('TOPLEVELPERMISSIONS') || ''
68
-
69
- const topLevelPermissionsVis = topLevelPermissions && topLevelPermissions === 'superadmin'
70
-
71
67
  return {
72
- topLevelPermissionsVis,
73
68
  HIDE_HOME_PAGE_CARDS,
74
69
  fullVersion: getVersionInfo(this.$store).fullVersion,
75
70
  // Page actions don't change on the Home Page
@@ -509,26 +504,17 @@ export default defineComponent({
509
504
  </script>
510
505
 
511
506
  <template>
512
- <!-- 当 managementReady 为 true 时才显示首页内容 -->
513
507
  <div
514
508
  v-if="managementReady"
515
509
  class="home-page"
516
510
  >
517
-
518
- <!-- 页签标题组件,不显示子页面标题和面包屑 -->
519
511
  <TabTitle
520
- v-if="topLevelPermissionsVis"
521
512
  :show-child="false"
522
513
  :breadcrumb="false"
523
514
  >
524
-
525
- <!-- 页面标题:{vendor} - 首页 -->
526
515
  {{ `${vendor} - ${t('landing.homepage')}` }}
527
516
  </TabTitle>
528
-
529
- <!-- 首页欢迎横幅 -->
530
517
  <BannerGraphic
531
- v-if="topLevelPermissionsVis"
532
518
  :small="true"
533
519
  :title="t('landing.welcomeToRancher', {vendor})"
534
520
  :pref="HIDE_HOME_PAGE_CARDS"
@@ -536,28 +522,18 @@ export default defineComponent({
536
522
  data-testid="home-banner-graphic"
537
523
  />
538
524
  <IndentedPanel class="mt-20 mb-20">
539
-
540
-
541
-
542
- <!-- 如果用户还没看过“新功能”提示 -->
543
525
  <div
544
- v-if="!readWhatsNewAlready && topLevelPermissionsVis"
526
+ v-if="!readWhatsNewAlready"
545
527
  class="row"
546
528
  >
547
529
  <div class="col span-12">
548
- <!-- 信息提示横幅,颜色类型 info whats-new -->
549
530
  <Banner
550
531
  data-testid="changelog-banner"
551
532
  color="info whats-new"
552
533
  >
553
534
  <div>
554
-
555
- <!-- 显示版本更新提示 -->
556
535
  {{ t('landing.seeWhatsNew', { version: CURRENT_RANCHER_VERSION }) }}
557
536
  </div>
558
-
559
- <!-- 跳转到更新日志链接 -->
560
- <!-- 链接文本,支持 HTML 清理 -->
561
537
  <a
562
538
  class="hand banner-link"
563
539
  :href="releaseNotesUrl"
@@ -571,21 +547,13 @@ export default defineComponent({
571
547
  </Banner>
572
548
  </div>
573
549
  </div>
574
-
575
- <!-- 主面板布局 -->
576
550
  <div class="row home-panels">
577
551
  <div class="col main-panel">
578
- <h2 class="mb-20">
579
- {{ t('landing.clusters.title') }}
580
- </h2>
581
- <!-- 如果不需要显示“设置登录页提示” -->
582
552
  <div
583
- v-if="!showSetLoginBanner && topLevelPermissionsVis"
553
+ v-if="!showSetLoginBanner"
584
554
  class="mb-10 row"
585
555
  >
586
556
  <div class="col span-12">
587
-
588
- <!-- 可关闭的提示横幅 -->
589
557
  <Banner
590
558
  color="set-login-page mt-0"
591
559
  data-testid="set-login-page-banner"
@@ -595,8 +563,6 @@ export default defineComponent({
595
563
  <div>
596
564
  {{ t('landing.landingPrefs.title') }}
597
565
  </div>
598
-
599
- <!-- 用户点击后进入偏好设置 -->
600
566
  <a
601
567
  class="hand mr-20"
602
568
  tabindex="0"
@@ -608,17 +574,11 @@ export default defineComponent({
608
574
  </Banner>
609
575
  </div>
610
576
  </div>
611
-
612
- <!-- 集群列表面板 -->
613
577
  <div class="row panel">
614
-
615
- <!-- 如果是多集群模式(mcm = multi-cluster management) -->
616
578
  <div
617
579
  v-if="mcm"
618
580
  class="col span-12"
619
581
  >
620
-
621
- <!-- 分页资源表格 -->
622
582
  <PaginatedResourceTable
623
583
  v-if="provClusterSchema"
624
584
  :schema="provClusterSchema"
@@ -638,17 +598,27 @@ export default defineComponent({
638
598
  :fetchSecondaryResources="fetchSecondaryResources"
639
599
  :fetchPageSecondaryResources="fetchPageSecondaryResources"
640
600
  >
641
-
642
- <!-- 表头中间:管理、导入、创建按钮 -->
601
+ <template #header-left>
602
+ <div class="row table-heading">
603
+ <h2 class="mb-0">
604
+ {{ t('landing.clusters.title') }}
605
+ </h2>
606
+ <BadgeState
607
+ v-if="clusterCount"
608
+ :label="clusterCount.toString()"
609
+ color="role-tertiary ml-20 mr-20"
610
+ />
611
+ </div>
612
+ </template>
643
613
  <template
644
614
  v-if="canCreateCluster || !!provClusterSchema"
645
- #header-right
615
+ #header-middle
646
616
  >
647
- <div v-if="topLevelPermissionsVis" class="table-heading">
617
+ <div class="table-heading">
648
618
  <router-link
649
619
  v-if="!!provClusterSchema"
650
620
  :to="manageLocation"
651
- class="btn btn-sm role-primary"
621
+ class="btn btn-sm role-secondary"
652
622
  data-testid="cluster-management-manage-button"
653
623
  role="button"
654
624
  :aria-label="t('cluster.manageAction')"
@@ -680,8 +650,6 @@ export default defineComponent({
680
650
  </router-link>
681
651
  </div>
682
652
  </template>
683
-
684
- <!-- 列渲染:集群名称 -->
685
653
  <template #col:name="{row}">
686
654
  <td class="col-name">
687
655
  <div class="list-cluster-name">
@@ -689,8 +657,6 @@ export default defineComponent({
689
657
  v-if="row.mgmt"
690
658
  class="cluster-name"
691
659
  >
692
-
693
- <!-- 如果集群就绪且无错误,跳转到集群 Explorer 页面 -->
694
660
  <router-link
695
661
  v-if="row.mgmt.isReady && !row.hasError"
696
662
  :to="{ name: 'c-cluster-explorer', params: { cluster: row.mgmt.id }}"
@@ -699,8 +665,6 @@ export default defineComponent({
699
665
  >
700
666
  {{ row.nameDisplay }}
701
667
  </router-link>
702
-
703
- <!-- 否则只显示名称 -->
704
668
  <span v-else>{{ row.nameDisplay }}</span>
705
669
  <i
706
670
  v-if="row.unavailableMachines"
@@ -708,8 +672,6 @@ export default defineComponent({
708
672
  class="conditions-alert-icon icon-alert icon"
709
673
  />
710
674
  </p>
711
-
712
- <!-- 集群描述 -->
713
675
  <p
714
676
  v-if="row.description"
715
677
  class="cluster-description"
@@ -719,8 +681,6 @@ export default defineComponent({
719
681
  </div>
720
682
  </td>
721
683
  </template>
722
-
723
- <!-- 列渲染:Kubernetes 版本 + 架构 -->
724
684
  <template #col:kubernetesVersion="{row}">
725
685
  <td class="col-name">
726
686
  <span>
@@ -734,8 +694,6 @@ export default defineComponent({
734
694
  </div>
735
695
  </td>
736
696
  </template>
737
-
738
- <!-- 列渲染:CPU 核数 -->
739
697
  <template #col:cpu="{row}">
740
698
  <td v-if="row.mgmt && cpuAllocatable(row.mgmt)">
741
699
  {{ `${cpuAllocatable(row.mgmt)} ${t('landing.clusters.cores', {count:cpuAllocatable(row.mgmt) })}` }}
@@ -744,8 +702,6 @@ export default defineComponent({
744
702
  &mdash;
745
703
  </td>
746
704
  </template>
747
-
748
- <!-- 列渲染:内存 -->
749
705
  <template #col:memory="{row}">
750
706
  <td v-if="row.mgmt && memoryAllocatable(row.mgmt) && !memoryAllocatable(row.mgmt).match(/^0 [a-zA-z]/)">
751
707
  {{ memoryAllocatable(row.mgmt) }}
@@ -754,20 +710,16 @@ export default defineComponent({
754
710
  &mdash;
755
711
  </td>
756
712
  </template>
757
-
758
- <!-- 列渲染:探索按钮 -->
759
- <template #cell:explorer="{row}">
713
+ <!-- <template #cell:explorer="{row}">
760
714
  <router-link v-if="row && row.isReady" class="btn btn-sm role-primary" :to="{name: 'c-cluster', params: {cluster: row.id}}">
761
715
  {{ t('landing.clusters.explore') }}
762
716
  </router-link>
763
717
  <button v-else :disabled="true" class="btn btn-sm role-primary">
764
718
  {{ t('landing.clusters.explore') }}
765
719
  </button>
766
- </template>
720
+ </template> -->
767
721
  </PaginatedResourceTable>
768
722
  </div>
769
-
770
- <!-- 单集群模式 -->
771
723
  <div
772
724
  v-else
773
725
  class="col span-12"
@@ -776,8 +728,7 @@ export default defineComponent({
776
728
  </div>
777
729
  </div>
778
730
  </div>
779
- <!-- 右侧社区链接面板 -->
780
- <!-- <CommunityLinks class="col span-3 side-panel" /> -->
731
+ <CommunityLinks class="col span-3 side-panel" />
781
732
  </div>
782
733
  </IndentedPanel>
783
734
  </div>
@@ -825,7 +776,7 @@ export default defineComponent({
825
776
  height: 39px;
826
777
 
827
778
  & > a {
828
- margin-right: 10px;
779
+ margin-left: 10px;
829
780
  }
830
781
  }
831
782
  .panel:not(:first-child) {
package/pages/prefs.vue CHANGED
@@ -191,13 +191,11 @@ export default {
191
191
  <!-- Language -->
192
192
  <div
193
193
  v-if="hasMultipleLocales && !isHarvester"
194
- class="mb-20 p-20 pb-0"
195
- style="border: 1px solid var(--nav-border);"
194
+ class="mt-10 mb-10"
196
195
  >
197
196
  <h4
198
197
  id="prefs-language"
199
198
  v-t="'prefs.language'"
200
- class="pb-20"
201
199
  />
202
200
  <div class="row">
203
201
  <div class="col span-4">
@@ -209,35 +207,36 @@ export default {
209
207
  </div>
210
208
  </div>
211
209
  <!-- Theme -->
212
- <div class="mb-20 p-20" style="border: 1px solid var(--nav-border);">
213
- <h4 v-t="'prefs.theme.label'" class="mb-20" />
210
+ <div class="mt-10 mb-10">
211
+ <h4 v-t="'prefs.theme.label'" />
214
212
  <ButtonGroup
215
213
  v-model:value="theme"
216
214
  data-testid="prefs__themeOptions"
217
215
  :options="themeOptions"
218
216
  />
219
- <!-- <div class="mt-10">
217
+ <div class="mt-10">
220
218
  <t
221
219
  k="prefs.theme.autoDetail"
222
220
  :pm="pm"
223
221
  :am="am"
224
222
  />
225
- </div> -->
223
+ </div>
226
224
  </div>
227
225
  <!-- Login landing page -->
228
226
  <div
229
227
  v-if="!isSingleProduct"
230
- class="mb-20 p-20"
231
- style="border: 1px solid var(--nav-border);"
228
+ class="mt-10 mb-10"
232
229
  >
233
- <h4 v-t="'prefs.landing.label'" class="mb-20" />
230
+ <hr role="none">
231
+ <h4 v-t="'prefs.landing.label'" />
234
232
  <LandingPagePreference
235
233
  data-testid="prefs__landingPagePreference"
236
234
  />
237
235
  </div>
238
236
  <!-- Display Settings -->
239
- <div class="mb-20 p-20" style="border: 1px solid var(--nav-border);">
240
- <h4 v-t="'prefs.displaySettings.title'" class="mb-20" />
237
+ <div class="mt-10 mb-10">
238
+ <hr role="none">
239
+ <h4 v-t="'prefs.displaySettings.title'" />
241
240
  <p class="set-landing-leadin">
242
241
  {{ t('prefs.displaySettings.detail', {}, raw=true) }}
243
242
  </p>
@@ -278,10 +277,10 @@ export default {
278
277
  <!-- Confirmation setting -->
279
278
  <div
280
279
  v-if="!isSingleProduct"
281
- class="col adv-features mb-20 p-20"
282
- style="border: 1px solid var(--nav-border);"
280
+ class="col adv-features mt-10 mb-10"
283
281
  >
284
- <h4 v-t="'prefs.confirmationSetting.title'" class="mb-20" />
282
+ <hr role="none">
283
+ <h4 v-t="'prefs.confirmationSetting.title'" />
285
284
  <Checkbox
286
285
  v-model:value="scalingDownPrompt"
287
286
  data-testid="prefs__scalingDownPrompt"
@@ -290,8 +289,9 @@ export default {
290
289
  />
291
290
  </div>
292
291
  <!-- Advanced Features -->
293
- <div class="col adv-features mb-20 p-20" style="border: 1px solid var(--nav-border);">
294
- <h4 v-t="'prefs.advFeatures.title'" class="mb-20" />
292
+ <div class="col adv-features mt-10 mb-10">
293
+ <hr role="none">
294
+ <h4 v-t="'prefs.advFeatures.title'" />
295
295
  <Checkbox
296
296
  v-model:value="viewInApi"
297
297
  data-testid="prefs__viewInApi"
@@ -332,8 +332,9 @@ export default {
332
332
  </template>
333
333
  </div>
334
334
  <!-- YAML editor key mapping -->
335
- <div class="col mb-20 p-20" style="border: 1px solid var(--nav-border);">
336
- <h4 v-t="'prefs.keymap.label'" class="mb-20" />
335
+ <div class="col mt-10 mb-10">
336
+ <hr role="none">
337
+ <h4 v-t="'prefs.keymap.label'" />
337
338
  <ButtonGroup
338
339
  v-model:value="keymap"
339
340
  data-testid="prefs__keymapOptions"
@@ -343,10 +344,10 @@ export default {
343
344
  <!-- Helm Charts -->
344
345
  <div
345
346
  v-if="!isSingleProduct"
346
- class="col mb-40 p-20"
347
- style="border: 1px solid var(--nav-border);"
347
+ class="col mt-10 mb-40"
348
348
  >
349
- <h4 v-t="'prefs.helm.label'" class="mb-20" />
349
+ <hr role="none">
350
+ <h4 v-t="'prefs.helm.label'" />
350
351
  <ButtonGroup
351
352
  v-model:value="showPreRelease"
352
353
  data-testid="prefs__helmOptions"
@@ -365,7 +366,4 @@ export default {
365
366
  max-width: 80vw;
366
367
  color: var(--input-label);
367
368
  }
368
- h4{
369
- font-size: 14px;
370
- }
371
369
  </style>
package/pkg/tsconfig.json CHANGED
@@ -27,25 +27,25 @@
27
27
  ],
28
28
  "paths": {
29
29
  "@shell/core/*": [
30
- "../../node_modules/@rancher/shell/core/*"
30
+ "../../node_modules/dashboard-shell-shell/core/*"
31
31
  ],
32
32
  "@shell/config/*": [
33
- "../../node_modules/@rancher/shell/config/*"
33
+ "../../node_modules/dashboard-shell-shell/config/*"
34
34
  ],
35
35
  "@shell/store/*": [
36
- "../../node_modules/@rancher/shell/store/*"
36
+ "../../node_modules/dashboard-shell-shell/store/*"
37
37
  ],
38
38
  "@shell/plugins/*": [
39
- "../../node_modules/@rancher/shell/plugins/*"
39
+ "../../node_modules/dashboard-shell-shell/plugins/*"
40
40
  ],
41
41
  "@shell/utils/*": [
42
- "../../node_modules/@rancher/shell/utils/*"
42
+ "../../node_modules/dashboard-shell-shell/utils/*"
43
43
  ],
44
44
  "@shell/models/*": [
45
- "../../node_modules/@rancher/shell/models/*"
45
+ "../../node_modules/dashboard-shell-shell/models/*"
46
46
  ],
47
47
  "@shell/mixins/*": [
48
- "../../node_modules/@rancher/shell/mixins/*"
48
+ "../../node_modules/dashboard-shell-shell/mixins/*"
49
49
  ],
50
50
  "@pkg/*": [
51
51
  "./*"
@@ -56,8 +56,8 @@
56
56
  "**/*.ts",
57
57
  "**/*.tsx",
58
58
  "**/*.vue",
59
- "../../node_modules/@rancher/shell/types/*.d.ts",
60
- "../../node_modules/@rancher/shell/core/types.ts"
59
+ "../../node_modules/dashboard-shell-shell/types/*.d.ts",
60
+ "../../node_modules/dashboard-shell-shell/core/types.ts"
61
61
  ],
62
62
  "exclude": [
63
63
  "node_modules"
package/pkg/vue.config.js CHANGED
@@ -117,7 +117,7 @@ module.exports = function(dir) {
117
117
  if (p.use) {
118
118
  p.use.forEach((u) => {
119
119
  if (u.loader.includes('babel-loader')) {
120
- p.exclude = /node_modules\/(?!@rancher\/shell\/).*/;
120
+ p.exclude = /node_modules\/(?!dashboard-shell-shell\/).*/;
121
121
  }
122
122
  });
123
123
  }
@@ -92,10 +92,10 @@ export default {
92
92
  this.info = '';
93
93
  this.warning = this.t('rbac.globalRoles.usersBound', { count: uniqueUsersWithBinds.size });
94
94
  } else {
95
- this.info = this.t('rbac.globalRoles.notBound');
95
+ this.info = this.t('rbac.globalRoles.notBound', null, true);
96
96
  }
97
97
  } else {
98
- this.info = this.t('rbac.globalRoles.notBound');
98
+ this.info = this.t('rbac.globalRoles.notBound', null, true);
99
99
  }
100
100
  } catch (e) {
101
101
  this.info = this.t('rbac.globalRoles.unableToCheck');
package/scripts/clean CHANGED
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes