feat: widgets and ai chat

This commit is contained in:
Rotimi Best
2026-04-27 11:40:38 +01:00
parent ae1801f85f
commit 5717dd8004
391 changed files with 28177 additions and 22467 deletions
@@ -1 +1,2 @@
export * from './stats';
export * from './login-activity';
@@ -0,0 +1,13 @@
import * as z from 'zod';
export const ZLoginActivity = z
.object({
orgId: z.string().optional(),
siteName: z.string().optional(),
days: z.coerce.number().int().min(1).max(365).default(90)
})
.refine((v) => !!(v.orgId || v.siteName), {
message: 'Either orgId or siteName is required'
});
export type TLoginActivity = z.infer<typeof ZLoginActivity>;