2026-03-30 17:00:38 +08:00

39 lines
966 B
Vue

<script setup lang="ts">
defineOptions({
name: 'AuthenticationFormView',
});
defineProps<{
dataSide?: 'bottom' | 'left' | 'right' | 'top';
}>();
</script>
<template>
<div
class="relative flex-col-center bg-background px-6 py-10 lg:flex-initial lg:px-8 dark:bg-background-deep"
>
<slot></slot>
<!-- Router View with Transition and KeepAlive -->
<RouterView v-slot="{ Component, route }">
<Transition appear mode="out-in" name="slide-right">
<KeepAlive :include="['Login']">
<component
:is="Component"
:key="route.fullPath"
class="side-content mt-6 w-full sm:mx-auto md:max-w-md"
:data-side="dataSide"
/>
</KeepAlive>
</Transition>
</RouterView>
<!-- Footer Copyright -->
<div
class="absolute bottom-3 flex text-center text-xs text-muted-foreground"
>
<slot name="copyright"> </slot>
</div>
</div>
</template>