From 3ce26e7198f53b78ae306dbbb8c61fb78a2395fa Mon Sep 17 00:00:00 2001 From: Gauthier Roebroeck Date: Fri, 23 May 2025 17:40:35 +0800 Subject: [PATCH] add vuetify rules lab --- next-ui/src/plugins/index.ts | 4 ++-- next-ui/src/plugins/vuetify.ts | 14 ++++++++++++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/next-ui/src/plugins/index.ts b/next-ui/src/plugins/index.ts index 9c9a8530..51d783cb 100644 --- a/next-ui/src/plugins/index.ts +++ b/next-ui/src/plugins/index.ts @@ -5,7 +5,7 @@ */ // Plugins -import vuetify from './vuetify' +import {vuetify, vuetifyRulesPlugin} from './vuetify' import pinia from '../stores' import router from '../router' import {PiniaColada} from '@pinia/colada' @@ -13,7 +13,6 @@ import { PiniaColadaAutoRefetch } from '@pinia/colada-plugin-auto-refetch' // Types import type {App} from 'vue' - // Navigation guards import {useLoginGuard} from '@/router/login-guard' import {useRoleGuard} from '@/router/role-guard.ts' @@ -21,6 +20,7 @@ import {useRoleGuard} from '@/router/role-guard.ts' export function registerPlugins(app: App) { app .use(vuetify) + .use(vuetifyRulesPlugin) // .use(DataLoaderPlugin, {router}) .use(router) .use(pinia) diff --git a/next-ui/src/plugins/vuetify.ts b/next-ui/src/plugins/vuetify.ts index 6cd2a516..f5dc0e7e 100644 --- a/next-ui/src/plugins/vuetify.ts +++ b/next-ui/src/plugins/vuetify.ts @@ -11,11 +11,13 @@ import 'vuetify/styles' // Composables import {createVuetify} from 'vuetify' import {md3} from 'vuetify/blueprints' -import {VIconBtn} from 'vuetify/labs/components' +// Labs +import {VIconBtn} from 'vuetify/labs/components' +import {createRulesPlugin} from 'vuetify/labs/rules' // https://vuetifyjs.com/en/introduction/why-vuetify/#feature-guides -export default createVuetify({ +export const vuetify = createVuetify({ theme: { defaultTheme: 'light', themes: { @@ -42,3 +44,11 @@ export default createVuetify({ VIconBtn, }, }) + +export const vuetifyRulesPlugin = createRulesPlugin({ + aliases: { + sameAs: (other?: string, err?: string) => { + return (v: unknown) => other === v || err || 'Field must be same' + }, + }, +}, vuetify.locale)