perf: improve the logic related to login expiration

This commit is contained in:
vince
2024-07-11 20:11:11 +08:00
parent 8e6c1abf19
commit d62a3da009
43 changed files with 552 additions and 347 deletions

View File

@@ -48,7 +48,6 @@
"@vben-core/stores": "workspace:*",
"@vben-core/tabs-ui": "workspace:*",
"@vben-core/toolkit": "workspace:*",
"@vben/universal-ui": "workspace:*",
"@vueuse/core": "^10.11.0",
"vue": "^3.4.31",
"vue-router": "^4.4.0"

View File

@@ -4,7 +4,6 @@ export { default as CozeAssistant } from './coze-assistant.vue';
export * from './global-search';
export { default as LanguageToggle } from './language-toggle.vue';
export { default as AuthenticationLayoutToggle } from './layout-toggle.vue';
export * from './login-dialog';
export * from './notification';
export * from './preferences';
export * from './theme-toggle';

View File

@@ -1 +0,0 @@
export { default as LoginDialog } from './login-dialog.vue';

View File

@@ -1,48 +0,0 @@
<script setup lang="ts">
import { computed } from 'vue';
import {
AuthenticationLogin,
AuthenticationProps,
LoginAndRegisterParams,
} from '@vben/universal-ui';
import { Dialog, DialogContent } from '@vben-core/shadcn-ui';
interface Props extends AuthenticationProps {
open: boolean;
}
defineOptions({
name: 'LoginDialog',
});
const props = withDefaults(defineProps<Props>(), {
open: false,
});
const emit = defineEmits<{
login: [LoginAndRegisterParams];
}>();
const loginProps = computed(() => {
const { open: _, ...rest } = props;
return rest;
});
</script>
<template>
<div>
<Dialog :open="open" class="flex items-center justify-center">
<DialogContent
class="top-[50%] w-full translate-y-[-50%] border-none p-0 shadow-xl sm:w-[600px] sm:rounded-2xl"
>
<div class="p-4">
<AuthenticationLogin
v-bind="loginProps"
@submit="(e) => emit('login', e)"
/>
</div>
</DialogContent>
</Dialog>
</div>
</template>

View File

@@ -399,22 +399,22 @@ async function handleReset() {
:disabled="!diffPreference"
class="mx-4 w-full"
size="sm"
variant="outline"
@click="handleClearCache"
>
<IcRoundRestartAlt class="mr-2 size-4" />
{{ $t('preferences.clearAndLogout') }}
</VbenButton>
<VbenButton
:disabled="!diffPreference"
class="mr-4 w-full"
size="sm"
variant="default"
@click="handleCopy"
>
<IcRoundFolderCopy class="mr-2 size-3" />
{{ $t('preferences.copyPreferences') }}
</VbenButton>
<VbenButton
:disabled="!diffPreference"
class="mr-4 w-full"
size="sm"
variant="ghost"
@click="handleClearCache"
>
<IcRoundRestartAlt class="mr-2 size-4" />
{{ $t('preferences.clearAndLogout') }}
</VbenButton>
</template>
</VbenSheet>
</div>