'use client'; import { ReactNode, useCallback } from 'react'; import { Title } from '@gitroom/frontend/components/layout/title'; import { ContextWrapper } from '@gitroom/frontend/components/layout/user.context'; import { TopMenu } from '@gitroom/frontend/components/layout/top.menu'; import { MantineWrapper } from '@gitroom/react/helpers/mantine.wrapper'; import { ToolTip } from '@gitroom/frontend/components/layout/top.tip'; import { ShowMediaBoxModal } from '@gitroom/frontend/components/media/media.component'; import Image from 'next/image'; import { Toaster } from '@gitroom/react/toaster/toaster'; import { ShowPostSelector } from '@gitroom/frontend/components/post-url-selector/post.url.selector'; import { OrganizationSelector } from '@gitroom/frontend/components/layout/organization.selector'; import NotificationComponent from '@gitroom/frontend/components/notifications/notification.component'; import Link from 'next/link'; import useSWR from 'swr'; import { useFetch } from '@gitroom/helpers/utils/custom.fetch'; import dayjs from 'dayjs'; import utc from 'dayjs/plugin/utc'; import weekOfYear from 'dayjs/plugin/weekOfYear'; import isoWeek from 'dayjs/plugin/isoWeek'; import isBetween from 'dayjs/plugin/isBetween'; import { ShowLinkedinCompany } from '@gitroom/frontend/components/launches/helpers/linkedin.component'; import { SettingsComponent } from '@gitroom/frontend/components/layout/settings.component'; import { Onboarding } from '@gitroom/frontend/components/onboarding/onboarding'; import { Support } from '@gitroom/frontend/components/layout/support'; import { ContinueProvider } from '@gitroom/frontend/components/layout/continue.provider'; import { isGeneral } from '@gitroom/react/helpers/is.general'; import { CopilotKit } from '@copilotkit/react-core'; dayjs.extend(utc); dayjs.extend(weekOfYear); dayjs.extend(isoWeek); dayjs.extend(isBetween); export const LayoutSettings = ({ children }: { children: ReactNode }) => { const fetch = useFetch(); const load = useCallback(async (path: string) => { return await (await fetch(path)).json(); }, []); const { data: user } = useSWR('/user/self', load, { revalidateOnFocus: false, revalidateOnReconnect: false, revalidateIfStale: false, refreshWhenOffline: false, refreshWhenHidden: false, }); return (
Logo
{isGeneral() ? 'Postiz' : 'Gitroom'}
{user?.orgId ? :
}
<div className="flex flex-1 flex-col">{children}</div> </div> </div> </div> </MantineWrapper> </CopilotKit> </ContextWrapper> ); };