diff --git a/apps/web/src/app/app/(primary_layout)/chats/page.tsx b/apps/web/src/app/app/(primary_layout)/chats/page.tsx index 8b646562b..0cf5c3d1f 100644 --- a/apps/web/src/app/app/(primary_layout)/chats/page.tsx +++ b/apps/web/src/app/app/(primary_layout)/chats/page.tsx @@ -1,6 +1,11 @@ import { AppPageLayout } from '@/components/ui/layouts/AppPageLayout'; import { ChatListContainer } from '../../../../controllers/ChatsListController'; import { ChatListHeader } from '../../../../controllers/ChatsListController/ChatListHeader'; +import type { Metadata } from 'next'; + +export const metadata: Metadata = { + title: 'Chats' +}; const type = 'chats'; diff --git a/apps/web/src/app/app/(primary_layout)/collections/page.tsx b/apps/web/src/app/app/(primary_layout)/collections/page.tsx index 6c70b09bb..08753f3be 100644 --- a/apps/web/src/app/app/(primary_layout)/collections/page.tsx +++ b/apps/web/src/app/app/(primary_layout)/collections/page.tsx @@ -1,4 +1,9 @@ import { CollectionListController } from '@/controllers/CollectionListController'; +import type { Metadata } from 'next'; + +export const metadata: Metadata = { + title: 'Collections' +}; export default function CollectionsPage() { return ; diff --git a/apps/web/src/app/app/(primary_layout)/dashboards/page.tsx b/apps/web/src/app/app/(primary_layout)/dashboards/page.tsx index 4fe130348..f53beeaa4 100644 --- a/apps/web/src/app/app/(primary_layout)/dashboards/page.tsx +++ b/apps/web/src/app/app/(primary_layout)/dashboards/page.tsx @@ -1,4 +1,9 @@ import { DashboardListController } from '@/controllers/DashboardListController'; +import type { Metadata } from 'next'; + +export const metadata: Metadata = { + title: 'Dashboards' +}; export default function DashboardPage() { return ; diff --git a/apps/web/src/app/app/(primary_layout)/datasets/page.tsx b/apps/web/src/app/app/(primary_layout)/datasets/page.tsx index b7a2477a6..362e6b7dc 100644 --- a/apps/web/src/app/app/(primary_layout)/datasets/page.tsx +++ b/apps/web/src/app/app/(primary_layout)/datasets/page.tsx @@ -1,4 +1,9 @@ import { DatasetsListController } from '../../../../controllers/DatasetsListController'; +import type { Metadata } from 'next'; + +export const metadata: Metadata = { + title: 'Datasets' +}; export default async function DashboardPage() { return ; diff --git a/apps/web/src/app/app/(primary_layout)/home/page.tsx b/apps/web/src/app/app/(primary_layout)/home/page.tsx index d1222dc5a..edca28d64 100644 --- a/apps/web/src/app/app/(primary_layout)/home/page.tsx +++ b/apps/web/src/app/app/(primary_layout)/home/page.tsx @@ -1,5 +1,10 @@ import { AppPageLayout } from '@/components/ui/layouts'; import { HomePageController, HomePageHeader } from '@/controllers/HomePage'; +import type { Metadata } from 'next'; + +export const metadata: Metadata = { + title: 'Home' +}; export default function HomePage() { return ( diff --git a/apps/web/src/app/app/(primary_layout)/logs/page.tsx b/apps/web/src/app/app/(primary_layout)/logs/page.tsx index e1cd556c6..843ef5e56 100644 --- a/apps/web/src/app/app/(primary_layout)/logs/page.tsx +++ b/apps/web/src/app/app/(primary_layout)/logs/page.tsx @@ -1,6 +1,11 @@ import { AppPageLayout } from '@/components/ui/layouts'; import { ChatListContainer } from '../../../../controllers/ChatsListController'; import { ChatListHeader } from '../../../../controllers/ChatsListController/ChatListHeader'; +import type { Metadata } from 'next'; + +export const metadata: Metadata = { + title: 'Logs' +}; const type = 'logs'; diff --git a/apps/web/src/app/app/(primary_layout)/metrics/page.tsx b/apps/web/src/app/app/(primary_layout)/metrics/page.tsx index 806ab0032..904d92036 100644 --- a/apps/web/src/app/app/(primary_layout)/metrics/page.tsx +++ b/apps/web/src/app/app/(primary_layout)/metrics/page.tsx @@ -1,4 +1,9 @@ import { MetricListContainer } from '@/controllers/MetricListContainer'; +import type { Metadata } from 'next'; + +export const metadata: Metadata = { + title: 'Metrics' +}; export default function MetricsPage() { return ; diff --git a/apps/web/src/app/app/(primary_layout)/new-user/page.tsx b/apps/web/src/app/app/(primary_layout)/new-user/page.tsx index 748083fe1..71752816a 100644 --- a/apps/web/src/app/app/(primary_layout)/new-user/page.tsx +++ b/apps/web/src/app/app/(primary_layout)/new-user/page.tsx @@ -1,4 +1,9 @@ import { NewUserController } from './_NewUserController'; +import type { Metadata } from 'next'; + +export const metadata: Metadata = { + title: 'Welcome to Buster 👋' +}; export default function NewUserPage() { return ; diff --git a/apps/web/src/app/app/(primary_layout)/terms/page.tsx b/apps/web/src/app/app/(primary_layout)/terms/page.tsx index f239e4362..9631eadda 100644 --- a/apps/web/src/app/app/(primary_layout)/terms/page.tsx +++ b/apps/web/src/app/app/(primary_layout)/terms/page.tsx @@ -4,6 +4,11 @@ import { useState } from 'react'; import { AppPageLayout } from '@/components/ui/layouts'; import { TermsListController } from '@/controllers/TermsListController'; import { TermsHeader } from '@/controllers/TermsListController/TermsHeader'; +import type { Metadata } from 'next'; + +export const metadata: Metadata = { + title: 'Terms' +}; export default function TermsPage() { const [openNewTermsModal, setOpenNewTermsModal] = useState(false); diff --git a/apps/web/src/app/app/(settings_layout)/settings/(permissions)/dataset-groups/page.tsx b/apps/web/src/app/app/(settings_layout)/settings/(permissions)/dataset-groups/page.tsx index 82b745249..ebc3d6693 100644 --- a/apps/web/src/app/app/(settings_layout)/settings/(permissions)/dataset-groups/page.tsx +++ b/apps/web/src/app/app/(settings_layout)/settings/(permissions)/dataset-groups/page.tsx @@ -8,6 +8,11 @@ import { useMemoizedFn } from '@/hooks'; import { useDebounceSearch } from '@/hooks/useDebounceSearch'; import { SettingsPageHeader } from '../../_components/SettingsPageHeader'; import { ListDatasetGroupsComponent } from './ListDatasetGroupsComponent'; +import type { Metadata } from 'next'; + +export const metadata: Metadata = { + title: 'Dataset groups' +}; export default function Page() { const { data: datasetGroups, isFetched } = useListDatasetGroups(); diff --git a/apps/web/src/app/app/(settings_layout)/settings/(permissions)/permission-groups/page.tsx b/apps/web/src/app/app/(settings_layout)/settings/(permissions)/permission-groups/page.tsx index 8e1aabb7e..32a138a4a 100644 --- a/apps/web/src/app/app/(settings_layout)/settings/(permissions)/permission-groups/page.tsx +++ b/apps/web/src/app/app/(settings_layout)/settings/(permissions)/permission-groups/page.tsx @@ -12,6 +12,11 @@ import { useMemoizedFn } from '@/hooks'; import { useDebounceSearch } from '@/hooks/useDebounceSearch'; import { SettingsPageHeader } from '../../_components/SettingsPageHeader'; import { ListPermissionGroupsComponent } from './ListPermissionGroupsComponent'; +import type { Metadata } from 'next'; + +export const metadata: Metadata = { + title: 'Permission groups' +}; export default function Page() { const { data: permissionGroups, isFetched, refetch } = useListAllPermissionGroups(); diff --git a/apps/web/src/app/app/(settings_layout)/settings/(permissions)/users/page.tsx b/apps/web/src/app/app/(settings_layout)/settings/(permissions)/users/page.tsx index 0e1ec4319..7c7dbfdb4 100644 --- a/apps/web/src/app/app/(settings_layout)/settings/(permissions)/users/page.tsx +++ b/apps/web/src/app/app/(settings_layout)/settings/(permissions)/users/page.tsx @@ -11,6 +11,11 @@ import { useMemoizedFn } from '@/hooks'; import { useDebounceSearch } from '@/hooks/useDebounceSearch'; import { SettingsPageHeader } from '../../_components/SettingsPageHeader'; import { ListUsersComponent } from './ListUsersComponent'; +import type { Metadata } from 'next'; + +export const metadata: Metadata = { + title: 'User management' +}; export default function Page() { const userOrganization = useUserConfigContextSelector((x) => x.userOrganizations); diff --git a/apps/web/src/app/app/(settings_layout)/settings/(restricted-width)/(admin-only)/api-keys/page.tsx b/apps/web/src/app/app/(settings_layout)/settings/(restricted-width)/(admin-only)/api-keys/page.tsx index f7af723c3..7a629d396 100644 --- a/apps/web/src/app/app/(settings_layout)/settings/(restricted-width)/(admin-only)/api-keys/page.tsx +++ b/apps/web/src/app/app/(settings_layout)/settings/(restricted-width)/(admin-only)/api-keys/page.tsx @@ -1,5 +1,10 @@ import { SettingsPageHeader } from '../../../_components/SettingsPageHeader'; import { ApiKeysController } from './ApiKeysController'; +import type { Metadata } from 'next'; + +export const metadata: Metadata = { + title: 'API keys' +}; export default function Page() { return ( diff --git a/apps/web/src/app/app/(settings_layout)/settings/(restricted-width)/(admin-only)/datasources/(admin-restricted-space)/[datasourceId]/page.tsx b/apps/web/src/app/app/(settings_layout)/settings/(restricted-width)/(admin-only)/datasources/(admin-restricted-space)/[datasourceId]/page.tsx index 921382b76..29b6e7850 100644 --- a/apps/web/src/app/app/(settings_layout)/settings/(restricted-width)/(admin-only)/datasources/(admin-restricted-space)/[datasourceId]/page.tsx +++ b/apps/web/src/app/app/(settings_layout)/settings/(restricted-width)/(admin-only)/datasources/(admin-restricted-space)/[datasourceId]/page.tsx @@ -1,6 +1,11 @@ import { BusterRoutes, createBusterRoute } from '@/routes'; import { HeaderContainer } from '../../_HeaderContainer'; import { DatasourceForm } from './_forms'; +import type { Metadata } from 'next'; + +export const metadata: Metadata = { + title: 'Datasources' +}; export default async function Page(props: { params: Promise<{ diff --git a/apps/web/src/app/app/(settings_layout)/settings/(restricted-width)/(admin-only)/datasources/(admin-restricted-space)/add/page.tsx b/apps/web/src/app/app/(settings_layout)/settings/(restricted-width)/(admin-only)/datasources/(admin-restricted-space)/add/page.tsx index 01d18812b..2d3d456b4 100644 --- a/apps/web/src/app/app/(settings_layout)/settings/(restricted-width)/(admin-only)/datasources/(admin-restricted-space)/add/page.tsx +++ b/apps/web/src/app/app/(settings_layout)/settings/(restricted-width)/(admin-only)/datasources/(admin-restricted-space)/add/page.tsx @@ -12,6 +12,11 @@ import { cn } from '@/lib/classMerge'; import { BusterRoutes, createBusterRoute } from '@/routes'; import { HeaderContainer } from '../../_HeaderContainer'; import { DataSourceFormContent } from '../[datasourceId]/_forms/DatasourceFormContent'; +import type { Metadata } from 'next'; + +export const metadata: Metadata = { + title: 'Datasources' +}; export default function Page({ searchParams: { type } diff --git a/apps/web/src/app/app/(settings_layout)/settings/(restricted-width)/profile/page.tsx b/apps/web/src/app/app/(settings_layout)/settings/(restricted-width)/profile/page.tsx index fc0efeef0..646948ebd 100644 --- a/apps/web/src/app/app/(settings_layout)/settings/(restricted-width)/profile/page.tsx +++ b/apps/web/src/app/app/(settings_layout)/settings/(restricted-width)/profile/page.tsx @@ -5,6 +5,11 @@ import { Text, Title } from '@/components/ui/typography'; import { useUserConfigContextSelector } from '@/context/Users'; import { formatDate } from '@/lib/date'; import { SettingsPageHeader } from '../../_components/SettingsPageHeader'; +import type { Metadata } from 'next'; + +export const metadata: Metadata = { + title: 'Profile' +}; export default function ProfilePage() { const user = useUserConfigContextSelector((state) => state.user); diff --git a/apps/web/src/components/features/auth/LoginForm.tsx b/apps/web/src/components/features/auth/LoginForm.tsx index 78e0a9a64..866c0f312 100644 --- a/apps/web/src/components/features/auth/LoginForm.tsx +++ b/apps/web/src/components/features/auth/LoginForm.tsx @@ -274,7 +274,6 @@ const LoginOptions: React.FC<{ }} disabled={!!loading} autoComplete="email" - tabIndex={-3} />
@@ -289,7 +288,6 @@ const LoginOptions: React.FC<{ name="password" placeholder="Password" autoComplete="new-password" - tabIndex={-4} />
{signUpFlow && ( @@ -305,7 +303,6 @@ const LoginOptions: React.FC<{ name="password2" placeholder="Confirm password" autoComplete="new-password" - tabIndex={-5} /> {password && ( @@ -331,8 +328,7 @@ const LoginOptions: React.FC<{ type="submit" loading={loading === 'email'} variant="black" - disabled={!signUpFlow ? false : disableSubmitButton} - tabIndex={-6}> + disabled={!signUpFlow ? false : disableSubmitButton}> {!signUpFlow ? 'Sign in' : 'Sign up'} diff --git a/apps/web/src/controllers/HomePage/NewChatWarning.tsx b/apps/web/src/controllers/HomePage/NewChatWarning.tsx index 9c4fa726c..e28d88b6c 100644 --- a/apps/web/src/controllers/HomePage/NewChatWarning.tsx +++ b/apps/web/src/controllers/HomePage/NewChatWarning.tsx @@ -76,7 +76,7 @@ export const NewChatWarning = React.memo( {allCompleted ? ' Your data is ready to be explored.' - : " Without proper setup, we can't retrieve relevant information."} + : " Without proper setup, we can't retrieve your data."} diff --git a/turbo.json b/turbo.json index 34c514970..b9217dad4 100644 --- a/turbo.json +++ b/turbo.json @@ -66,6 +66,8 @@ "NEXT_PUBLIC_WS_URL", "NEXT_PUBLIC_POSTHOG_KEY", "NEXT_PUBLIC_POSTHOG_HOST", + "NEXT_PUBLIC_POSTHOG_KEY", + "NEXT_PUBLIC_POSTHOG_HOST", "NEXT_SLACK_APP_SUPPORT_URL", "NEXT_PRIVATE_SUPABASE_SERVICE_ROLE_KEY",