diff --git a/apps/dashboard/src/app/(onboarding)/onboarding/[projectId]/connect/connect-app.tsx b/apps/dashboard/src/app/(onboarding)/onboarding/[projectId]/connect/connect-app.tsx index 4ccc802d..387e5f7a 100644 --- a/apps/dashboard/src/app/(onboarding)/onboarding/[projectId]/connect/connect-app.tsx +++ b/apps/dashboard/src/app/(onboarding)/onboarding/[projectId]/connect/connect-app.tsx @@ -19,30 +19,26 @@ const ConnectApp = ({ client }: Props) => { Pick a framework below to get started.

- {frameworks.app.map((framework) => ( - - ))} + {frameworks + .filter((framework) => framework.type.includes('app')) + .map((framework) => ( + + ))}

Missing a framework?{' '} diff --git a/apps/dashboard/src/app/(onboarding)/onboarding/[projectId]/connect/connect-backend.tsx b/apps/dashboard/src/app/(onboarding)/onboarding/[projectId]/connect/connect-backend.tsx index c42420ae..94fefa93 100644 --- a/apps/dashboard/src/app/(onboarding)/onboarding/[projectId]/connect/connect-backend.tsx +++ b/apps/dashboard/src/app/(onboarding)/onboarding/[projectId]/connect/connect-backend.tsx @@ -19,30 +19,26 @@ const ConnectBackend = ({ client }: Props) => { Pick a framework below to get started.

- {frameworks.backend.map((framework) => ( - - ))} + {frameworks + .filter((framework) => framework.type.includes('backend')) + .map((framework) => ( + + ))}

Missing a framework?{' '} diff --git a/apps/dashboard/src/app/(onboarding)/onboarding/[projectId]/connect/connect-web.tsx b/apps/dashboard/src/app/(onboarding)/onboarding/[projectId]/connect/connect-web.tsx index afe480a5..9ed59e1c 100644 --- a/apps/dashboard/src/app/(onboarding)/onboarding/[projectId]/connect/connect-web.tsx +++ b/apps/dashboard/src/app/(onboarding)/onboarding/[projectId]/connect/connect-web.tsx @@ -19,30 +19,26 @@ const ConnectWeb = ({ client }: Props) => { Pick a framework below to get started.

- {frameworks.website.map((framework) => ( - - ))} + {frameworks + .filter((framework) => framework.type.includes('website')) + .map((framework) => ( + + ))}

Missing a framework?{' '} diff --git a/apps/dashboard/src/app/providers.tsx b/apps/dashboard/src/app/providers.tsx index f4467c04..8ebb942d 100644 --- a/apps/dashboard/src/app/providers.tsx +++ b/apps/dashboard/src/app/providers.tsx @@ -18,8 +18,10 @@ import superjson from 'superjson'; import { NotificationProvider } from '@/components/notifications/notification-provider'; import { OpenPanelComponent } from '@openpanel/nextjs'; +import { useSearchParams } from 'next/navigation'; function AllProviders({ children }: { children: React.ReactNode }) { + const searchParams = useSearchParams(); const { getToken } = useAuth(); const [queryClient] = useState( () => @@ -59,11 +61,16 @@ function AllProviders({ children }: { children: React.ReactNode }) { storeRef.current = makeStore(); } + const forcedTheme = searchParams.get('colorScheme'); + return ( {process.env.NEXT_PUBLIC_OP_CLIENT_ID && (

{step.count} - {/* */}
diff --git a/apps/dashboard/src/modals/FunnelStepDetails.tsx b/apps/dashboard/src/modals/FunnelStepDetails.tsx deleted file mode 100644 index efbcbe72..00000000 --- a/apps/dashboard/src/modals/FunnelStepDetails.tsx +++ /dev/null @@ -1,103 +0,0 @@ -'use client'; - -import { ListPropertiesIcon } from '@/components/events/list-properties-icon'; -import { Pagination } from '@/components/pagination'; -import { ProfileAvatar } from '@/components/profiles/profile-avatar'; -import { DialogContent } from '@/components/ui/dialog'; -import { ScrollArea } from '@/components/ui/scroll-area'; -import { Tooltiper } from '@/components/ui/tooltip'; -import { WidgetTable } from '@/components/widget-table'; -import { useAppParams } from '@/hooks/useAppParams'; -import { api } from '@/trpc/client'; -import { getProfileName } from '@/utils/getters'; -import Link from 'next/link'; -import { usePathname } from 'next/navigation'; -import { useEffect, useRef, useState } from 'react'; - -import type { IChartInput } from '@openpanel/validation'; - -import { popModal } from '.'; -import { ModalHeader } from './Modal/Container'; - -interface Props extends IChartInput { - step: number; -} - -function usePrevious(value: any) { - const ref = useRef(); - useEffect(() => { - ref.current = value; - }); - return ref.current; -} - -export default function FunnelStepDetails(props: Props) { - const [data] = api.chart.funnelStep.useSuspenseQuery(props); - const pathname = usePathname(); - const prev = usePrevious(pathname); - const { organizationSlug, projectId } = useAppParams(); - const [page, setPage] = useState(0); - - useEffect(() => { - if (prev && prev !== pathname) { - popModal(); - } - }, [pathname]); - - return ( - -
- - -
- - item.id} - columns={[ - { - name: 'Name', - render(profile) { - return ( - - - {getProfileName(profile)} - - ); - }, - }, - { - name: '', - render(profile) { - return ; - }, - }, - { - name: 'Last seen', - render(profile) { - return ( - -
- {profile.createdAt.toLocaleTimeString()} -
-
- ); - }, - }, - ]} - /> -
-
- ); -} diff --git a/apps/dashboard/src/modals/Instructions.tsx b/apps/dashboard/src/modals/Instructions.tsx index 5338e91d..ba183a09 100644 --- a/apps/dashboard/src/modals/Instructions.tsx +++ b/apps/dashboard/src/modals/Instructions.tsx @@ -16,10 +16,7 @@ import { popModal } from '.'; type Props = { client: IServiceClient | null; - framework: - | (typeof frameworks.website)[number] - | (typeof frameworks.app)[number] - | (typeof frameworks.backend)[number]; + framework: (typeof frameworks)[number]; }; const Header = ({ framework }: Pick) => ( @@ -29,7 +26,7 @@ const Header = ({ framework }: Pick) => ( ); const Footer = ({ framework }: Pick) => ( - +