diff --git a/src/components/SettingsCatalogPanel.vue b/src/components/SettingsCatalogPanel.vue index 3c97ff9..539e5a5 100644 --- a/src/components/SettingsCatalogPanel.vue +++ b/src/components/SettingsCatalogPanel.vue @@ -1,16 +1,20 @@ diff --git a/src/layouts/AppLayout.vue b/src/layouts/AppLayout.vue index 34ee4be..2484b3e 100644 --- a/src/layouts/AppLayout.vue +++ b/src/layouts/AppLayout.vue @@ -103,19 +103,21 @@ onMounted(loadSmsToggle) min-height: 100vh; max-width: 100%; background: #eef2f7; - overflow-x: hidden; + padding-top: 64px; } .topbar { - position: sticky; + position: fixed; top: 0; - z-index: 40; + right: 0; + left: 0; + z-index: 100; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px; - background: rgba(255, 255, 255, 0.88); + background: rgba(255, 255, 255, 0.96); backdrop-filter: blur(12px); border-bottom: 1px solid #e8eef5; } @@ -235,6 +237,7 @@ onMounted(loadSmsToggle) } @media (min-width: 768px) { + .shell { padding-top: 72px; } .topbar { padding: 16px 24px; } .content { padding: 24px; } } diff --git a/src/pages/KhanegiModularUiConfigPage.vue b/src/pages/KhanegiModularUiConfigPage.vue index 459782f..474c452 100644 --- a/src/pages/KhanegiModularUiConfigPage.vue +++ b/src/pages/KhanegiModularUiConfigPage.vue @@ -4,6 +4,7 @@ import { useRoute, useRouter } from 'vue-router' import { message } from 'ant-design-vue' import { ArrowRightOutlined } from '@ant-design/icons-vue' import api from '@/api/http' +import VersionPageTabs from '@/components/VersionPageTabs.vue' import { useAuthStore } from '@/stores/auth' const route = useRoute() @@ -153,34 +154,41 @@ onMounted(load) -
+

ظاهر اپ خانگی — ماژولار

{{ tenantName || 'نسخه' }}

- - + - - ذخیره - - + + + + ذخیره + + +
@@ -269,8 +277,20 @@ onMounted(load) display: flex; align-items: flex-start; gap: 8px; + flex-wrap: wrap; margin-bottom: 16px; } +.head-text { + flex: 1 1 180px; + min-width: 0; +} +.head-aside { + display: flex; + flex-wrap: wrap; + align-items: center; + gap: 8px; + margin-inline-start: auto; +} .hint { color: #64748b; margin: 0 0 16px; diff --git a/src/pages/ProductVersionsPage.vue b/src/pages/ProductVersionsPage.vue index 9c0083a..f41a33a 100644 --- a/src/pages/ProductVersionsPage.vue +++ b/src/pages/ProductVersionsPage.vue @@ -123,10 +123,9 @@ onMounted(load) نسخه جدید + - -
diff --git a/src/pages/ProgramSettingsPage.vue b/src/pages/ProgramSettingsPage.vue index 86347b6..d3c3205 100644 --- a/src/pages/ProgramSettingsPage.vue +++ b/src/pages/ProgramSettingsPage.vue @@ -24,6 +24,7 @@ import { WalletOutlined, } from '@ant-design/icons-vue' import api from '@/api/http' +import VersionPageTabs from '@/components/VersionPageTabs.vue' import SettingCard from '@/components/program-settings/SettingCard.vue' import { KHANEGI_SYSTEM_SETTING_GROUPS, @@ -405,7 +406,7 @@ onMounted(load) -
+

تنظیمات برنامه

{{ tenant?.nameFa || 'نسخه خانگی' }} @@ -413,19 +414,17 @@ onMounted(load) · کنترل کامل از سوپرادمین (جایگزین تنظیمات پیشرفته ادمین خانگی)

- +
+ اپ - - ظاهر اپ - - +
@@ -605,8 +604,20 @@ onMounted(load) display: flex; align-items: flex-start; gap: 8px; + flex-wrap: wrap; margin-bottom: 16px; } +.head-text { + flex: 1 1 180px; + min-width: 0; +} +.head-aside { + display: flex; + flex-wrap: wrap; + align-items: center; + gap: 8px; + margin-inline-start: auto; +} .field-hint { margin: 0 0 14px; color: #64748b; diff --git a/src/pages/TenantFormPage.vue b/src/pages/TenantFormPage.vue index 013cc21..db3c923 100644 --- a/src/pages/TenantFormPage.vue +++ b/src/pages/TenantFormPage.vue @@ -4,6 +4,7 @@ import { useRoute, useRouter } from 'vue-router' import { message } from 'ant-design-vue' import { ArrowRightOutlined, PlusOutlined, DeleteOutlined } from '@ant-design/icons-vue' import api from '@/api/http' +import VersionPageTabs from '@/components/VersionPageTabs.vue' import { useAuthStore } from '@/stores/auth' import { formatIranDateTime } from '@/utils/datetime' @@ -150,174 +151,165 @@ onMounted(load) diff --git a/src/pages/UiConfigPage.vue b/src/pages/UiConfigPage.vue index 73cbd5a..6b81528 100644 --- a/src/pages/UiConfigPage.vue +++ b/src/pages/UiConfigPage.vue @@ -4,6 +4,7 @@ import { useRoute, useRouter } from 'vue-router' import { message, Modal } from 'ant-design-vue' import { ArrowRightOutlined } from '@ant-design/icons-vue' import api from '@/api/http' +import VersionPageTabs from '@/components/VersionPageTabs.vue' import { cloneKhanegiAppSnapshot, createDefaultKhanegiUiConfig, @@ -316,31 +317,38 @@ onMounted(load) -
+

ظاهر اپ خانگی — تم جدید

{{ tenantName }} · ۳ تم آماده + سفارشی

- - + - - ذخیره ظاهر - - + + + + ذخیره ظاهر + + +
@@ -599,9 +607,23 @@ onMounted(load) display: flex; align-items: flex-start; gap: 8px; + flex-wrap: wrap; margin-bottom: 16px; } +.head-text { + flex: 1 1 180px; + min-width: 0; +} + +.head-aside { + display: flex; + flex-wrap: wrap; + align-items: center; + gap: 8px; + margin-inline-start: auto; +} + .preset-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));