diff --git a/src/app/(authenticated)/layout.tsx b/src/app/(authenticated)/layout.tsx index 7cec7963c2..420a039f66 100644 --- a/src/app/(authenticated)/layout.tsx +++ b/src/app/(authenticated)/layout.tsx @@ -1,19 +1,29 @@ -import { auth } from '@clerk/nextjs/server'; import { redirect } from 'next/navigation'; +import { auth } from '@clerk/nextjs/server'; -import { NavbarHeader, NavbarMenu, Section } from '@/components/layout'; +import { + NavbarHeader, + NavbarMenu, + Section, + Connected, +} from '@/components/layout'; export default async function AuthenticatedLayout({ children, }: { children: React.ReactNode; }) { - const { orgId } = await auth(); + const { orgId, orgRole } = await auth(); if (!orgId) { redirect('/select-org'); } + // For now, a non-admin just get a "You're connected" message. + if (orgRole !== 'org:admin') { + return ; + } + return ( <> diff --git a/src/components/layout/Connected.tsx b/src/components/layout/Connected.tsx new file mode 100644 index 0000000000..0072a9131c --- /dev/null +++ b/src/components/layout/Connected.tsx @@ -0,0 +1,19 @@ +import { UserButton } from '@clerk/nextjs'; + +import { Logo } from './Logo'; +import { ThemeSwitcher } from './ThemeSwitcher'; + +export const Connected = () => ( +
+
You are connected to Roo Code.
+
+ +
+
+
+ + +
+
+
+); diff --git a/src/components/layout/index.ts b/src/components/layout/index.ts index b80030e309..6f22e1e3c7 100644 --- a/src/components/layout/index.ts +++ b/src/components/layout/index.ts @@ -4,6 +4,7 @@ export { ThemeSwitcher } from './ThemeSwitcher'; export { Logo, HoppingLogo } from './Logo'; export { NavbarHeader } from './NavbarHeader'; export { NavbarMenu } from './NavbarMenu'; +export { Connected } from './Connected'; export { ThemeProvider } from './ThemeProvider'; export { AuthProvider } from './AuthProvider';