add rybbit

This commit is contained in:
2025-12-20 22:23:35 -03:00
parent f0307d4603
commit 43e6973f88
17 changed files with 269 additions and 115 deletions

View File

@@ -2,12 +2,15 @@ import type { Route } from './+types/route'
import * as cookie from 'cookie'
import { Outlet, type ShouldRevalidateFunctionArgs } from 'react-router'
import { useEffect } from 'react'
import { request as req } from '@repo/util/request'
import {
WorkspaceProvider,
type Workspace
} from '@/components/workspace-switcher'
import { userContext } from '@repo/auth/context'
import { Toaster } from '@repo/ui/components/ui/sonner'
import { authMiddleware } from '@repo/auth/middleware/auth'
import { ModeToggle, ThemedImage } from '@repo/ui/components/dark-mode'
import { NavUser } from '@repo/ui/components/nav-user'
@@ -16,10 +19,9 @@ import {
SidebarProvider,
SidebarTrigger
} from '@repo/ui/components/ui/sidebar'
import { Toaster } from '@repo/ui/components/ui/sonner'
import { request as req } from '@repo/util/request'
import { AppSidebar } from '@/components/app-sidebar'
// import { Notification } from '@/components/notification'
export const middleware: Route.MiddlewareFunction[] = [authMiddleware]
@@ -64,6 +66,16 @@ export function shouldRevalidate({
export default function Route({ loaderData }: Route.ComponentProps) {
const { user, orgs, sidebar_state } = loaderData
useEffect(() => {
if (typeof window !== 'undefined' && window.rybbit) {
window.rybbit.identify(user.sub, {
username: user.email,
name: user.name,
email: user.email
})
}
}, [])
return (
<WorkspaceProvider workspaces={orgs as Workspace[]}>
<SidebarProvider defaultOpen={sidebar_state === 'true'} className="flex">