import { useEffect, useState } from 'react'; import { msg } from '@lingui/core/macro'; import { Trans } from '@lingui/react/macro'; import { PlusIcon } from 'lucide-react'; import { ChevronLeft } from 'lucide-react'; import { Link, Outlet } from 'react-router'; import LogoIcon from '@documenso/assets/logo_icon.png'; import { useOptionalSession } from '@documenso/lib/client-only/providers/session'; import { cn } from '@documenso/ui/lib/utils'; import { Button } from '@documenso/ui/primitives/button'; import { Header as AuthenticatedHeader } from '~/components/general/app-header'; import { BrandingLogo } from '~/components/general/branding-logo'; import { GenericErrorLayout } from '~/components/general/generic-error-layout'; import { appMetaTags } from '~/utils/meta'; export function meta() { return appMetaTags('Profile'); } export default function PublicProfileLayout() { const { sessionData } = useOptionalSession(); const [scrollY, setScrollY] = useState(0); useEffect(() => { const onScroll = () => { setScrollY(window.scrollY); }; window.addEventListener('scroll', onScroll); return () => window.removeEventListener('scroll', onScroll); }, []); return (
{sessionData ? ( ) : (
5 && 'border-b-border', )} >
Documenso Logo

Want your own public profile? Like to have your own public profile with agreements?

)}
); } export function ErrorBoundary() { const errorCodeMap = { 404: { subHeading: msg`404 Profile not found`, heading: msg`Oops! Something went wrong.`, message: msg`The profile you are looking for could not be found.`, }, }; return ( Go Back } /> ); }