refactor(project): re-adjust the overall folder

This commit is contained in:
vince
2024-07-23 00:03:59 +08:00
parent a1a566cb2f
commit 14538f7ed5
281 changed files with 1365 additions and 1659 deletions

View File

@@ -11,7 +11,7 @@
"license": "MIT",
"type": "module",
"scripts": {
"build": "pnpm unbuild",
"#build": "pnpm unbuild",
"prepublishOnly": "npm run build"
},
"files": [
@@ -26,7 +26,8 @@
".": {
"types": "./src/index.ts",
"development": "./src/index.ts",
"default": "./dist/index.mjs"
"#default": "./dist/index.mjs",
"default": "./src/index.ts"
}
},
"publishConfig": {
@@ -37,18 +38,17 @@
}
},
"dependencies": {
"@vben-core/helpers": "workspace:*",
"@vben-core/hooks": "workspace:*",
"@vben-core/icons": "workspace:*",
"@vben-core/layout-ui": "workspace:*",
"@vben-core/locales": "workspace:*",
"@vben-core/menu-ui": "workspace:*",
"@vben-core/preferences": "workspace:*",
"@vben-core/shadcn-ui": "workspace:*",
"@vben-core/stores": "workspace:*",
"@vben-core/tabs-ui": "workspace:*",
"@vben-core/toolkit": "workspace:*",
"@vben-core/typings": "workspace:*",
"@vben/hooks": "workspace:*",
"@vben/icons": "workspace:*",
"@vben/locales": "workspace:*",
"@vben/preferences": "workspace:*",
"@vben/stores": "workspace:*",
"@vben/types": "workspace:*",
"@vben/utils": "workspace:*",
"@vueuse/core": "^10.11.0",
"vue": "^3.4.33",
"vue-router": "^4.4.0"

View File

@@ -1,8 +1,8 @@
<script setup lang="ts">
import { computed } from 'vue';
import { $t } from '@vben-core/locales';
import { preferences, usePreferences } from '@vben-core/preferences';
import { $t } from '@vben/locales';
import { preferences, usePreferences } from '@vben/preferences';
import AuthenticationFormView from './form.vue';
import SloganIcon from './icons/slogan.vue';

View File

@@ -1,5 +1,5 @@
<script setup lang="ts">
import { preferences } from '@vben-core/preferences';
import { preferences } from '@vben/preferences';
import { Copyright } from '../basic/copyright';
import Toolbar from './toolbar.vue';

View File

@@ -1,10 +1,10 @@
<script lang="ts" setup>
import type { RouteLocationNormalizedLoaded } from 'vue-router';
import { useContentHeight } from '@vben-core/hooks';
import { preferences, usePreferences } from '@vben-core/preferences';
import { useContentHeight } from '@vben/hooks';
import { preferences, usePreferences } from '@vben/preferences';
import { storeToRefs, useCoreTabbarStore } from '@vben/stores';
import { Spinner } from '@vben-core/shadcn-ui';
import { storeToRefs, useCoreTabbarStore } from '@vben-core/stores';
import { IFrameRouterView } from '../../iframe';
import { useContentSpinner } from './use-content-spinner';

View File

@@ -1,7 +1,7 @@
import { computed, ref } from 'vue';
import { useRouter } from 'vue-router';
import { preferences } from '@vben-core/preferences';
import { preferences } from '@vben/preferences';
function useContentSpinner() {
const spinning = ref(false);

View File

@@ -1,7 +1,7 @@
<script lang="ts" setup>
import { preferences, usePreferences } from '@vben-core/preferences';
import { preferences, usePreferences } from '@vben/preferences';
import { useCoreAccessStore } from '@vben/stores';
import { VbenFullScreen } from '@vben-core/shadcn-ui';
import { useCoreAccessStore } from '@vben-core/stores';
import { GlobalSearch, LanguageToggle, ThemeToggle } from '../../widgets';

View File

@@ -1,16 +1,17 @@
<script lang="ts" setup>
import { computed } from 'vue';
import { VbenAdminLayout } from '@vben-core/layout-ui';
import { $t } from '@vben-core/locales';
import { $t } from '@vben/locales';
import {
preferences,
updatePreferences,
usePreferences,
} from '@vben-core/preferences';
} from '@vben/preferences';
import { useCoreLockStore } from '@vben/stores';
import { MenuRecordRaw } from '@vben/types';
import { mapTree } from '@vben/utils';
import { VbenAdminLayout } from '@vben-core/layout-ui';
import { VbenBackTop, VbenLogo } from '@vben-core/shadcn-ui';
import { mapTree } from '@vben-core/toolkit';
import { MenuRecordRaw } from '@vben-core/typings';
import { Breadcrumb, CozeAssistant, Preferences } from '../widgets';
import { LayoutContent } from './content';
@@ -39,6 +40,7 @@ const {
layout,
sidebarCollapsed,
} = usePreferences();
const coreLockStore = useCoreLockStore();
const headerMenuTheme = computed(() => {
return isDark.value ? 'dark' : 'light';
@@ -293,7 +295,7 @@ function clearPreferencesAndLogout() {
<template #extra>
<slot name="extra"></slot>
<Transition v-if="preferences.widget.lockScreen" name="slide-up">
<slot name="lock-screen"></slot>
<slot v-if="coreLockStore.isLockScreen" name="lock-screen"></slot>
</Transition>
</template>
</VbenAdminLayout>

View File

@@ -1,5 +1,5 @@
<script lang="ts" setup>
import type { MenuRecordRaw } from '@vben-core/typings';
import type { MenuRecordRaw } from '@vben/types';
import { useRoute } from 'vue-router';

View File

@@ -1,5 +1,5 @@
<script lang="ts" setup>
import type { MenuRecordRaw } from '@vben-core/typings';
import type { MenuRecordRaw } from '@vben/types';
import { Menu, MenuProps } from '@vben-core/menu-ui';

View File

@@ -1,11 +1,11 @@
<script lang="ts" setup>
import type { MenuRecordRaw } from '@vben/types';
import type { NormalMenuProps } from '@vben-core/menu-ui';
import type { MenuRecordRaw } from '@vben-core/typings';
import { onBeforeMount } from 'vue';
import { useRoute } from 'vue-router';
import { findMenuByPath } from '@vben-core/helpers';
import { findMenuByPath } from '@vben/utils';
import { NormalMenu } from '@vben-core/menu-ui';
interface Props extends NormalMenuProps {}

View File

@@ -1,11 +1,11 @@
import type { MenuRecordRaw } from '@vben-core/typings';
import type { MenuRecordRaw } from '@vben/types';
import { computed, ref, watch } from 'vue';
import { useRoute } from 'vue-router';
import { findRootMenuByPath } from '@vben-core/helpers';
import { preferences } from '@vben-core/preferences';
import { useCoreAccessStore } from '@vben-core/stores';
import { preferences } from '@vben/preferences';
import { useCoreAccessStore } from '@vben/stores';
import { findRootMenuByPath } from '@vben/utils';
import { useNavigation } from './use-navigation';

View File

@@ -1,11 +1,11 @@
import type { MenuRecordRaw } from '@vben-core/typings';
import type { MenuRecordRaw } from '@vben/types';
import { computed, onBeforeMount, ref, watch } from 'vue';
import { useRoute } from 'vue-router';
import { findRootMenuByPath } from '@vben-core/helpers';
import { preferences, usePreferences } from '@vben-core/preferences';
import { useCoreAccessStore } from '@vben-core/stores';
import { preferences, usePreferences } from '@vben/preferences';
import { useCoreAccessStore } from '@vben/stores';
import { findRootMenuByPath } from '@vben/utils';
import { useNavigation } from './use-navigation';

View File

@@ -1,6 +1,6 @@
import { useRouter } from 'vue-router';
import { isHttpUrl, openWindow } from '@vben-core/toolkit';
import { isHttpUrl, openWindow } from '@vben/utils';
function useNavigation() {
const router = useRouter();

View File

@@ -2,9 +2,9 @@
import { computed } from 'vue';
import { useRoute } from 'vue-router';
import { useContentMaximize, useTabs } from '@vben-core/hooks';
import { preferences } from '@vben-core/preferences';
import { useCoreTabbarStore } from '@vben-core/stores';
import { useContentMaximize, useTabs } from '@vben/hooks';
import { preferences } from '@vben/preferences';
import { useCoreTabbarStore } from '@vben/stores';
import { TabsToolMore, TabsToolScreen, TabsView } from '@vben-core/tabs-ui';
import { useTabbar } from './use-tabbar';

View File

@@ -1,5 +1,5 @@
import type { TabDefinition } from '@vben/types';
import type { IContextMenuItem } from '@vben-core/tabs-ui';
import type { TabDefinition } from '@vben-core/typings';
import type {
RouteLocationNormalized,
RouteLocationNormalizedGeneric,
@@ -8,7 +8,7 @@ import type {
import { computed, ref, watch } from 'vue';
import { useRoute, useRouter } from 'vue-router';
import { useContentMaximize, useTabs } from '@vben-core/hooks';
import { useContentMaximize, useTabs } from '@vben/hooks';
import {
ArrowLeftToLine,
ArrowRightLeft,
@@ -21,14 +21,14 @@ import {
Minimize2,
RotateCw,
X,
} from '@vben-core/icons';
import { $t, useI18n } from '@vben-core/locales';
} from '@vben/icons';
import { $t, useI18n } from '@vben/locales';
import {
storeToRefs,
useCoreAccessStore,
useCoreTabbarStore,
} from '@vben-core/stores';
import { filterTree } from '@vben-core/toolkit';
} from '@vben/stores';
import { filterTree } from '@vben/utils';
export function useTabbar() {
const router = useRouter();

View File

@@ -4,9 +4,9 @@ import type { RouteLocationNormalized } from 'vue-router';
import { computed, ref } from 'vue';
import { useRoute } from 'vue-router';
import { preferences } from '@vben-core/preferences';
import { preferences } from '@vben/preferences';
import { useCoreTabbarStore } from '@vben/stores';
import { Spinner } from '@vben-core/shadcn-ui';
import { useCoreTabbarStore } from '@vben-core/stores';
defineOptions({ name: 'IFrameRouterView' });

View File

@@ -1,11 +1,11 @@
<script lang="ts" setup>
import type { BreadcrumbStyleType } from '@vben/types';
import type { IBreadcrumb } from '@vben-core/shadcn-ui';
import type { BreadcrumbStyleType } from '@vben-core/typings';
import { computed } from 'vue';
import { useRoute, useRouter } from 'vue-router';
import { $t } from '@vben-core/locales';
import { $t } from '@vben/locales';
import { VbenBackgroundBreadcrumb, VbenBreadcrumb } from '@vben-core/shadcn-ui';
interface Props {

View File

@@ -1,12 +1,12 @@
<script setup lang="ts">
import type { BuiltinThemeType } from '@vben-core/typings';
import type { BuiltinThemeType } from '@vben/types';
import { Palette } from '@vben-core/icons';
import { Palette } from '@vben/icons';
import {
COLOR_PRESETS,
preferences,
updatePreferences,
} from '@vben-core/preferences';
} from '@vben/preferences';
import { VbenIconButton } from '@vben-core/shadcn-ui';
defineOptions({

View File

@@ -1,5 +1,5 @@
<script setup lang="ts">
import type { MenuRecordRaw } from '@vben-core/typings';
import type { MenuRecordRaw } from '@vben/types';
import { onMounted, onUnmounted, ref, watch } from 'vue';
@@ -9,8 +9,9 @@ import {
CornerDownLeft,
MdiKeyboardEsc,
Search,
} from '@vben-core/icons';
import { $t } from '@vben-core/locales';
} from '@vben/icons';
import { $t } from '@vben/locales';
import { isWindowsOs } from '@vben/utils';
import {
Dialog,
DialogContent,
@@ -20,7 +21,6 @@ import {
DialogTitle,
DialogTrigger,
} from '@vben-core/shadcn-ui';
import { isWindowsOs } from '@vben-core/toolkit';
import { useMagicKeys, useToggle, whenever } from '@vueuse/core';

View File

@@ -1,13 +1,13 @@
<script setup lang="ts">
import type { MenuRecordRaw } from '@vben-core/typings';
import type { MenuRecordRaw } from '@vben/types';
import { nextTick, onMounted, ref, shallowRef, watch } from 'vue';
import { useRouter } from 'vue-router';
import { SearchX, X } from '@vben-core/icons';
import { $t } from '@vben-core/locales';
import { SearchX, X } from '@vben/icons';
import { $t } from '@vben/locales';
import { mapTree, traverseTreeValues, uniqueByField } from '@vben/utils';
import { VbenIcon, VbenScrollbar } from '@vben-core/shadcn-ui';
import { mapTree, traverseTreeValues, uniqueByField } from '@vben-core/toolkit';
import { onKeyStroke, useLocalStorage, useThrottleFn } from '@vueuse/core';

View File

@@ -1,13 +1,13 @@
<script setup lang="ts">
import type { SupportedLanguagesType } from '@vben-core/typings';
import type { SupportedLanguagesType } from '@vben/types';
import { Languages } from '@vben-core/icons';
import { loadLocaleMessages } from '@vben-core/locales';
import { Languages } from '@vben/icons';
import { loadLocaleMessages } from '@vben/locales';
import {
SUPPORT_LANGUAGES,
preferences,
SUPPORT_LANGUAGES,
updatePreferences,
} from '@vben-core/preferences';
} from '@vben/preferences';
import { VbenDropdownRadioMenu, VbenIconButton } from '@vben-core/shadcn-ui';
defineOptions({

View File

@@ -1,16 +1,16 @@
<script setup lang="ts">
import type { AuthPageLayoutType } from '@vben/types';
import type { VbenDropdownMenuItem } from '@vben-core/shadcn-ui';
import type { AuthPageLayoutType } from '@vben-core/typings';
import { computed } from 'vue';
import { InspectionPanel, PanelLeft, PanelRight } from '@vben-core/icons';
import { $t } from '@vben-core/locales';
import { InspectionPanel, PanelLeft, PanelRight } from '@vben/icons';
import { $t } from '@vben/locales';
import {
preferences,
updatePreferences,
usePreferences,
} from '@vben-core/preferences';
} from '@vben/preferences';
import { VbenDropdownRadioMenu, VbenIconButton } from '@vben-core/shadcn-ui';
defineOptions({

View File

@@ -1,8 +1,9 @@
<script setup lang="ts">
import { computed, reactive, ref, watchEffect } from 'vue';
import { LockKeyhole } from '@vben-core/icons';
import { $t, useI18n } from '@vben-core/locales';
import { LockKeyhole } from '@vben/icons';
import { $t, useI18n } from '@vben/locales';
import { storeToRefs, useCoreLockStore } from '@vben/stores';
import {
VbenAvatar,
VbenButton,
@@ -13,21 +14,20 @@ import { useDateFormat, useNow } from '@vueuse/core';
interface Props {
avatar?: string;
cachedPassword?: string;
}
defineOptions({
name: 'LockScreen',
});
const props = withDefaults(defineProps<Props>(), {
withDefaults(defineProps<Props>(), {
avatar: '',
cachedPassword: undefined,
});
const emit = defineEmits<{ toLogin: []; unlock: [string] }>();
defineEmits<{ toLogin: [] }>();
const { locale } = useI18n();
const coreLockStore = useCoreLockStore();
const now = useNow();
const meridiem = useDateFormat(now, 'A');
@@ -37,6 +37,7 @@ const date = useDateFormat(now, 'YYYY-MM-DD dddd', { locales: locale.value });
const showUnlockForm = ref(false);
const validPass = ref(true);
const { lockScreenPassword } = storeToRefs(coreLockStore);
const formState = reactive({
password: '',
@@ -56,7 +57,7 @@ const passwordStatus = computed(() => {
});
const errorTip = computed(() => {
return props.cachedPassword === undefined || !formState.password
return lockScreenPassword?.value === undefined || !formState.password
? $t('widgets.lockScreen.placeholder')
: $t('widgets.lockScreen.errorPasswordTip');
});
@@ -72,11 +73,11 @@ function handleSubmit() {
if (passwordStatus.value !== 'default') {
return;
}
if (props.cachedPassword !== formState.password) {
if (lockScreenPassword?.value !== formState.password) {
validPass.value = false;
return;
}
emit('unlock', formState.password);
coreLockStore.unlockScreen();
}
function toggleUnlockForm() {

View File

@@ -1,8 +1,8 @@
<script lang="ts" setup>
import type { NotificationItem } from './types';
import { Bell, MailCheck } from '@vben-core/icons';
import { $t } from '@vben-core/locales';
import { Bell, MailCheck } from '@vben/icons';
import { $t } from '@vben/locales';
import {
VbenButton,
VbenIconButton,

View File

@@ -1,5 +1,5 @@
<script setup lang="ts">
import { $t } from '@vben-core/locales';
import { $t } from '@vben/locales';
import SwitchItem from '../switch-item.vue';

View File

@@ -1,8 +1,8 @@
<script setup lang="ts">
import type { SelectOption } from '@vben-core/typings';
import type { SelectOption } from '@vben/types';
import { $t } from '@vben-core/locales';
import { SUPPORT_LANGUAGES } from '@vben-core/preferences';
import { $t } from '@vben/locales';
import { SUPPORT_LANGUAGES } from '@vben/preferences';
import SelectItem from '../select-item.vue';
import SwitchItem from '../switch-item.vue';

View File

@@ -1,9 +1,9 @@
<script setup lang="ts">
import type { SelectOption } from '@vben-core/typings';
import type { SelectOption } from '@vben/types';
import { useSlots } from 'vue';
import { CircleHelp } from '@vben-core/icons';
import { CircleHelp } from '@vben/icons';
import { Input, VbenTooltip } from '@vben-core/shadcn-ui';
defineOptions({

View File

@@ -1,9 +1,9 @@
<script setup lang="ts">
import type { SelectOption } from '@vben-core/typings';
import type { SelectOption } from '@vben/types';
import { computed } from 'vue';
import { $t } from '@vben-core/locales';
import { $t } from '@vben/locales';
import SwitchItem from '../switch-item.vue';
import ToggleItem from '../toggle-item.vue';

View File

@@ -1,7 +1,7 @@
<script setup lang="ts">
import { type Component, computed } from 'vue';
import { $t } from '@vben-core/locales';
import { $t } from '@vben/locales';
import { ContentCompact, ContentWide } from '../../icons';

View File

@@ -1,7 +1,7 @@
<script setup lang="ts">
import { computed } from 'vue';
import { $t } from '@vben-core/locales';
import { $t } from '@vben/locales';
import InputItem from '../input-item.vue';
import SwitchItem from '../switch-item.vue';

View File

@@ -1,5 +1,5 @@
<script setup lang="ts">
import { $t } from '@vben-core/locales';
import { $t } from '@vben/locales';
import SwitchItem from '../switch-item.vue';

View File

@@ -1,7 +1,7 @@
<script setup lang="ts">
import type { LayoutHeaderModeType, SelectOption } from '@vben-core/typings';
import type { LayoutHeaderModeType, SelectOption } from '@vben/types';
import { $t } from '@vben-core/locales';
import { $t } from '@vben/locales';
import SelectItem from '../select-item.vue';
import SwitchItem from '../switch-item.vue';

View File

@@ -1,10 +1,10 @@
<script setup lang="ts">
import type { LayoutType } from '@vben-core/typings';
import type { LayoutType } from '@vben/types';
import { type Component, computed } from 'vue';
import { CircleHelp } from '@vben-core/icons';
import { $t } from '@vben-core/locales';
import { CircleHelp } from '@vben/icons';
import { $t } from '@vben/locales';
import { VbenTooltip } from '@vben-core/shadcn-ui';
import {

View File

@@ -1,7 +1,7 @@
<script setup lang="ts">
import type { SelectOption } from '@vben-core/typings';
import type { SelectOption } from '@vben/types';
import { $t } from '@vben-core/locales';
import { $t } from '@vben/locales';
import SwitchItem from '../switch-item.vue';
import ToggleItem from '../toggle-item.vue';

View File

@@ -1,5 +1,5 @@
<script setup lang="ts">
import { $t } from '@vben-core/locales';
import { $t } from '@vben/locales';
import NumberFieldItem from '../number-field-item.vue';
import SwitchItem from '../switch-item.vue';

View File

@@ -1,8 +1,8 @@
<script setup lang="ts">
import { computed } from 'vue';
import { $t } from '@vben-core/locales';
import { SelectOption } from '@vben-core/typings';
import { $t } from '@vben/locales';
import { SelectOption } from '@vben/types';
import SelectItem from '../select-item.vue';
import SwitchItem from '../switch-item.vue';

View File

@@ -1,5 +1,5 @@
<script setup lang="ts">
import { $t } from '@vben-core/locales';
import { $t } from '@vben/locales';
import SwitchItem from '../switch-item.vue';

View File

@@ -1,9 +1,9 @@
<script setup lang="ts">
import type { SelectOption } from '@vben-core/typings';
import type { SelectOption } from '@vben/types';
import { useSlots } from 'vue';
import { CircleHelp } from '@vben-core/icons';
import { CircleHelp } from '@vben/icons';
import {
NumberField,
NumberFieldContent,

View File

@@ -1,9 +1,9 @@
<script setup lang="ts">
import type { SelectOption } from '@vben-core/typings';
import type { SelectOption } from '@vben/types';
import { useSlots } from 'vue';
import { CircleHelp } from '@vben-core/icons';
import { CircleHelp } from '@vben/icons';
import {
Select,
SelectContent,

View File

@@ -1,8 +1,8 @@
<script setup lang="ts">
import { computed } from 'vue';
import { $t } from '@vben-core/locales';
import { isWindowsOs } from '@vben-core/toolkit';
import { $t } from '@vben/locales';
import { isWindowsOs } from '@vben/utils';
import SwitchItem from '../switch-item.vue';

View File

@@ -1,7 +1,7 @@
<script setup lang="ts">
import { useSlots } from 'vue';
import { CircleHelp } from '@vben-core/icons';
import { CircleHelp } from '@vben/icons';
import { Switch, VbenTooltip } from '@vben-core/shadcn-ui';
defineOptions({

View File

@@ -1,15 +1,15 @@
<script setup lang="ts">
import type { BuiltinThemeType } from '@vben-core/typings';
import type { BuiltinThemeType } from '@vben/types';
import { computed, ref } from 'vue';
import { UserRoundPen } from '@vben-core/icons';
import { $t } from '@vben-core/locales';
import { UserRoundPen } from '@vben/icons';
import { $t } from '@vben/locales';
import {
BUILT_IN_THEME_PRESETS,
type BuiltinThemePreset,
} from '@vben-core/preferences';
import { TinyColor, convertToHsl } from '@vben-core/toolkit';
} from '@vben/preferences';
import { convertToHsl, TinyColor } from '@vben/utils';
defineOptions({
name: 'PreferenceBuiltinTheme',

View File

@@ -1,5 +1,5 @@
<script setup lang="ts">
import { $t } from '@vben-core/locales';
import { $t } from '@vben/locales';
import SwitchItem from '../switch-item.vue';

View File

@@ -1,10 +1,10 @@
<script setup lang="ts">
import type { ThemeModeType } from '@vben-core/typings';
import type { ThemeModeType } from '@vben/types';
import type { Component } from 'vue';
import { MoonStar, Sun, SunMoon } from '@vben-core/icons';
import { $t } from '@vben-core/locales';
import { MoonStar, Sun, SunMoon } from '@vben/icons';
import { $t } from '@vben/locales';
import SwitchItem from '../switch-item.vue';

View File

@@ -1,5 +1,5 @@
<script setup lang="ts">
import type { SelectOption } from '@vben-core/typings';
import type { SelectOption } from '@vben/types';
import { ToggleGroup, ToggleGroupItem } from '@vben-core/shadcn-ui';

View File

@@ -1,5 +1,4 @@
<script setup lang="ts">
import type { SegmentedItem } from '@vben-core/shadcn-ui';
import type {
BreadcrumbStyleType,
BuiltinThemeType,
@@ -9,24 +8,25 @@ import type {
NavigationStyleType,
SupportedLanguagesType,
ThemeModeType,
} from '@vben-core/typings';
} from '@vben/types';
import type { SegmentedItem } from '@vben-core/shadcn-ui';
import { computed, ref } from 'vue';
import { Copy, RotateCw, SwatchBook } from '@vben-core/icons';
import { $t, loadLocaleMessages } from '@vben-core/locales';
import { Copy, RotateCw, SwatchBook } from '@vben/icons';
import { $t, loadLocaleMessages } from '@vben/locales';
import {
clearPreferencesCache,
preferences,
resetPreferences,
usePreferences,
} from '@vben-core/preferences';
} from '@vben/preferences';
import {
useToast,
VbenButton,
VbenIconButton,
VbenSegmented,
VbenSheet,
useToast,
} from '@vben-core/shadcn-ui';
import { useClipboard } from '@vueuse/core';

View File

@@ -1,9 +1,9 @@
<script lang="ts" setup>
import { computed } from 'vue';
import { loadLocaleMessages } from '@vben-core/locales';
import { preferences, updatePreferences } from '@vben-core/preferences';
import { capitalizeFirstLetter } from '@vben-core/toolkit';
import { loadLocaleMessages } from '@vben/locales';
import { preferences, updatePreferences } from '@vben/preferences';
import { capitalizeFirstLetter } from '@vben/utils';
import Preferences from './preferences-sheet.vue';

View File

@@ -1,13 +1,13 @@
<script lang="ts" setup>
import type { ThemeModeType } from '@vben-core/typings';
import type { ThemeModeType } from '@vben/types';
import { MoonStar, Sun, SunMoon } from '@vben-core/icons';
import { $t } from '@vben-core/locales';
import { MoonStar, Sun, SunMoon } from '@vben/icons';
import { $t } from '@vben/locales';
import {
preferences,
updatePreferences,
usePreferences,
} from '@vben-core/preferences';
} from '@vben/preferences';
import {
ToggleGroup,
ToggleGroupItem,

View File

@@ -1,12 +1,14 @@
<script setup lang="ts">
import type { AnyFunction } from '@vben-core/typings';
import type { AnyFunction } from '@vben/types';
import type { Component } from 'vue';
import { computed, ref } from 'vue';
import { LockKeyhole, LogOut, SwatchBook } from '@vben-core/icons';
import { $t } from '@vben-core/locales';
import { preferences, usePreferences } from '@vben-core/preferences';
import { LockKeyhole, LogOut, SwatchBook } from '@vben/icons';
import { $t } from '@vben/locales';
import { preferences, usePreferences } from '@vben/preferences';
import { useCoreLockStore } from '@vben/stores';
import { isWindowsOs } from '@vben/utils';
import {
Badge,
DropdownMenu,
@@ -20,7 +22,6 @@ import {
VbenAvatar,
VbenIcon,
} from '@vben-core/shadcn-ui';
import { isWindowsOs } from '@vben-core/toolkit';
import { useMagicKeys, whenever } from '@vueuse/core';
@@ -69,7 +70,7 @@ const props = withDefaults(defineProps<Props>(), {
text: '',
});
const emit = defineEmits<{ lockScreen: [string]; logout: [] }>();
const emit = defineEmits<{ logout: [] }>();
const openPopover = ref(false);
const openDialog = ref(false);
const openLock = ref(false);
@@ -79,6 +80,7 @@ const {
globalLogoutShortcutKey,
globalPreferencesShortcutKey,
} = usePreferences();
const coreLockStore = useCoreLockStore();
const { handleOpenPreference } = useOpenPreferences();
const altView = computed(() => (isWindowsOs() ? 'Alt' : '⌥'));
@@ -109,7 +111,7 @@ function handleSubmitLock({
lockScreenPassword: string;
}) {
openLock.value = false;
emit('lockScreen', lockScreenPassword);
coreLockStore.lockScreen(lockScreenPassword);
}
function handleLogout() {
// emit