| | |
| | | |
| | | interface Props extends AuthenticationProps { |
| | | formSchema?: VbenFormSchema[]; |
| | | showFieldLabels?: boolean; |
| | | } |
| | | |
| | | defineOptions({ |
| | |
| | | qrCodeLoginPath: '/auth/qrcode-login', |
| | | registerPath: '/auth/register', |
| | | showCodeLogin: true, |
| | | showFieldLabels: false, |
| | | showDocLink: true, |
| | | showForgetPassword: true, |
| | | showQrcodeLogin: true, |
| | |
| | | const [Form, formApi] = useVbenForm( |
| | | reactive({ |
| | | commonConfig: { |
| | | hideLabel: true, |
| | | hideLabel: computed(() => !props.showFieldLabels), |
| | | hideRequiredMark: true, |
| | | }, |
| | | schema: computed(() => props.formSchema), |
| | | layout: computed(() => props.showFieldLabels ? 'vertical' as const : 'horizontal' as const), |
| | | showDefaultActions: false, |
| | | }), |
| | | ); |
| | |
| | | 'cursor-wait': loading, |
| | | }" |
| | | :loading="loading" |
| | | aria-label="login" |
| | | :aria-label="submitButtonText || $t('common.login')" |
| | | class="h-12 w-full rounded-xl bg-emerald-600 text-base font-semibold tracking-[0.18em] text-white shadow-[0_10px_24px_rgba(5,150,105,0.22)] transition-[background-color,box-shadow] duration-200 hover:bg-emerald-700 hover:shadow-[0_12px_28px_rgba(5,150,105,0.3)] focus-visible:ring-2 focus-visible:ring-emerald-500/50 disabled:cursor-not-allowed disabled:opacity-70" |
| | | @click="handleSubmit" |
| | | > |