diff --git a/apps/web/src/services/project/components/ProjectMainProjectGroupFormModal.vue b/apps/web/src/services/project/components/ProjectMainProjectGroupFormModal.vue
index a9742a1763..76924a2cf1 100644
--- a/apps/web/src/services/project/components/ProjectMainProjectGroupFormModal.vue
+++ b/apps/web/src/services/project/components/ProjectMainProjectGroupFormModal.vue
@@ -146,7 +146,7 @@ watch(() => props.projectGroupId, async (after) => {
fade
backdrop
:visible.sync="state.proxyVisible"
- :disabled="state.loading || !isAllValid"
+ :disabled="state.loading || !isAllValid || storeState.projectGroups[props.projectGroupId]?.name === projectGroupName"
@confirm="confirm"
>
diff --git a/packages/mirinae/src/navigation/tabs/tab/PTab.vue b/packages/mirinae/src/navigation/tabs/tab/PTab.vue
index 54cfffc62e..7aa65caddc 100644
--- a/packages/mirinae/src/navigation/tabs/tab/PTab.vue
+++ b/packages/mirinae/src/navigation/tabs/tab/PTab.vue
@@ -12,6 +12,7 @@ import PTextButton from '@/inputs/buttons/text-button/PTextButton.vue';
import PContextMenu from '@/inputs/context-menu/PContextMenu.vue';
import type { MenuItem } from '@/inputs/context-menu/type';
import PDivider from '@/layouts/divider/PDivider.vue';
+import FolderTab from '@/navigation/tabs/tab/components/FolderTab.vue';
import type { TabItem } from '@/navigation/tabs/tab/type';
const CUSTOM_BACK_BUTTON = 'CUSTOM_BACK_BUTTON';
@@ -27,9 +28,8 @@ const emit = defineEmits<{(e: 'update:active-tab', value: string): void;
}>();
const tabContainerRef = ref(null);
-const tabItemsRef = ref<(HTMLElement|typeof PDivider)[]>([]);
+const tabItemsRef = ref<(HTMLElement|typeof PDivider|typeof FolderTab)[]>([]);
const slotRef = ref(null);
-const groupTabMenuRef = ref(null);
const hiddenTabsMenuRef = ref(null);
const {
@@ -75,7 +75,7 @@ const state = reactive({
iconColor: '#0062B8',
},
{
- tabType: 'divider',
+ type: 'divider',
},
...selectedTab?.subItems || [],
];
@@ -196,33 +196,17 @@ onClickOutside(hiddenTabsMenuRef, hideHiddenTabs);
class="divider-item"
vertical
/>
-
-
-
- {{ tab.label }}
-
-
-
-
-
+
- {{ $t('Back') }}
+ {{ $t('TAB.BACK') }}
{{ item?.label || item?.name }}
+
+
+
@@ -342,7 +333,7 @@ onClickOutside(hiddenTabsMenuRef, hideHiddenTabs);
@media (hover: hover) {
&:hover {
- @apply text-gray-900;
+ @apply text-gray-900 bg-gray-100;
}
}
&.active {
@@ -405,4 +396,8 @@ onClickOutside(hiddenTabsMenuRef, hideHiddenTabs);
flex: 0 0;
}
}
+
+.empty-sub-menu-item {
+ @apply text-label-md text-gray-300;
+}
diff --git a/packages/mirinae/src/navigation/tabs/tab/components/FolderTab.vue b/packages/mirinae/src/navigation/tabs/tab/components/FolderTab.vue
new file mode 100644
index 0000000000..f06e82ef74
--- /dev/null
+++ b/packages/mirinae/src/navigation/tabs/tab/components/FolderTab.vue
@@ -0,0 +1,117 @@
+
+
+
+
+
+
+ {{ tab.label }}
+
+
+
+
+
+
+
+
diff --git a/packages/mirinae/src/translations/language-pack/babel.babel b/packages/mirinae/src/translations/language-pack/babel.babel
index f8f22b3047..add28841d5 100644
--- a/packages/mirinae/src/translations/language-pack/babel.babel
+++ b/packages/mirinae/src/translations/language-pack/babel.babel
@@ -1270,6 +1270,32 @@
+
+ TAB
+
+
+ BACK
+ false
+
+
+
+
+
+ en-US
+ true
+
+
+ ja-JP
+ true
+
+
+ ko-KR
+ true
+
+
+
+
+
TEXT_INPUT
diff --git a/packages/mirinae/src/translations/language-pack/en.json b/packages/mirinae/src/translations/language-pack/en.json
index 7972f3cf01..04aa5f5227 100644
--- a/packages/mirinae/src/translations/language-pack/en.json
+++ b/packages/mirinae/src/translations/language-pack/en.json
@@ -101,6 +101,9 @@
"SELECT_DROPDOWN": {
"SELECT": "Select"
},
+ "TAB": {
+ "BACK": "Back"
+ },
"TEXT_INPUT": {
"HIDE": "Hide",
"SHOW": "Show"
diff --git a/packages/mirinae/src/translations/language-pack/ja.json b/packages/mirinae/src/translations/language-pack/ja.json
index aa5faa9367..d7325d98ba 100644
--- a/packages/mirinae/src/translations/language-pack/ja.json
+++ b/packages/mirinae/src/translations/language-pack/ja.json
@@ -101,6 +101,9 @@
"SELECT_DROPDOWN": {
"SELECT": "選択"
},
+ "TAB": {
+ "BACK": "戻る"
+ },
"TEXT_INPUT": {
"HIDE": "隠す",
"SHOW": "もっと見る"
diff --git a/packages/mirinae/src/translations/language-pack/ko.json b/packages/mirinae/src/translations/language-pack/ko.json
index de3584927a..76ac5c454a 100644
--- a/packages/mirinae/src/translations/language-pack/ko.json
+++ b/packages/mirinae/src/translations/language-pack/ko.json
@@ -101,6 +101,9 @@
"SELECT_DROPDOWN": {
"SELECT": "선택"
},
+ "TAB": {
+ "BACK": "돌아가기"
+ },
"TEXT_INPUT": {
"HIDE": "숨기기",
"SHOW": "보이기"