preferences-widget.vue 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. <script lang="ts" setup>
  2. import { loadLocaleMessages } from '@vben/locales';
  3. import { preferences, updatePreferences } from '@vben-core/preferences';
  4. import Preferences from './preferences.vue';
  5. </script>
  6. <template>
  7. <Preferences
  8. :app-ai-assistant="preferences.app.aiAssistant"
  9. :app-color-gray-mode="preferences.app.colorGrayMode"
  10. :app-color-weak-mode="preferences.app.colorWeakMode"
  11. :app-content-compact="preferences.app.contentCompact"
  12. :app-dynamic-title="preferences.app.dynamicTitle"
  13. :app-layout="preferences.app.layout"
  14. :app-locale="preferences.app.locale"
  15. :app-semi-dark-menu="preferences.app.semiDarkMenu"
  16. :breadcrumb-enable="preferences.breadcrumb.enable"
  17. :breadcrumb-hide-only-one="preferences.breadcrumb.hideOnlyOne"
  18. :breadcrumb-home="preferences.breadcrumb.showHome"
  19. :breadcrumb-icon="preferences.breadcrumb.showIcon"
  20. :breadcrumb-style-type="preferences.breadcrumb.styleType"
  21. :footer-enable="preferences.footer.enable"
  22. :footer-fixed="preferences.footer.fixed"
  23. :header-enable="preferences.header.enable"
  24. :header-mode="preferences.header.mode"
  25. :navigation-accordion="preferences.navigation.accordion"
  26. :navigation-split="preferences.navigation.split"
  27. :navigation-style-type="preferences.navigation.styleType"
  28. :shortcut-keys-enable="preferences.shortcutKeys.enable"
  29. :shortcut-keys-global-logout="preferences.shortcutKeys.globalLogout"
  30. :shortcut-keys-global-preferences="
  31. preferences.shortcutKeys.globalPreferences
  32. "
  33. :shortcut-keys-global-search="preferences.shortcutKeys.globalSearch"
  34. :sidebar-collapsed="preferences.sidebar.collapsed"
  35. :sidebar-collapsed-show-title="preferences.sidebar.collapsedShowTitle"
  36. :sidebar-enable="preferences.sidebar.enable"
  37. :tabbar-enable="preferences.tabbar.enable"
  38. :tabbar-show-icon="preferences.tabbar.showIcon"
  39. :theme-builtin-type="preferences.theme.builtinType"
  40. :theme-color-primary="preferences.theme.colorPrimary"
  41. :theme-mode="preferences.theme.mode"
  42. :theme-radius="preferences.theme.radius"
  43. :transition-enable="preferences.transition.enable"
  44. :transition-name="preferences.transition.name"
  45. :transition-progress="preferences.transition.progress"
  46. @update:app-ai-assistant="
  47. (val) => updatePreferences({ app: { aiAssistant: val } })
  48. "
  49. @update:app-color-gray-mode="
  50. (val) => updatePreferences({ app: { colorGrayMode: val } })
  51. "
  52. @update:app-color-weak-mode="
  53. (val) => updatePreferences({ app: { colorWeakMode: val } })
  54. "
  55. @update:app-content-compact="
  56. (val) => updatePreferences({ app: { contentCompact: val } })
  57. "
  58. @update:app-dynamic-title="
  59. (val) => updatePreferences({ app: { dynamicTitle: val } })
  60. "
  61. @update:app-layout="(val) => updatePreferences({ app: { layout: val } })"
  62. @update:app-locale="
  63. (val) => {
  64. updatePreferences({ app: { locale: val } });
  65. loadLocaleMessages(val);
  66. }
  67. "
  68. @update:app-semi-dark-menu="
  69. (val) => updatePreferences({ app: { semiDarkMenu: val } })
  70. "
  71. @update:breadcrumb-enable="
  72. (val) => updatePreferences({ breadcrumb: { enable: val } })
  73. "
  74. @update:breadcrumb-hide-only-one="
  75. (val) => updatePreferences({ breadcrumb: { hideOnlyOne: val } })
  76. "
  77. @update:breadcrumb-show-home="
  78. (val) => updatePreferences({ breadcrumb: { showHome: val } })
  79. "
  80. @update:breadcrumb-show-icon="
  81. (val) => updatePreferences({ breadcrumb: { showIcon: val } })
  82. "
  83. @update:breadcrumb-style-type="
  84. (val) => updatePreferences({ breadcrumb: { styleType: val } })
  85. "
  86. @update:footer-enable="
  87. (val) => updatePreferences({ footer: { enable: val } })
  88. "
  89. @update:footer-fixed="
  90. (val) => updatePreferences({ footer: { fixed: val } })
  91. "
  92. @update:header-enable="
  93. (val) => updatePreferences({ header: { enable: val } })
  94. "
  95. @update:header-mode="(val) => updatePreferences({ header: { mode: val } })"
  96. @update:navigation-accordion="
  97. (val) => updatePreferences({ navigation: { accordion: val } })
  98. "
  99. @update:navigation-split="
  100. (val) => updatePreferences({ navigation: { split: val } })
  101. "
  102. @update:navigation-style-type="
  103. (val) => updatePreferences({ navigation: { styleType: val } })
  104. "
  105. @update:shortcut-keys-enable="
  106. (val) => updatePreferences({ shortcutKeys: { enable: val } })
  107. "
  108. @update:shortcut-keys-global-logout="
  109. (val) => updatePreferences({ shortcutKeys: { globalLogout: val } })
  110. "
  111. @update:shortcut-keys-global-preferences="
  112. (val) => updatePreferences({ shortcutKeys: { globalPreferences: val } })
  113. "
  114. @update:shortcut-keys-global-search="
  115. (val) => updatePreferences({ shortcutKeys: { globalSearch: val } })
  116. "
  117. @update:sidebar-collapsed="
  118. (val) => updatePreferences({ sidebar: { collapsed: val } })
  119. "
  120. @update:sidebar-collapsed-show-title="
  121. (val) => updatePreferences({ sidebar: { collapsedShowTitle: val } })
  122. "
  123. @update:sidebar-enable="
  124. (val) => updatePreferences({ sidebar: { enable: val } })
  125. "
  126. @update:tabbar-enable="
  127. (val) => updatePreferences({ tabbar: { enable: val } })
  128. "
  129. @update:tabbar-show-icon="
  130. (val) => updatePreferences({ tabbar: { showIcon: val } })
  131. "
  132. @update:theme-builtin-type="
  133. (val) => updatePreferences({ theme: { builtinType: val } })
  134. "
  135. @update:theme-color-primary="
  136. (val) => updatePreferences({ theme: { colorPrimary: val } })
  137. "
  138. @update:theme-mode="(val) => updatePreferences({ theme: { mode: val } })"
  139. @update:theme-radius="
  140. (val) => updatePreferences({ theme: { radius: val } })
  141. "
  142. @update:transition-enable="
  143. (val) => updatePreferences({ transition: { enable: val } })
  144. "
  145. @update:transition-name="
  146. (val) => updatePreferences({ transition: { name: val } })
  147. "
  148. @update:transition-progress="
  149. (val) => updatePreferences({ transition: { progress: val } })
  150. "
  151. />
  152. </template>