diff --git a/public/Roo-Code-Logo-Horiz-white.svg b/public/logo-dark.svg similarity index 100% rename from public/Roo-Code-Logo-Horiz-white.svg rename to public/logo-dark.svg diff --git a/public/Roo-Code-Logo-Horiz-blk.svg b/public/logo.svg similarity index 100% rename from public/Roo-Code-Logo-Horiz-blk.svg rename to public/logo.svg diff --git a/public/placeholder.svg b/public/placeholder.svg deleted file mode 100644 index e763910b27..0000000000 --- a/public/placeholder.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/public/placeholder_pfp.png b/public/placeholder_pfp.png deleted file mode 100644 index f8b690afba..0000000000 Binary files a/public/placeholder_pfp.png and /dev/null differ diff --git a/src/app/(authenticated)/analytics/page.tsx b/src/app/(authenticated)/dashboard/analytics/page.tsx similarity index 85% rename from src/app/(authenticated)/analytics/page.tsx rename to src/app/(authenticated)/dashboard/analytics/page.tsx index 08f8f3f8e2..03566afd01 100644 --- a/src/app/(authenticated)/analytics/page.tsx +++ b/src/app/(authenticated)/dashboard/analytics/page.tsx @@ -3,7 +3,7 @@ import { useTranslations } from 'next-intl'; import { TitleBar } from '@/components/dashboard/TitleBar'; -import { AnalyticsPage } from '@/features/analytics/AnalyticsPage'; +import { AnalyticsPage } from '@/components/analytics/AnalyticsPage'; const AnalyticsPageContainer = () => { const t = useTranslations('Analytics'); diff --git a/src/app/(authenticated)/audit-logs/page.tsx b/src/app/(authenticated)/dashboard/audit-logs/page.tsx similarity index 90% rename from src/app/(authenticated)/audit-logs/page.tsx rename to src/app/(authenticated)/dashboard/audit-logs/page.tsx index e64fc25287..ea7b49b55f 100644 --- a/src/app/(authenticated)/audit-logs/page.tsx +++ b/src/app/(authenticated)/dashboard/audit-logs/page.tsx @@ -5,10 +5,10 @@ import { useState } from 'react'; import { Button } from '@/components/ui/button'; import { Drawer } from '@/components/ui/drawer'; import { TitleBar } from '@/components/dashboard/TitleBar'; -import { AuditLogDetails } from '@/features/dashboard/AuditLogDetails'; -import { AuditLogEntry } from '@/features/dashboard/AuditLogEntry'; -import type { AuditLog } from '@/features/dashboard/mockAuditLogs'; -import { getFilteredLogs } from '@/features/dashboard/mockAuditLogs'; +import { AuditLogDetails } from '@/components/dashboard/AuditLogDetails'; +import { AuditLogEntry } from '@/components/dashboard/AuditLogEntry'; +import type { AuditLog } from '@/components/dashboard/mockAuditLogs'; +import { getFilteredLogs } from '@/components/dashboard/mockAuditLogs'; type TimePeriod = '7' | '30' | '90'; diff --git a/src/app/(authenticated)/dashboard/org/[[...organization-profile]]/OrgProfile.tsx b/src/app/(authenticated)/dashboard/org/[[...organization-profile]]/OrgProfile.tsx index fabaea0137..e2a856801e 100644 --- a/src/app/(authenticated)/dashboard/org/[[...organization-profile]]/OrgProfile.tsx +++ b/src/app/(authenticated)/dashboard/org/[[...organization-profile]]/OrgProfile.tsx @@ -5,8 +5,8 @@ import { useTheme } from 'next-themes'; import { dark } from '@clerk/themes'; import { OrganizationProfile } from '@clerk/nextjs'; -import DefaultParametersPage from '@/features/dashboard/DefaultParametersPage'; -import ProviderWhitelistPage from '@/features/dashboard/ProviderWhitelistPage'; +import DefaultParametersPage from '@/components/dashboard/DefaultParametersPage'; +import ProviderWhitelistPage from '@/components/dashboard/ProviderWhitelistPage'; export const OrgProfile = () => { const t = useTranslations('OrganizationProfile'); diff --git a/src/app/(authenticated)/dashboard/page.tsx b/src/app/(authenticated)/dashboard/page.tsx index 5c4945f1f9..59b25e696b 100644 --- a/src/app/(authenticated)/dashboard/page.tsx +++ b/src/app/(authenticated)/dashboard/page.tsx @@ -1,8 +1,8 @@ import { useTranslations } from 'next-intl'; import { TitleBar } from '@/components/dashboard/TitleBar'; -import { AuditLogCard } from '@/features/dashboard/AuditLogCard'; -import { UsageAnalyticsCard } from '@/features/dashboard/UsageAnalyticsCard'; +import { AuditLogCard } from '@/components/dashboard/AuditLogCard'; +import { UsageAnalyticsCard } from '@/components/dashboard/UsageAnalyticsCard'; export default function Page() { const t = useTranslations('DashboardIndex'); diff --git a/src/app/layout.tsx b/src/app/layout.tsx index 1b3499e61c..4298cbc84d 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -2,7 +2,7 @@ import '@/styles/globals.css'; import type { Metadata } from 'next'; import { NextIntlClientProvider } from 'next-intl'; -import { getLocale } from 'next-intl/server'; +import { getLocale, getTranslations, setRequestLocale } from 'next-intl/server'; import { ClerkProvider } from '@clerk/nextjs'; import { getClerkLocale } from '@/lib/locale'; @@ -11,24 +11,31 @@ import { ToastProvider, ToastViewport } from '@/components/ui/toast'; import { ToastProvider as ToastContextProvider } from '@/components/ui/toast-context'; import { Toaster } from '@/components/ui/toaster'; -export const metadata: Metadata = { - icons: [ - { rel: 'apple-touch-icon', url: '/apple-touch-icon.png' }, - { - rel: 'icon', - type: 'image/png', - sizes: '32x32', - url: '/favicon-32x32.png', - }, - { - rel: 'icon', - type: 'image/png', - sizes: '16x16', - url: '/favicon-16x16.png', - }, - { rel: 'icon', url: '/favicon.ico' }, - ], -}; +export async function generateMetadata(): Promise { + const locale = await getLocale(); + const t = await getTranslations({ locale, namespace: 'Index' }); + + return { + title: t('meta_title'), + description: t('meta_description'), + icons: [ + { rel: 'apple-touch-icon', url: '/apple-touch-icon.png' }, + { + rel: 'icon', + type: 'image/png', + sizes: '32x32', + url: '/favicon-32x32.png', + }, + { + rel: 'icon', + type: 'image/png', + sizes: '16x16', + url: '/favicon-16x16.png', + }, + { rel: 'icon', url: '/favicon.ico' }, + ], + }; +} export default async function RootLayout({ children, @@ -36,6 +43,7 @@ export default async function RootLayout({ children: React.ReactNode; }) { const locale = await getLocale(); + setRequestLocale(locale); return ( diff --git a/src/app/page.tsx b/src/app/page.tsx index 532c9ebd2a..89030f37e9 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -1,31 +1,7 @@ import { redirect } from 'next/navigation'; import { auth as clerkAuth } from '@clerk/nextjs/server'; -import { getLocale, getTranslations, setRequestLocale } from 'next-intl/server'; - -import { Navbar, Footer } from '@/components/layout'; -import { Hero, Features } from '@/components/landing'; - -export async function generateMetadata() { - const locale = await getLocale(); - const t = await getTranslations({ locale, namespace: 'Index' }); - return { title: t('meta_title'), description: t('meta_description') }; -} export default async function Page() { const { userId } = await clerkAuth(); - - if (userId) { - redirect('/dashboard'); - } - - setRequestLocale(await getLocale()); - - return ( - <> - - - -