{"version":3,"file":"static/chunks/app/[locale]/(unauth)/(main)/page-d772835f0fd124d2.js","mappings":"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","sources":["webpack://_N_E/?9d8d","webpack://_N_E/./node_modules/@clerk/nextjs/dist/esm/client-boundary/controlComponents.js","webpack://_N_E/./node_modules/@clerk/clerk-react/dist/errors.mjs","webpack://_N_E/./node_modules/@clerk/nextjs/dist/esm/client-boundary/hooks.js","webpack://_N_E/./node_modules/@clerk/nextjs/dist/esm/client-boundary/hooks/usePagesRouter.js","webpack://_N_E/./node_modules/@clerk/nextjs/dist/esm/client-boundary/hooks/useEnforceCatchAllRoute.js","webpack://_N_E/./node_modules/@clerk/nextjs/dist/esm/client-boundary/hooks/usePathnameWithoutCatchAll.js","webpack://_N_E/./node_modules/@clerk/nextjs/dist/esm/client-boundary/hooks/useEnforceRoutingProps.js","webpack://_N_E/./node_modules/@clerk/nextjs/dist/esm/client-boundary/uiComponents.js","webpack://_N_E/./node_modules/@clerk/nextjs/dist/esm/utils/invalidateNextRouterCache.js","webpack://_N_E/./node_modules/@clerk/nextjs/dist/esm/pages/ClerkProvider.js","webpack://_N_E/./node_modules/@clerk/nextjs/dist/esm/client-boundary/ClerkProvider.js","webpack://_N_E/./node_modules/@clerk/nextjs/dist/esm/index.js","webpack://_N_E/./node_modules/lucide-react/dist/esm/icons/sparkles.js","webpack://_N_E/./src/components/animation/fade-in.tsx","webpack://_N_E/./src/components/clerk-sign-up-button.tsx","webpack://_N_E/./src/components/icon-button.tsx","webpack://_N_E/./node_modules/lucide-react/dist/esm/icons/share.js","webpack://_N_E/./node_modules/lucide-react/dist/esm/icons/square-plus.js","webpack://_N_E/./src/components/pwa-button/pwa-install-button.tsx","webpack://_N_E/./public/assets/images/chat2.png","webpack://_N_E/./public/assets/images/chat2light.png","webpack://_N_E/./public/assets/images/dashboard2.png","webpack://_N_E/./public/assets/images/dashboard2light.png","webpack://_N_E/./src/components/landing/hero-cards.tsx","webpack://_N_E/./src/components/landing/hero.tsx","webpack://_N_E/./src/components/landing/introducing-layers.tsx","webpack://_N_E/./src/components/containers/bubble-card.tsx","webpack://_N_E/./src/components/containers/logo-bubble-card.tsx","webpack://_N_E/./src/components/text-writer.tsx","webpack://_N_E/./src/components/landing/use-cases.tsx","webpack://_N_E/./src/components/link-button.tsx","webpack://_N_E/./src/components/pricing/pricing-card.tsx","webpack://_N_E/./src/components/pricing/pricing.tsx","webpack://_N_E/./src/components/responsive-dialog.tsx","webpack://_N_E/./src/components/spinner.tsx","webpack://_N_E/./src/components/ui/badge.tsx","webpack://_N_E/./src/components/ui/button.tsx","webpack://_N_E/./src/components/ui/card.tsx","webpack://_N_E/./src/components/ui/dialog.tsx","webpack://_N_E/./src/components/ui/drawer.tsx","webpack://_N_E/./src/hooks/use-better-media-query.ts","webpack://_N_E/./src/hooks/use-routes.ts","webpack://_N_E/./src/hooks/use-user-agent.ts","webpack://_N_E/./src/lib/utils.ts","webpack://_N_E/./src/utils/AppConfig.ts","webpack://_N_E/./src/libs/i18nNavigation.ts","webpack://_N_E/./public/assets/images/dropbox-tile.svg","webpack://_N_E/./public/assets/images/gdrive_logo.png","webpack://_N_E/"],"sourcesContent":["import(/* webpackMode: \"eager\" */ \"/codebuild/output/src835818838/src/ludus-website-next/node_modules/@clerk/nextjs/dist/esm/app-router/client/ClerkProvider.js\");\nimport(/* webpackMode: \"eager\" */ \"/codebuild/output/src835818838/src/ludus-website-next/node_modules/@clerk/nextjs/dist/esm/client-boundary/controlComponents.js\");\nimport(/* webpackMode: \"eager\" */ \"/codebuild/output/src835818838/src/ludus-website-next/node_modules/@clerk/nextjs/dist/esm/client-boundary/hooks.js\");\nimport(/* webpackMode: \"eager\" */ \"/codebuild/output/src835818838/src/ludus-website-next/node_modules/@clerk/nextjs/dist/esm/client-boundary/uiComponents.js\");\nimport(/* webpackMode: \"eager\" */ \"/codebuild/output/src835818838/src/ludus-website-next/node_modules/next-intl/dist/esm/navigation/shared/BaseLink.js\");\nimport(/* webpackMode: \"eager\" */ \"/codebuild/output/src835818838/src/ludus-website-next/node_modules/next/dist/client/image-component.js\");\nimport(/* webpackMode: \"eager\" */ \"/codebuild/output/src835818838/src/ludus-website-next/node_modules/next/dist/client/link.js\");\nimport(/* webpackMode: \"eager\" */ \"/codebuild/output/src835818838/src/ludus-website-next/public/assets/images/dropbox-tile.svg\");\nimport(/* webpackMode: \"eager\" */ \"/codebuild/output/src835818838/src/ludus-website-next/public/assets/images/gdrive_logo.png\");\nimport(/* webpackMode: \"eager\" */ \"/codebuild/output/src835818838/src/ludus-website-next/src/components/landing/hero.tsx\");\nimport(/* webpackMode: \"eager\" */ \"/codebuild/output/src835818838/src/ludus-website-next/src/components/landing/introducing-layers.tsx\");\nimport(/* webpackMode: \"eager\" */ \"/codebuild/output/src835818838/src/ludus-website-next/src/components/landing/use-cases.tsx\");\nimport(/* webpackMode: \"eager\" */ \"/codebuild/output/src835818838/src/ludus-website-next/src/components/pricing/pricing.tsx\")","\"use client\";\nimport {\n ClerkLoaded,\n ClerkLoading,\n SignedOut,\n SignedIn,\n Protect,\n RedirectToSignIn,\n RedirectToSignUp,\n RedirectToUserProfile,\n AuthenticateWithRedirectCallback,\n RedirectToCreateOrganization,\n RedirectToOrganizationProfile\n} from \"@clerk/clerk-react\";\nimport { MultisessionAppSupport } from \"@clerk/clerk-react/internal\";\nexport {\n AuthenticateWithRedirectCallback,\n ClerkLoaded,\n ClerkLoading,\n MultisessionAppSupport,\n Protect,\n RedirectToCreateOrganization,\n RedirectToOrganizationProfile,\n RedirectToSignIn,\n RedirectToSignUp,\n RedirectToUserProfile,\n SignedIn,\n SignedOut\n};\n//# sourceMappingURL=controlComponents.js.map","import \"./chunk-OANWQR3B.mjs\";\n\n// src/errors.ts\nimport {\n isClerkAPIResponseError,\n isEmailLinkError,\n isKnownError,\n isMetamaskError,\n EmailLinkErrorCode\n} from \"@clerk/shared/error\";\nexport {\n EmailLinkErrorCode,\n isClerkAPIResponseError,\n isEmailLinkError,\n isKnownError,\n isMetamaskError\n};\n//# sourceMappingURL=errors.mjs.map","\"use client\";\nimport {\n useAuth,\n useClerk,\n useEmailLink,\n useOrganization,\n useOrganizationList,\n useSession,\n useSessionList,\n useSignIn,\n useSignUp,\n useUser\n} from \"@clerk/clerk-react\";\nimport {\n isClerkAPIResponseError,\n isEmailLinkError,\n isKnownError,\n isMetamaskError,\n EmailLinkErrorCode\n} from \"@clerk/clerk-react/errors\";\nexport {\n EmailLinkErrorCode,\n isClerkAPIResponseError,\n isEmailLinkError,\n isKnownError,\n isMetamaskError,\n useAuth,\n useClerk,\n useEmailLink,\n useOrganization,\n useOrganizationList,\n useSession,\n useSessionList,\n useSignIn,\n useSignUp,\n useUser\n};\n//# sourceMappingURL=hooks.js.map","import { useRouter } from \"next/compat/router\";\nconst usePagesRouter = () => {\n return { pagesRouter: useRouter() };\n};\nexport {\n usePagesRouter\n};\n//# sourceMappingURL=usePagesRouter.js.map","import { isProductionEnvironment } from \"@clerk/shared\";\nimport React from \"react\";\nimport { useSession } from \"../hooks\";\nimport { usePagesRouter } from \"./usePagesRouter\";\nconst useEnforceCatchAllRoute = (component, path, routing, requireSessionBeforeCheck = true) => {\n const ref = React.useRef(0);\n const { pagesRouter } = usePagesRouter();\n const { session, isLoaded } = useSession();\n if (isProductionEnvironment()) {\n return;\n }\n React.useEffect(() => {\n if (!isLoaded || routing && routing !== \"path\") {\n return;\n }\n if (requireSessionBeforeCheck && !session) {\n return;\n }\n const ac = new AbortController();\n const error = () => {\n const correctPath = pagesRouter ? `${path}/[[...index]].tsx` : `${path}/[[...rest]]/page.tsx`;\n throw new Error(\n `\nClerk: The <${component}/> component is not configured correctly. The most likely reasons for this error are:\n\n1. The \"${path}\" route is not a catch-all route.\nIt is recommended to convert this route to a catch-all route, eg: \"${correctPath}\". Alternatively, you can update the <${component}/> component to use hash-based routing by setting the \"routing\" prop to \"hash\".\n\n2. The <${component}/> component is mounted in a catch-all route, but all routes under \"${path}\" are protected by the middleware.\nTo resolve this, ensure that the middleware does not protect the catch-all route or any of its children. If you are using the \"createRouteMatcher\" helper, consider adding \"(.*)\" to the end of the route pattern, eg: \"${path}(.*)\". For more information, see: https://clerk.com/docs/references/nextjs/clerk-middleware#create-route-matcher\n`\n );\n };\n if (pagesRouter) {\n if (!pagesRouter.pathname.match(/\\[\\[\\.\\.\\..+]]/)) {\n error();\n }\n } else {\n const check = async () => {\n ref.current++;\n if (ref.current > 1) {\n return;\n }\n let res;\n try {\n const url = `${window.location.origin}${window.location.pathname}/${component}_clerk_catchall_check_${Date.now()}`;\n res = await fetch(url, { signal: ac.signal });\n } catch (e) {\n }\n if ((res == null ? void 0 : res.status) === 404) {\n error();\n }\n };\n void check();\n }\n return () => {\n if (ref.current > 1) {\n ac.abort();\n }\n };\n }, [isLoaded]);\n};\nexport {\n useEnforceCatchAllRoute\n};\n//# sourceMappingURL=useEnforceCatchAllRoute.js.map","import React from \"react\";\nimport { usePagesRouter } from \"./usePagesRouter\";\nconst usePathnameWithoutCatchAll = () => {\n const pathRef = React.useRef();\n const { pagesRouter } = usePagesRouter();\n if (pagesRouter) {\n if (pathRef.current) {\n return pathRef.current;\n } else {\n pathRef.current = pagesRouter.pathname.replace(/\\/\\[\\[\\.\\.\\..*/, \"\");\n return pathRef.current;\n }\n }\n const usePathname = require(\"next/navigation\").usePathname;\n const useParams = require(\"next/navigation\").useParams;\n const pathname = usePathname() || \"\";\n const pathParts = pathname.split(\"/\").filter(Boolean);\n const catchAllParams = Object.values(useParams() || {}).filter((v) => Array.isArray(v)).flat(Infinity);\n if (pathRef.current) {\n return pathRef.current;\n } else {\n pathRef.current = `/${pathParts.slice(0, pathParts.length - catchAllParams.length).join(\"/\")}`;\n return pathRef.current;\n }\n};\nexport {\n usePathnameWithoutCatchAll\n};\n//# sourceMappingURL=usePathnameWithoutCatchAll.js.map","import { useRoutingProps } from \"@clerk/clerk-react/internal\";\nimport { useEnforceCatchAllRoute } from \"./useEnforceCatchAllRoute\";\nimport { usePathnameWithoutCatchAll } from \"./usePathnameWithoutCatchAll\";\nfunction useEnforceCorrectRoutingProps(componentName, props, requireSessionBeforeCheck = true) {\n const path = usePathnameWithoutCatchAll();\n const routingProps = useRoutingProps(componentName, props, { path });\n useEnforceCatchAllRoute(componentName, path, routingProps.routing, requireSessionBeforeCheck);\n return routingProps;\n}\nexport {\n useEnforceCorrectRoutingProps\n};\n//# sourceMappingURL=useEnforceRoutingProps.js.map","\"use client\";\nimport {\n CreateOrganization as BaseCreateOrganization,\n OrganizationProfile as BaseOrganizationProfile,\n SignIn as BaseSignIn,\n SignUp as BaseSignUp,\n UserProfile as BaseUserProfile\n} from \"@clerk/clerk-react\";\nimport React from \"react\";\nimport { useEnforceCorrectRoutingProps } from \"./hooks/useEnforceRoutingProps\";\nimport {\n OrganizationList,\n OrganizationSwitcher,\n SignInButton,\n SignInWithMetamaskButton,\n SignOutButton,\n SignUpButton,\n UserButton,\n GoogleOneTap\n} from \"@clerk/clerk-react\";\nconst UserProfile = Object.assign(\n (props) => {\n return /* @__PURE__ */ React.createElement(BaseUserProfile, { ...useEnforceCorrectRoutingProps(\"UserProfile\", props) });\n },\n { ...BaseUserProfile }\n);\nconst CreateOrganization = (props) => {\n return /* @__PURE__ */ React.createElement(BaseCreateOrganization, { ...useEnforceCorrectRoutingProps(\"CreateOrganization\", props) });\n};\nconst OrganizationProfile = Object.assign(\n (props) => {\n return /* @__PURE__ */ React.createElement(BaseOrganizationProfile, { ...useEnforceCorrectRoutingProps(\"OrganizationProfile\", props) });\n },\n { ...BaseOrganizationProfile }\n);\nconst SignIn = (props) => {\n return /* @__PURE__ */ React.createElement(BaseSignIn, { ...useEnforceCorrectRoutingProps(\"SignIn\", props, false) });\n};\nconst SignUp = (props) => {\n return /* @__PURE__ */ React.createElement(BaseSignUp, { ...useEnforceCorrectRoutingProps(\"SignUp\", props, false) });\n};\nexport {\n CreateOrganization,\n GoogleOneTap,\n OrganizationList,\n OrganizationProfile,\n OrganizationSwitcher,\n SignIn,\n SignInButton,\n SignInWithMetamaskButton,\n SignOutButton,\n SignUp,\n SignUpButton,\n UserButton,\n UserProfile\n};\n//# sourceMappingURL=uiComponents.js.map","const invalidateNextRouterCache = () => {\n if (typeof window === \"undefined\") {\n return;\n }\n const invalidate = (cache) => {\n Object.keys(cache).forEach((key) => {\n delete cache[key];\n });\n };\n try {\n invalidate(window.next.router.sdc);\n invalidate(window.next.router.sbc);\n } catch (e) {\n return;\n }\n};\nexport {\n invalidateNextRouterCache\n};\n//# sourceMappingURL=invalidateNextRouterCache.js.map","import { ClerkProvider as ReactClerkProvider } from \"@clerk/clerk-react\";\nimport { setClerkJsLoadingErrorPackageName, setErrorThrowerOptions } from \"@clerk/clerk-react/internal\";\nimport { useRouter } from \"next/router\";\nimport React from \"react\";\nimport { useSafeLayoutEffect } from \"../client-boundary/hooks/useSafeLayoutEffect\";\nimport { ClerkNextOptionsProvider } from \"../client-boundary/NextOptionsContext\";\nimport { ClerkJSScript } from \"../utils/clerk-js-script\";\nimport { invalidateNextRouterCache } from \"../utils/invalidateNextRouterCache\";\nimport { mergeNextClerkPropsWithEnv } from \"../utils/mergeNextClerkPropsWithEnv\";\nsetErrorThrowerOptions({ packageName: \"@clerk/nextjs\" });\nsetClerkJsLoadingErrorPackageName(\"@clerk/nextjs\");\nfunction ClerkProvider({ children, ...props }) {\n var _a;\n const { __unstable_invokeMiddlewareOnAuthStateChange = true } = props;\n const { push, replace } = useRouter();\n ReactClerkProvider.displayName = \"ReactClerkProvider\";\n useSafeLayoutEffect(() => {\n window.__unstable__onBeforeSetActive = invalidateNextRouterCache;\n }, []);\n useSafeLayoutEffect(() => {\n window.__unstable__onAfterSetActive = () => {\n if (__unstable_invokeMiddlewareOnAuthStateChange) {\n void push(window.location.href);\n }\n };\n }, []);\n const navigate = (to) => push(to);\n const replaceNavigate = (to) => replace(to);\n const mergedProps = mergeNextClerkPropsWithEnv({ ...props, routerPush: navigate, routerReplace: replaceNavigate });\n const initialState = ((_a = props.authServerSideProps) == null ? void 0 : _a.__clerk_ssr_state) || props.__clerk_ssr_state;\n return /* @__PURE__ */ React.createElement(ClerkNextOptionsProvider, { options: mergedProps }, /* @__PURE__ */ React.createElement(\n ReactClerkProvider,\n {\n ...mergedProps,\n initialState\n },\n /* @__PURE__ */ React.createElement(ClerkJSScript, { router: \"pages\" }),\n children\n ));\n}\nexport {\n ClerkProvider\n};\n//# sourceMappingURL=ClerkProvider.js.map","\"use client\";\nimport { useRouter } from \"next/compat/router\";\nimport React from \"react\";\nimport { ClientClerkProvider } from \"../app-router/client/ClerkProvider\";\nimport { ClerkProvider as PageClerkProvider } from \"../pages/ClerkProvider\";\nfunction ClerkProvider(props) {\n const router = useRouter();\n const Provider = router ? PageClerkProvider : ClientClerkProvider;\n return /* @__PURE__ */ React.createElement(Provider, { ...props });\n}\nexport {\n ClerkProvider\n};\n//# sourceMappingURL=ClerkProvider.js.map","import {\n AuthenticateWithRedirectCallback,\n ClerkLoaded,\n ClerkLoading,\n RedirectToCreateOrganization,\n RedirectToOrganizationProfile,\n RedirectToSignIn,\n RedirectToSignUp,\n RedirectToUserProfile\n} from \"./client-boundary/controlComponents\";\nimport {\n CreateOrganization,\n OrganizationList,\n OrganizationProfile,\n OrganizationSwitcher,\n SignIn,\n SignInButton,\n SignInWithMetamaskButton,\n SignOutButton,\n SignUp,\n SignUpButton,\n UserButton,\n UserProfile,\n GoogleOneTap\n} from \"./client-boundary/uiComponents\";\nimport {\n useAuth,\n useClerk,\n useEmailLink,\n useOrganization,\n useOrganizationList,\n useSession,\n useSessionList,\n useSignIn,\n useSignUp,\n useUser\n} from \"./client-boundary/hooks\";\nimport * as ComponentsModule from \"#components\";\nconst ClerkProvider = ComponentsModule.ClerkProvider;\nconst SignedIn = ComponentsModule.SignedIn;\nconst SignedOut = ComponentsModule.SignedOut;\nconst Protect = ComponentsModule.Protect;\nexport {\n AuthenticateWithRedirectCallback,\n ClerkLoaded,\n ClerkLoading,\n ClerkProvider,\n CreateOrganization,\n GoogleOneTap,\n OrganizationList,\n OrganizationProfile,\n OrganizationSwitcher,\n Protect,\n RedirectToCreateOrganization,\n RedirectToOrganizationProfile,\n RedirectToSignIn,\n RedirectToSignUp,\n RedirectToUserProfile,\n SignIn,\n SignInButton,\n SignInWithMetamaskButton,\n SignOutButton,\n SignUp,\n SignUpButton,\n SignedIn,\n SignedOut,\n UserButton,\n UserProfile,\n useAuth,\n useClerk,\n useEmailLink,\n useOrganization,\n useOrganizationList,\n useSession,\n useSessionList,\n useSignIn,\n useSignUp,\n useUser\n};\n//# sourceMappingURL=index.js.map","/**\n * @license lucide-react v0.358.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Sparkles = createLucideIcon(\"Sparkles\", [\n [\n \"path\",\n {\n d: \"m12 3-1.912 5.813a2 2 0 0 1-1.275 1.275L3 12l5.813 1.912a2 2 0 0 1 1.275 1.275L12 21l1.912-5.813a2 2 0 0 1 1.275-1.275L21 12l-5.813-1.912a2 2 0 0 1-1.275-1.275L12 3Z\",\n key: \"17u4zn\"\n }\n ],\n [\"path\", { d: \"M5 3v4\", key: \"bklmnn\" }],\n [\"path\", { d: \"M19 17v4\", key: \"iiml17\" }],\n [\"path\", { d: \"M3 5h4\", key: \"nem4j1\" }],\n [\"path\", { d: \"M17 19h4\", key: \"lbex7p\" }]\n]);\n\nexport { Sparkles as default };\n//# sourceMappingURL=sparkles.js.map\n","'use client';\n\nimport { once } from 'events';\nimport type { Variants } from 'framer-motion';\nimport { motion, useAnimation } from 'framer-motion';\nimport React, { useEffect } from 'react';\nimport { useInView } from 'react-intersection-observer';\n\ninterface FadeInProps {\n children: React.ReactNode;\n delay?: number;\n duration?: number;\n threshold?: number;\n className?: string;\n inViewOptions?: {\n onlyStartInView?: boolean;\n once: boolean;\n };\n}\n\nconst FadeIn: React.FC = ({\n children,\n delay = 0,\n duration = 0.5,\n threshold = 0.3,\n className = '',\n inViewOptions = {\n onlyStartInView: true,\n once: true,\n },\n}) => {\n const controls = useAnimation();\n\n const [ref, inView] = useInView({\n triggerOnce: inViewOptions?.once,\n threshold,\n });\n\n useEffect(() => {\n if (inViewOptions.onlyStartInView) {\n if (inView) {\n controls.start('visible');\n } else if (!once) {\n controls.start('hidden');\n }\n } else {\n controls.start('visible');\n }\n }, [controls, inView, inViewOptions]);\n\n const variants: Variants = {\n hidden: { opacity: 0, y: 50 },\n visible: {\n opacity: 1,\n y: 0,\n transition: {\n duration,\n delay,\n ease: 'easeInOut',\n },\n },\n };\n\n return (\n \n {children}\n \n );\n};\n\nexport default FadeIn;\n","import { SignedIn, SignedOut, SignUpButton } from '@clerk/nextjs';\nimport type { ReactNode } from 'react';\n\nimport { ROUTES } from '@/hooks/use-routes';\n\nimport { IconButton, type IIconButtonProps } from './icon-button';\n\ntype ClerkSignUpButtonProps = IIconButtonProps & {\n buttenText?: string;\n signedInComponent?: ReactNode;\n};\n\nexport const ClerkSignUpButton = (props: ClerkSignUpButtonProps) => {\n const { signedInComponent, buttenText, ...rest } = props;\n return (\n <>\n {signedInComponent && {signedInComponent}}\n \n \n \n {buttenText ?? 'Get started'}\n \n \n \n \n );\n};\n","import { type LucideIcon, type LucideProps } from 'lucide-react';\nimport type { PropsWithChildren } from 'react';\n\nimport { cn } from '@/lib/utils';\n\nimport { Spinner } from './spinner';\nimport { Button, type ButtonProps } from './ui/button';\n\nexport type IIconButtonProps = PropsWithChildren &\n ButtonProps & {\n hideIcon?: boolean;\n loading?: boolean;\n selected?: boolean;\n innerContainerClassName?: string;\n iconLocation?: 'start' | 'end';\n iconClassName?: string;\n Icon?: LucideIcon | React.JSX.ElementType;\n iconProps?: LucideProps;\n };\n\nexport const IconButton = (props: IIconButtonProps) => {\n const {\n Icon,\n iconClassName,\n innerContainerClassName,\n iconLocation,\n iconProps,\n className,\n hideIcon,\n loading,\n children,\n ...rest\n } = props;\n return (\n \n \n {loading && }\n {iconLocation === 'start' && !hideIcon && Icon && (\n
\n \n
\n )}\n {children}\n {iconLocation !== 'start' && !hideIcon && Icon && (\n
\n \n
\n )}\n \n \n );\n};\n","/**\n * @license lucide-react v0.358.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Share = createLucideIcon(\"Share\", [\n [\"path\", { d: \"M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8\", key: \"1b2hhj\" }],\n [\"polyline\", { points: \"16 6 12 2 8 6\", key: \"m901s6\" }],\n [\"line\", { x1: \"12\", x2: \"12\", y1: \"2\", y2: \"15\", key: \"1p0rca\" }]\n]);\n\nexport { Share as default };\n//# sourceMappingURL=share.js.map\n","/**\n * @license lucide-react v0.358.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst SquarePlus = createLucideIcon(\"SquarePlus\", [\n [\"rect\", { width: \"18\", height: \"18\", x: \"3\", y: \"3\", rx: \"2\", key: \"afitv7\" }],\n [\"path\", { d: \"M8 12h8\", key: \"1wcyev\" }],\n [\"path\", { d: \"M12 8v8\", key: \"napkw2\" }]\n]);\n\nexport { SquarePlus as default };\n//# sourceMappingURL=square-plus.js.map\n","'use client';\n\nimport { Share, SquarePlus } from 'lucide-react';\nimport { useCallback, useEffect, useState } from 'react';\n\nimport { useUserAgent } from '@/hooks/use-user-agent';\n\nimport { IconButton, type IIconButtonProps } from '../icon-button';\nimport { ResponsiveDialog } from '../responsive-dialog';\n\ntype IPWAInstallButtonProps = Omit;\n\nexport const PWAInstallButton = (props: IPWAInstallButtonProps) => {\n const [deferredPrompt, setDeferredPrompt] =\n useState(null);\n\n const [isIOSDialogOpen, setIsIOSDialogOpen] = useState(false);\n\n // to avoid hydration errors\n const [mounted, setMounted] = useState(false);\n\n useEffect(() => {\n setMounted(true);\n }, []);\n\n useEffect(() => {\n const handleBeforeInstallPrompt = (e: Event) => {\n e.preventDefault();\n setDeferredPrompt(e as BeforeInstallPromptEvent);\n };\n\n window.addEventListener('beforeinstallprompt', handleBeforeInstallPrompt);\n\n return () =>\n window.removeEventListener(\n 'beforeinstallprompt',\n handleBeforeInstallPrompt,\n );\n }, []);\n\n const userAgent = useUserAgent();\n\n const handleInstallClick = useCallback(async () => {\n if (userAgent?.isAppleMobile) {\n setIsIOSDialogOpen(true);\n } else if (deferredPrompt) {\n await deferredPrompt.prompt();\n }\n }, [userAgent, deferredPrompt]);\n\n if (\n !mounted ||\n (!deferredPrompt && !userAgent?.isAppleMobile) ||\n userAgent?.isStandalone\n ) {\n return
;\n }\n\n return (\n <>\n \n

\n To install this app on your iOS device, tap the share button\n \n {`and then \"Add to Home Screen\"`}\n .\n

\n \n \n {userAgent?.isMobile ? `Add to Home Screen` : 'Add to Desktop'}\n \n \n );\n};\n","export default {\"src\":\"/_next/static/media/chat2.92b48869.png\",\"height\":1026,\"width\":537,\"blurDataURL\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAICAMAAADp7a43AAAAElBMVEUbHyoQFSAGCxgoLDWoqq3HyMtqb/auAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAIklEQVR4nBXEwREAIAACINTaf+UuHmgb2+KcOyjyEyaS9gEEwgAy/O5EogAAAABJRU5ErkJggg==\",\"blurWidth\":4,\"blurHeight\":8};","export default {\"src\":\"/_next/static/media/chat2light.3009c98b.png\",\"height\":1029,\"width\":539,\"blurDataURL\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAICAMAAADp7a43AAAACVBMVEX09PXr6+z9/f1lMmZFAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAH0lEQVR4nE3GsQ0AMBADIXz7Dx19lwahYhxXss2H6gECYAAe29ML4gAAAABJRU5ErkJggg==\",\"blurWidth\":4,\"blurHeight\":8};","export default {\"src\":\"/_next/static/media/dashboard2.e59f0efa.png\",\"height\":1145,\"width\":1661,\"blurDataURL\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAGCAMAAADJ2y/JAAAABlBMVEUECBIKDRhfw0zBAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAGUlEQVR4nGNgZAADKAVhMjKCudgYDAwgFgABxQASnKtBgQAAAABJRU5ErkJggg==\",\"blurWidth\":8,\"blurHeight\":6};","export default {\"src\":\"/_next/static/media/dashboard2light.eaa5dc70.png\",\"height\":1145,\"width\":1666,\"blurDataURL\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAMAAABPT11nAAAABlBMVEX9/v75+fq/1TUJAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAGElEQVR4nGNgZIACRgZGRjCHEQTQGBAMAAG1ABTH7t/rAAAAAElFTkSuQmCC\",\"blurWidth\":8,\"blurHeight\":5};","import Image from 'next/image';\n\nimport { Card } from '@/components/ui/card';\nimport Chat2 from '@/public/assets/images/chat2.png';\nimport Chat2Light from '@/public/assets/images/chat2light.png';\nimport Dashboard2 from '@/public/assets/images/dashboard2.png';\nimport Dashboard2Light from '@/public/assets/images/dashboard2light.png';\n\nexport const HeroCards = () => {\n return (\n \n );\n};\n","'use client';\n\n// import { useState } from 'react';\n\nimport { ROUTES } from '@/hooks/use-routes';\n\nimport { ClerkSignUpButton } from '../clerk-sign-up-button';\nimport { LinkButton } from '../link-button';\nimport { PWAInstallButton } from '../pwa-button/pwa-install-button';\nimport { HeroCards } from './hero-cards';\n\nexport const Hero = () => {\n return (\n
\n
\n
\n

\n Your Personal AI Assistant, Powered by Truffler.\n

\n
\n\n

\n Personalized AI solutions to help you search, understand, and leverage\n your data effortlessly.\n

\n\n
\n {/* */}\n \n Go to dashboard\n \n }\n />\n\n \n
\n
\n\n {/* Hero cards sections */}\n
\n \n
\n\n {/* Shadow effect */}\n
\n
\n );\n};\n","\"use client\";\n\nimport { DotLottieReact } from \"@lottiefiles/dotlottie-react\";\nimport React, { useCallback } from \"react\";\n\nimport { useRoutes } from \"@/hooks/use-routes\";\n\nimport FadeIn from \"../animation/fade-in\";\nimport { Button } from \"../ui/button\";\n\nexport const IntroducingLayers = () => {\n const routes = useRoutes();\n\n const handleLearnMoreClick = useCallback(() => {\n routes.goToLayerHelp();\n }, [routes]);\n\n return (\n
\n
\n
\n

\n Enhance your AI with Knowledge Layers\n

\n

\n Unlock the power of Knowledge Layers, a new way to enhance your\n knowledge base. Add layers to access expertly curated data and\n resources tailored to your needs.\n

\n
\n \n
\n
\n \n
\n \n
\n
\n
\n
\n );\n};\n","import type { PropsWithChildren } from 'react';\n\nimport { cn } from '@/lib/utils';\n\nexport type IBubbleCardProps = PropsWithChildren & {\n className?: string;\n innerClassName?: string;\n innerGradient?: boolean;\n};\n\nexport const BubbleCard = ({\n children,\n className,\n innerClassName,\n innerGradient,\n}: IBubbleCardProps) => {\n return (\n \n \n {children}\n
\n \n );\n};\n","import { DotLottieReact } from '@lottiefiles/dotlottie-react';\nimport Image, { type StaticImageData } from 'next/image';\n\nimport { cn } from '@/lib/utils';\n\nimport { CardContent, CardHeader } from '../ui/card';\nimport { BubbleCard } from './bubble-card';\n\nexport interface ILogoBubbleCardProps {\n className?: string;\n titleClassName?: string;\n id: string;\n title: string;\n description: string;\n image?: StaticImageData;\n imageAlt?: string;\n lottieSrc?: string;\n}\n\nexport const LogoBubbleCard = ({\n className,\n titleClassName,\n id,\n title,\n description,\n image,\n imageAlt,\n lottieSrc,\n}: ILogoBubbleCardProps) => {\n return (\n \n
\n \n
\n

\n {title}\n

\n
\n {image && (\n \n )}\n {lottieSrc && (\n
\n \n
\n )}\n
\n
\n
\n \n
\n

\n {description}\n

\n
\n
\n
\n \n );\n};\n","'use client';\n\nimport type { Easing } from 'framer-motion';\nimport { motion } from 'framer-motion';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { cn } from '@/lib/utils';\n\ninterface TextWriterProps {\n text: string;\n delay?: number;\n eraseDelay?: number;\n className?: string;\n cursorClassName?: string;\n onEraseComplete?: () => void;\n eraseOnComplete?: boolean;\n beginEraseDelay?: number;\n loop?: boolean;\n}\n\nconst TextWriter: React.FC = ({\n text,\n delay = 50,\n eraseDelay = 25,\n className = '',\n cursorClassName,\n onEraseComplete,\n eraseOnComplete = false,\n beginEraseDelay = 2000,\n loop = false,\n}) => {\n const [displayText, setDisplayText] = useState('');\n const textRef = useRef(null);\n const stepEasing: Easing = (t) => Math.floor(t * 2) / 2;\n\n useEffect(() => {\n let timeoutId: NodeJS.Timeout;\n let currentIndex = 0;\n\n const writeText = () => {\n if (currentIndex <= text.length) {\n setDisplayText(text.slice(0, currentIndex));\n currentIndex += 1;\n timeoutId = setTimeout(writeText, delay);\n } else if (eraseOnComplete || loop) {\n timeoutId = setTimeout(eraseText, beginEraseDelay);\n }\n };\n\n const eraseText = () => {\n if (currentIndex > 0) {\n currentIndex -= 1;\n setDisplayText(text.slice(0, currentIndex));\n timeoutId = setTimeout(eraseText, eraseDelay);\n\n if (currentIndex === 0) {\n onEraseComplete?.();\n }\n } else if (loop) {\n currentIndex = 0;\n timeoutId = setTimeout(writeText, delay);\n }\n };\n\n writeText();\n\n return () => clearTimeout(timeoutId);\n }, [\n text,\n delay,\n eraseDelay,\n eraseOnComplete,\n beginEraseDelay,\n loop,\n onEraseComplete,\n ]);\n\n return (\n \n {displayText}\n \n \n );\n};\n\nexport default TextWriter;\n","'use client';\n\n/* eslint-disable react/no-unused-prop-types */\nimport { useState } from 'react';\n\nimport {\n type ILogoBubbleCardProps,\n LogoBubbleCard,\n} from '../containers/logo-bubble-card';\nimport TextWriter from '../text-writer';\n\nconst features: ILogoBubbleCardProps[] = [\n {\n id: 'file-support',\n title: 'Extensive File Support',\n description:\n 'Upload and manage various file types including documents, slides, audio, and more, with instant searchability across formats.',\n },\n {\n id: 'audio-transcription',\n title: 'Powerful Audio Transcriptions',\n description: `Powered by Whisper, the world's leading transcription model, convert your audio files into precise, searchable text for easy access to insights.`,\n lottieSrc: '/assets/lotties/audio-wave.lottie',\n },\n];\n\nexport const USE_CASES = [\n 'Research',\n // 'Customer Support',\n 'Summarizing',\n 'Transcribing',\n 'Solutions',\n 'Meeting Notes',\n // 'websites',\n];\n\nexport const UseCases = () => {\n const [fileFormatIndex, setFileFormatIndex] = useState(0);\n\n return (\n
\n
\n

\n Your{' '}\n \n Personalized AI for{' '}\n \n

\n \n setFileFormatIndex((prev) => {\n let next = prev + 1;\n\n if (next >= USE_CASES.length) {\n next = 0;\n }\n\n return next;\n })\n }\n beginEraseDelay={2500}\n />\n
\n

\n From PDFs and Word documents to audio and slides, Truffler is equipped\n to handle it all.\n

\n\n
\n {features.map((feature) => (\n \n ))}\n
\n
\n );\n};\n","import Link from 'next/link';\n\nimport { IconButton, type IIconButtonProps } from './icon-button';\n\nexport type ILinkButtonProps = IIconButtonProps & {\n href: string;\n};\n\nexport const LinkButton = (props: ILinkButtonProps) => {\n const { href, ...rest } = props;\n return (\n \n \n \n );\n};\n","import { Check } from 'lucide-react';\n\nimport { cn } from '@/lib/utils';\n\nimport { IconButton, type IIconButtonProps } from '../icon-button';\nimport { Badge } from '../ui/badge';\nimport {\n Card,\n CardContent,\n CardDescription,\n CardFooter,\n CardHeader,\n CardTitle,\n} from '../ui/card';\n\nexport interface IPricingCardProps {\n className?: string;\n title: string;\n popular: boolean;\n price: number;\n description: string;\n buttonText: string;\n benefitList: string[];\n hideButton?: boolean;\n buttonProps?: Omit;\n onButtonClick?: () => void;\n}\n\nexport const PricingCard = ({\n className,\n title,\n popular,\n price,\n description,\n buttonText,\n benefitList,\n buttonProps,\n onButtonClick,\n}: IPricingCardProps) => {\n return (\n \n \n \n {title}\n {popular ? (\n \n Most popular\n \n ) : null}\n \n
\n {/* US */}\n ${price}\n per month\n
\n\n {description}\n
\n\n \n \n {buttonText}\n \n \n\n
\n\n \n
\n {benefitList.map((benefit: string) => (\n \n {' '}\n

{benefit}

\n
\n ))}\n
\n
\n \n );\n};\n","'use client';\n\nimport { Sparkles } from 'lucide-react';\nimport { useMemo } from 'react';\n\nimport { useRoutes } from '@/hooks/use-routes';\n\nimport { type IPricingCardProps, PricingCard } from './pricing-card';\n\nexport const Pricing = () => {\n const routes = useRoutes();\n\n const PRICING: IPricingCardProps[] = useMemo(\n () => [\n {\n title: 'Free',\n popular: false,\n price: 0,\n description: 'Get started with basic features at no cost.',\n buttonText: 'Get started for free',\n benefitList: [\n 'Up to 3 Knowledge Bases',\n '500 MB Storage',\n '1,000 pages per month',\n '300,000 search credits per month',\n '30 minutes of audio transcription per month',\n // 'Limited solver access & answers',\n ],\n onButtonClick: () => {\n routes.goToSearch();\n },\n },\n {\n title: 'Premium',\n popular: true,\n price: 20,\n description: 'Unlock all features with a premium subscription.',\n buttonText: 'Upgrade to Premium',\n benefitList: [\n 'Up to 15 Knowledge Bases',\n '15 GB Storage',\n '5,000 pages per month',\n '10 million search credits per month',\n '5 hours of audio transcription per month',\n // 'Full solver access & answers',\n ],\n buttonProps: {\n Icon: Sparkles,\n iconLocation: 'start',\n variant: 'default',\n },\n onButtonClick: () => {\n routes.goToCheckout({ tier: 'PREMIUM' }, { newTab: true });\n },\n },\n ],\n [routes],\n );\n\n return (\n
\n {PRICING.map((pricing: IPricingCardProps) => (\n \n ))}\n
\n );\n};\n","import { type PropsWithChildren } from 'react';\n\nimport { useBetterMediaQuery } from '@/hooks/use-better-media-query';\nimport { cn } from '@/lib/utils';\n\nimport { Button } from './ui/button';\nimport {\n Dialog,\n DialogContent,\n DialogDescription,\n DialogHeader,\n DialogTitle,\n DialogTrigger,\n} from './ui/dialog';\nimport {\n Drawer,\n DrawerClose,\n DrawerContent,\n DrawerDescription,\n DrawerFooter,\n DrawerHeader,\n DrawerTitle,\n} from './ui/drawer';\n\nexport type IResponsiveDialogProps = PropsWithChildren & {\n title: string;\n className?: string;\n description?: React.ReactNode | string;\n triggerNode?: React.ReactNode;\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n disableClose?: boolean;\n};\n\nexport const ResponsiveDialog = ({\n title,\n className,\n description,\n triggerNode,\n children,\n open,\n onOpenChange,\n disableClose,\n}: IResponsiveDialogProps) => {\n // sm\n // https://tailwindcss.com/docs/responsive-design\n const isDesktop = useBetterMediaQuery('(min-width: 640px)');\n\n if (isDesktop) {\n return (\n \n {triggerNode && {triggerNode}}\n {\n if (disableClose) {\n e.preventDefault();\n }\n }}\n >\n \n {title}\n {description && (\n {description}\n )}\n \n {children}\n \n \n );\n }\n\n return (\n \n {triggerNode && {triggerNode}}\n \n \n {title}\n {description && {description}}\n \n
{children}
\n \n \n \n \n \n
\n
\n );\n};\n","import { cn } from '@/lib/utils';\n\nexport type ISpinnerProps = {\n className?: string;\n};\n\nexport const Spinner = ({ className }: ISpinnerProps) => {\n return (\n
\n \n \n \n \n Loading...\n
\n );\n};\n","import { cva, type VariantProps } from 'class-variance-authority';\nimport * as React from 'react';\n\nimport { cn } from '@/lib/utils';\n\nconst badgeVariants = cva(\n 'inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2',\n {\n variants: {\n variant: {\n default:\n 'border-transparent bg-primary text-primary-foreground hover:bg-primary/80',\n secondary:\n 'border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80',\n destructive:\n 'border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80',\n outline: 'text-foreground',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n },\n);\n\nexport interface BadgeProps\n extends React.HTMLAttributes,\n VariantProps {}\n\nfunction Badge({ className, variant, ...props }: BadgeProps) {\n return (\n
\n );\n}\n\nexport { Badge, badgeVariants };\n","import { Slot } from '@radix-ui/react-slot';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport * as React from 'react';\n\nimport { cn } from '@/lib/utils';\n\nconst buttonVariants = cva(\n 'inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50',\n {\n variants: {\n variant: {\n default: 'bg-primary text-primary-foreground hover:bg-primary/90',\n destructive:\n 'bg-destructive text-destructive-foreground hover:bg-destructive/90',\n outline:\n 'border border-input bg-background hover:bg-accent hover:text-accent-foreground',\n secondary:\n 'bg-secondary text-secondary-foreground hover:bg-secondary/80',\n ghost: 'hover:bg-accent hover:text-accent-foreground',\n link: 'text-primary underline-offset-4 hover:underline',\n },\n size: {\n default: 'h-10 px-4 py-2',\n sm: 'h-9 rounded-md px-3',\n lg: 'h-11 rounded-md px-8',\n icon: 'size-10',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n },\n);\n\nexport interface ButtonProps\n extends React.ButtonHTMLAttributes,\n VariantProps {\n asChild?: boolean;\n}\n\nconst Button = React.forwardRef(\n ({ className, variant, size, asChild = false, ...props }, ref) => {\n const Comp = asChild ? Slot : 'button';\n return (\n \n );\n },\n);\nButton.displayName = 'Button';\n\nexport { Button, buttonVariants };\n","import * as React from 'react';\n\nimport { cn } from '@/lib/utils';\n\nconst Card = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes\n>(({ className, ...props }, ref) => (\n \n));\nCard.displayName = 'Card';\n\nconst CardHeader = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes\n>(({ className, ...props }, ref) => (\n \n));\nCardHeader.displayName = 'CardHeader';\n\nconst CardTitle = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes\n>(({ className, ...props }, ref) => (\n \n));\nCardTitle.displayName = 'CardTitle';\n\nconst CardDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes\n>(({ className, ...props }, ref) => (\n \n));\nCardDescription.displayName = 'CardDescription';\n\nconst CardContent = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes\n>(({ className, ...props }, ref) => (\n
\n));\nCardContent.displayName = 'CardContent';\n\nconst CardFooter = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes\n>(({ className, ...props }, ref) => (\n \n));\nCardFooter.displayName = 'CardFooter';\n\nexport {\n Card,\n CardContent,\n CardDescription,\n CardFooter,\n CardHeader,\n CardTitle,\n};\n","'use client';\n\nimport * as DialogPrimitive from '@radix-ui/react-dialog';\nimport { X } from 'lucide-react';\nimport * as React from 'react';\n\nimport { cn } from '@/lib/utils';\n\nconst Dialog = DialogPrimitive.Root;\n\nconst DialogTrigger = DialogPrimitive.Trigger;\n\nconst DialogPortal = DialogPrimitive.Portal;\n\nconst DialogClose = DialogPrimitive.Close;\n\nconst DialogOverlay = React.forwardRef<\n React.ElementRef,\n React.ComponentPropsWithoutRef\n>(({ className, ...props }, ref) => (\n \n));\nDialogOverlay.displayName = DialogPrimitive.Overlay.displayName;\n\nconst DialogContent = React.forwardRef<\n React.ElementRef,\n React.ComponentPropsWithoutRef & { closeButtonDisabled?: boolean }\n>(({ className, children, closeButtonDisabled, ...props }, ref) => (\n \n \n \n {children}\n \n \n Close\n \n \n \n));\nDialogContent.displayName = DialogPrimitive.Content.displayName;\n\nconst DialogHeader = ({\n className,\n ...props\n}: React.HTMLAttributes) => (\n \n);\nDialogHeader.displayName = 'DialogHeader';\n\nconst DialogFooter = ({\n className,\n ...props\n}: React.HTMLAttributes) => (\n \n);\nDialogFooter.displayName = 'DialogFooter';\n\nconst DialogTitle = React.forwardRef<\n React.ElementRef,\n React.ComponentPropsWithoutRef\n>(({ className, ...props }, ref) => (\n \n));\nDialogTitle.displayName = DialogPrimitive.Title.displayName;\n\nconst DialogDescription = React.forwardRef<\n React.ElementRef,\n React.ComponentPropsWithoutRef\n>(({ className, ...props }, ref) => (\n \n));\nDialogDescription.displayName = DialogPrimitive.Description.displayName;\n\nexport {\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n};\n","\"use client\";\n\nimport * as React from \"react\";\nimport { Drawer as DrawerPrimitive } from \"vaul\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst Drawer = ({\n shouldScaleBackground = true,\n ...props\n}: React.ComponentProps) => (\n \n);\nDrawer.displayName = \"Drawer\";\n\nconst DrawerTrigger = DrawerPrimitive.Trigger;\n\nconst DrawerPortal = DrawerPrimitive.Portal;\n\nconst DrawerClose = DrawerPrimitive.Close;\n\nconst DrawerOverlay = React.forwardRef<\n React.ElementRef,\n React.ComponentPropsWithoutRef\n>(({ className, ...props }, ref) => (\n \n));\nDrawerOverlay.displayName = DrawerPrimitive.Overlay.displayName;\n\nconst DrawerContent = React.forwardRef<\n React.ElementRef,\n React.ComponentPropsWithoutRef\n>(({ className, children, ...props }, ref) => (\n \n \n \n {children}\n \n \n));\nDrawerContent.displayName = \"DrawerContent\";\n\nconst DrawerHeader = ({\n className,\n ...props\n}: React.HTMLAttributes) => (\n \n);\nDrawerHeader.displayName = \"DrawerHeader\";\n\nconst DrawerFooter = ({\n className,\n ...props\n}: React.HTMLAttributes) => (\n \n);\nDrawerFooter.displayName = \"DrawerFooter\";\n\nconst DrawerTitle = React.forwardRef<\n React.ElementRef,\n React.ComponentPropsWithoutRef\n>(({ className, ...props }, ref) => (\n \n));\nDrawerTitle.displayName = DrawerPrimitive.Title.displayName;\n\nconst DrawerDescription = React.forwardRef<\n React.ElementRef,\n React.ComponentPropsWithoutRef\n>(({ className, ...props }, ref) => (\n \n));\nDrawerDescription.displayName = DrawerPrimitive.Description.displayName;\n\nexport {\n Drawer,\n DrawerPortal,\n DrawerOverlay,\n DrawerTrigger,\n DrawerClose,\n DrawerContent,\n DrawerHeader,\n DrawerFooter,\n DrawerTitle,\n DrawerDescription,\n};\n","import { useEffect, useState } from \"react\"\n\nexport function useBetterMediaQuery(query: string): boolean {\n const [matches, setMatches] = useState(false)\n\n useEffect(() => {\n const media = window.matchMedia(query)\n if (media.matches !== matches) {\n setMatches(media.matches)\n }\n const listener = () => setMatches(media.matches)\n media.addEventListener('change',listener)\n return () => media.removeEventListener('change', listener)\n }, [matches, query])\n\n return matches\n}","import type { NavigateOptions } from 'next/dist/shared/lib/app-router-context.shared-runtime';\nimport { useMemo } from 'react';\n\nimport type {\n ChatSessionId,\n KnowledgeBaseFileId,\n KnowledgeBaseFolderId,\n KnowledgeBaseId,\n KnowledgeBaseLayerId,\n} from '@/data/commons';\nimport type { SubscriptionTier } from '@/generated/clients/ludus-service-client/requests';\nimport { useRouter } from '@/libs/i18nNavigation';\n\ninterface IQueryString {\n key: string;\n value?: string | string[];\n}\n\nexport type INavigateOptions = NavigateOptions & {\n newTab?: boolean;\n};\n\nconst createQueryString = (queryStrings: IQueryString[]): string => {\n const params = new URLSearchParams();\n\n for (const queryString of queryStrings) {\n const { key, value } = queryString;\n\n if (value) {\n if (Array.isArray(value)) {\n for (const queryElement of value) {\n params.append(key, queryElement);\n }\n } else {\n params.append(key, value);\n }\n }\n }\n\n return params.toString();\n};\n\nexport const ROUTES = {\n ROOT: '/',\n TERMS: '/legal/terms',\n LAYER_HELP: '/layers',\n CONTACT: '/contact',\n PRIVACY: '/legal/privacy',\n AUTH_HOME: '/home', // don't change this unless you also change the clerk protected auth directory and nextjs folder paths\n KNOWLEDGE_HUB: `/home/hub`,\n MANAGE_LAYERS: `/home/layers/manage`,\n LAYER: ({ layerId }: { layerId: KnowledgeBaseLayerId }) => {\n return `${ROUTES.AUTH_HOME}/layers/${layerId}`;\n },\n EXPLORER: ({\n kbId,\n folderId,\n }: {\n kbId: KnowledgeBaseId;\n folderId?: KnowledgeBaseFolderId | null;\n }) => {\n let route = `${ROUTES.AUTH_HOME}/explorer/knowledge-bases/${kbId}`;\n\n if (folderId) {\n route = `${route}/folder/${folderId}`;\n }\n\n return route;\n },\n FILE_VIEWER: ({\n kbId,\n fileId,\n page,\n highlight,\n }: {\n kbId: KnowledgeBaseId;\n fileId: KnowledgeBaseFileId;\n page?: number;\n highlight?: string;\n }) => {\n const searchParams = new URLSearchParams();\n\n if (page) {\n searchParams.append('page', String(page));\n }\n\n if (highlight) {\n searchParams.append('highlight', highlight);\n }\n\n return `${ROUTES.AUTH_HOME}/explorer/knowledge-bases/${kbId}/file/${fileId}${searchParams.size > 0 ? `?${searchParams.toString()}` : ''}`;\n },\n SEARCH: (params?: {\n query?: string;\n kbIds?: string[];\n sessionId?: ChatSessionId;\n }) => {\n if (params) {\n const { kbIds, query, sessionId } = params;\n\n return `${ROUTES.AUTH_HOME}?${createQueryString([\n { key: 'kbId', value: kbIds },\n { key: 'query', value: query },\n {\n key: 'sessionId',\n value: sessionId,\n },\n ])}`;\n }\n\n return `${ROUTES.AUTH_HOME}`;\n },\n CHECKOUT: ({ tier }: { tier: SubscriptionTier }) => {\n return `${ROUTES.AUTH_HOME}/checkout/${tier}`;\n },\n};\n\nexport function useRoutes() {\n const router = useRouter();\n\n return useMemo(() => {\n return {\n goToLayerHelp: (options?: INavigateOptions) => {\n if (options?.newTab) {\n window.open(ROUTES.LAYER_HELP, '_blank', 'noopener,noreferrer');\n } else {\n router.push(ROUTES.LAYER_HELP, options);\n }\n },\n goToKnowledgeHub: () => {\n router.push(ROUTES.KNOWLEDGE_HUB);\n },\n goToLayer: (params: { layerId: KnowledgeBaseLayerId }) => {\n router.push(ROUTES.LAYER(params));\n },\n goToExplorer: (\n params: {\n kbId: KnowledgeBaseId;\n folderId?: KnowledgeBaseFolderId | null;\n },\n options?: INavigateOptions,\n ) => {\n router.push(ROUTES.EXPLORER(params), options);\n },\n goToFileViewer: (\n params: {\n kbId: KnowledgeBaseId;\n fileId: KnowledgeBaseFileId;\n page?: number;\n },\n options?: INavigateOptions,\n ) => {\n router.push(ROUTES.FILE_VIEWER(params), options);\n },\n goToSearch: (\n params?: { sessionId?: ChatSessionId },\n options?: INavigateOptions,\n ) => {\n router.push(ROUTES.SEARCH(params), options);\n },\n goToCheckout: (\n { tier }: { tier: SubscriptionTier },\n options?: INavigateOptions,\n ) => {\n if (options?.newTab) {\n window.open(\n ROUTES.CHECKOUT({ tier }),\n '_blank',\n 'noopener,noreferrer',\n );\n } else {\n router.push(ROUTES.CHECKOUT({ tier }), options);\n }\n },\n goToCustomerPortal: ({ email }: { email?: string }) => {\n let customerPortalLink =\n process.env.NEXT_PUBLIC_STRIPE_CUSTOMER_PORTAL_URL;\n\n if (email) {\n customerPortalLink = `${customerPortalLink}?prefilled_email=${email}`;\n }\n window.open(customerPortalLink, '_blank', 'noopener,noreferrer');\n },\n };\n }, [router]);\n}\n","'use client';\n\nimport { useMemo } from 'react';\nimport * as UAParser from 'ua-parser-js';\n\ntype IUseUAReturn = Omit<\n UAParser.IResult,\n 'ua' | 'is' | 'withClientHints' | 'withFeatureCheck'\n> & {\n isMobile: boolean;\n isAppleMobile: boolean;\n isStandalone: boolean;\n};\n\nconst uaParser = new UAParser.UAParser();\n\nexport function useUserAgent() {\n return useMemo(() => {\n try {\n const uastring = window?.navigator?.userAgent;\n\n const device = uaParser.getDevice();\n const isMobile = device?.type === 'mobile';\n\n const isAppleMobile =\n device?.vendor === 'Apple' &&\n ['iPhone', 'iPod', 'iPad'].includes(device?.model ?? '');\n\n const isStandalone = window.matchMedia(\n '(display-mode: standalone)',\n ).matches;\n\n uaParser.setUA(uastring);\n return {\n os: uaParser.getOS(),\n browser: uaParser.getBrowser(),\n cpu: uaParser.getCPU(),\n device: uaParser.getDevice(),\n engine: uaParser.getEngine(),\n isMobile,\n isAppleMobile,\n isStandalone,\n };\n } catch (_err: any) {\n return null;\n }\n }, []);\n}\n","import { type ClassValue, clsx } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n","import type { LocalePrefix } from 'node_modules/next-intl/dist/types/src/routing/types';\n\nconst localePrefix: LocalePrefix = 'as-needed';\n\n// FIXME: Update this configuration file based on your project information\nexport const AppConfig = {\n name: 'Truffler',\n locales: ['en'],\n defaultLocale: 'en',\n localePrefix,\n};\n","import { createSharedPathnamesNavigation } from 'next-intl/navigation';\n\nimport { AppConfig } from '@/utils/AppConfig';\n\nexport const { usePathname, useRouter } = createSharedPathnamesNavigation({\n locales: AppConfig.locales,\n localePrefix: AppConfig.localePrefix,\n});\n","export default {\"src\":\"/_next/static/media/dropbox-tile.4afa37a9.svg\",\"height\":512,\"width\":512,\"blurWidth\":0,\"blurHeight\":0};","export default {\"src\":\"/_next/static/media/gdrive_logo.2318efde.png\",\"height\":128,\"width\":128,\"blurDataURL\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAMAAADz0U65AAAAaVBMVEV0pxEcgDnxuQb/vgPejCQ3q1Irp1sqhrVCifZEiPkUfjY3qFb3sQn8wgPsXDDBTmXStA4ia94zpFb/wQA1h/9HhfX5tgUyfNuMcp4wo1Afdr0Ye4T/ygQ3sVpmnCkVk0n/WCkdeM87u1pMiyjGAAAAHHRSTlMBWUmnFrh3GDT+WUptxX/W9tfkgdzc5e/u9YELOQbnlwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAEVJREFUeJwVyEcOgDAMBdEPmNimhd7k0O5/SOTZPGkAcJURvPK+CrdOR2+5jy9M1gIhjUyrNTjfbZn3pwMPqqqRABYRYfxhmQLw9Fs9lwAAAABJRU5ErkJggg==\",\"blurWidth\":8,\"blurHeight\":8};"],"names":["Promise","resolve","then","__webpack_require__","bind","t","usePagesRouter","pagesRouter","useRouter","useEnforceCatchAllRoute","component","path","routing","requireSessionBeforeCheck","ref","React","session","isLoaded","useSession","isProductionEnvironment","ac","AbortController","error","correctPath","concat","pathname","match","check","res","current","url","window","location","origin","Date","now","fetch","signal","e","status","abort","usePathnameWithoutCatchAll","pathRef","replace","usePathname","require","useParams","pathParts","split","filter","Boolean","catchAllParams","Object","values","Array","isArray","v","flat","Infinity","slice","length","join","useEnforceCorrectRoutingProps","componentName","props","routingProps","useRoutingProps","UserProfile","assign","BaseUserProfile","CreateOrganization","BaseCreateOrganization","OrganizationProfile","BaseOrganizationProfile","SignIn","BaseSignIn","SignUp","BaseSignUp","invalidateNextRouterCache","invalidate","keys","cache","forEach","key","next","router","sdc","sbc","ClerkProvider","param","_a","children","__unstable_invokeMiddlewareOnAuthStateChange","push","ReactClerkProvider","displayName","useSafeLayoutEffect","__unstable__onBeforeSetActive","__unstable__onAfterSetActive","href","mergedProps","mergeNextClerkPropsWithEnv","routerPush","to","routerReplace","initialState","authServerSideProps","__clerk_ssr_state","ClerkNextOptionsProvider","options","ClerkJSScript","setErrorThrowerOptions","packageName","setClerkJsLoadingErrorPackageName","Provider","PageClerkProvider","ClientClerkProvider","SignedIn","ComponentsModule","SignedOut","Sparkles","createLucideIcon","d","__webpack_exports__","Z","delay","duration","threshold","className","inViewOptions","onlyStartInView","once","controls","useAnimation","inView","useInView","triggerOnce","useEffect","start","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","jsx","motion","div","initial","animate","variants","hidden","opacity","y","visible","transition","ease","ClerkSignUpButton","signedInComponent","buttenText","rest","jsxs","Fragment","SignUpButton","mode","forceRedirectUrl","ROUTES","AUTH_HOME","IconButton","variant","Icon","iconClassName","innerContainerClassName","iconLocation","iconProps","hideIcon","loading","Button","cn","selected","Spinner","Share","points","x1","x2","y1","y2","SquarePlus","width","height","x","rx","PWAInstallButton","deferredPrompt","setDeferredPrompt","useState","isIOSDialogOpen","setIsIOSDialogOpen","mounted","setMounted","handleBeforeInstallPrompt","preventDefault","addEventListener","removeEventListener","userAgent","useUserAgent","handleInstallClick","useCallback","isAppleMobile","prompt","isStandalone","jsx_runtime","ResponsiveDialog","title","open","onOpenChange","p","onClick","isMobile","chat2","chat2light","dashboard2","dashboard2light","HeroCards","Card","Image","src","Dashboard2","alt","quality","Dashboard2Light","Chat2","Chat2Light","Hero","section","main","h1","size","LinkButton","IntroducingLayers","routes","useRoutes","handleLearnMoreClick","goToLayerHelp","FadeIn","DotLottieReact","loop","autoplay","speed","BubbleCard","innerClassName","innerGradient","LogoBubbleCard","titleClassName","id","description","image","imageAlt","lottieSrc","CardHeader","h4","CardContent","text_writer","text","eraseDelay","cursorClassName","onEraseComplete","eraseOnComplete","beginEraseDelay","displayText","setDisplayText","textRef","useRef","timeoutId","currentIndex","writeText","setTimeout","eraseText","clearTimeout","span","repeat","Math","floor","features","USE_CASES","UseCases","fileFormatIndex","setFileFormatIndex","h2","TextWriter","prev","map","feature","Link","PricingCard","popular","price","buttonText","benefitList","buttonProps","onButtonClick","CardTitle","Badge","CardDescription","hr","CardFooter","Check","h3","benefit","Pricing","PRICING","useMemo","goToSearch","goToCheckout","tier","newTab","pricing","triggerNode","disableClose","useBetterMediaQuery","Dialog","DialogTrigger","asChild","DialogContent","closeButtonDisabled","onInteractOutside","DialogHeader","DialogTitle","DialogDescription","Drawer","dismissible","DrawerContent","DrawerHeader","DrawerTitle","DrawerDescription","DrawerFooter","DrawerClose","disabled","role","svg","aria-hidden","viewBox","fill","xmlns","badgeVariants","cva","default","secondary","destructive","outline","defaultVariants","buttonVariants","ghost","link","sm","lg","icon","Comp","Slot","DialogPrimitive","DialogPortal","DialogOverlay","X","DialogFooter","shouldScaleBackground","DrawerPrimitive","Root","DrawerTrigger","Trigger","DrawerPortal","Portal","Close","DrawerOverlay","Overlay","Content","Title","Description","query","matches","setMatches","media","matchMedia","listener","createQueryString","params","URLSearchParams","queryString","queryStrings","value","queryElement","append","toString","ROOT","TERMS","LAYER_HELP","CONTACT","PRIVACY","KNOWLEDGE_HUB","MANAGE_LAYERS","LAYER","layerId","EXPLORER","kbId","folderId","route","FILE_VIEWER","fileId","page","highlight","searchParams","String","SEARCH","kbIds","sessionId","CHECKOUT","goToKnowledgeHub","goToLayer","goToExplorer","goToFileViewer","goToCustomerPortal","email","customerPortalLink","process","uaParser","UAParser","device","uastring","navigator","getDevice","type","vendor","includes","model","setUA","os","getOS","browser","getBrowser","cpu","getCPU","engine","getEngine","_err","_len","arguments","inputs","_key","twMerge","clsx","AppConfig","locales","localePrefix","createSharedPathnamesNavigation"],"sourceRoot":""}