diff --git a/app/src/components/nav/PageHeaderContainer.tsx b/app/src/components/nav/PageHeaderContainer.tsx index 944f33d..f17b312 100644 --- a/app/src/components/nav/PageHeaderContainer.tsx +++ b/app/src/components/nav/PageHeaderContainer.tsx @@ -4,10 +4,12 @@ const PageHeaderContainer = (props: FlexProps) => { return ; }; diff --git a/app/src/components/nav/ProjectBreadcrumbContents.tsx b/app/src/components/nav/ProjectBreadcrumbContents.tsx new file mode 100644 index 0000000..68de209 --- /dev/null +++ b/app/src/components/nav/ProjectBreadcrumbContents.tsx @@ -0,0 +1,34 @@ +import { HStack, Flex, Text } from "@chakra-ui/react"; +import Link from "next/link"; + +import { useSelectedOrg } from "~/utils/hooks"; + +// Have to export only contents here instead of full BreadcrumbItem because Chakra doesn't +// recognize a BreadcrumbItem exported with this component as a valid child of Breadcrumb. + +export default function ProjectBreadcrumbContents() { + const { data: selectedOrg } = useSelectedOrg(); + + return ( + + + + {selectedOrg?.name[0]?.toUpperCase()} + + + {selectedOrg?.name} + + + + ); +} diff --git a/app/src/pages/data/[id].tsx b/app/src/pages/data/[id].tsx index 2cb6228..63921a6 100644 --- a/app/src/pages/data/[id].tsx +++ b/app/src/pages/data/[id].tsx @@ -19,6 +19,7 @@ import { useDataset, useHandledAsyncCallback } from "~/utils/hooks"; import DatasetEntriesTable from "~/components/datasets/DatasetEntriesTable"; import { DatasetHeaderButtons } from "~/components/datasets/DatasetHeaderButtons/DatasetHeaderButtons"; import PageHeaderContainer from "~/components/nav/PageHeaderContainer"; +import ProjectBreadcrumbContents from "~/components/nav/ProjectBreadcrumbContents"; export default function Dataset() { const router = useRouter(); @@ -58,6 +59,9 @@ export default function Dataset() { + + + diff --git a/app/src/pages/data/index.tsx b/app/src/pages/data/index.tsx index 94b5f50..843a63e 100644 --- a/app/src/pages/data/index.tsx +++ b/app/src/pages/data/index.tsx @@ -18,6 +18,7 @@ import { NewDatasetCard, } from "~/components/datasets/DatasetCard"; import PageHeaderContainer from "~/components/nav/PageHeaderContainer"; +import ProjectBreadcrumbContents from "~/components/nav/ProjectBreadcrumbContents"; export default function DatasetsPage() { const datasets = api.datasets.list.useQuery(); @@ -51,6 +52,9 @@ export default function DatasetsPage() { + + + Datasets diff --git a/app/src/pages/experiments/[id].tsx b/app/src/pages/experiments/[id].tsx index 515986b..04ce91d 100644 --- a/app/src/pages/experiments/[id].tsx +++ b/app/src/pages/experiments/[id].tsx @@ -24,6 +24,8 @@ import { useSyncVariantEditor } from "~/state/sync"; import { ExperimentHeaderButtons } from "~/components/experiments/ExperimentHeaderButtons/ExperimentHeaderButtons"; import Head from "next/head"; import PageHeaderContainer from "~/components/nav/PageHeaderContainer"; +import ProjectBreadcrumbContents from "~/components/nav/ProjectBreadcrumbContents"; + // TODO: import less to fix deployment with server side props // export const getServerSideProps = async (context: GetServerSidePropsContext<{ id: string }>) => { @@ -107,6 +109,9 @@ export default function Experiment() { + + + diff --git a/app/src/pages/experiments/index.tsx b/app/src/pages/experiments/index.tsx index eb66b72..59e8f25 100644 --- a/app/src/pages/experiments/index.tsx +++ b/app/src/pages/experiments/index.tsx @@ -18,6 +18,7 @@ import { } from "~/components/experiments/ExperimentCard"; import { signIn, useSession } from "next-auth/react"; import PageHeaderContainer from "~/components/nav/PageHeaderContainer"; +import ProjectBreadcrumbContents from "~/components/nav/ProjectBreadcrumbContents"; export default function ExperimentsPage() { const experiments = api.experiments.list.useQuery(); @@ -51,6 +52,9 @@ export default function ExperimentsPage() { + + + Experiments diff --git a/app/src/pages/home/index.tsx b/app/src/pages/home/index.tsx index 516a6e8..6927cd8 100644 --- a/app/src/pages/home/index.tsx +++ b/app/src/pages/home/index.tsx @@ -1,7 +1,8 @@ -import { Breadcrumb, BreadcrumbItem, Input } from "@chakra-ui/react"; +import { Breadcrumb, BreadcrumbItem, Text } from "@chakra-ui/react"; import { useEffect, useState } from "react"; import AppShell from "~/components/nav/AppShell"; import PageHeaderContainer from "~/components/nav/PageHeaderContainer"; +import ProjectBreadcrumbContents from "~/components/nav/ProjectBreadcrumbContents"; import { api } from "~/utils/api"; import { useHandledAsyncCallback, useSelectedOrg } from "~/utils/hooks"; @@ -27,22 +28,12 @@ export default function HomePage() { return ( - + + + + - setName(e.target.value)} - onBlur={onSaveName} - borderWidth={1} - borderColor="transparent" - fontSize={16} - px={0} - minW={{ base: 100, lg: 300 }} - flex={1} - _hover={{ borderColor: "gray.300" }} - _focus={{ borderColor: "blue.500", outline: "none" }} - /> + Home diff --git a/app/src/pages/settings/index.tsx b/app/src/pages/settings/index.tsx index ef77742..8566bc4 100644 --- a/app/src/pages/settings/index.tsx +++ b/app/src/pages/settings/index.tsx @@ -1,9 +1,11 @@ -import { Breadcrumb, BreadcrumbItem, Input } from "@chakra-ui/react"; +import { Breadcrumb, BreadcrumbItem, Text } from "@chakra-ui/react"; import { useEffect, useState } from "react"; + import AppShell from "~/components/nav/AppShell"; import PageHeaderContainer from "~/components/nav/PageHeaderContainer"; import { api } from "~/utils/api"; import { useHandledAsyncCallback, useSelectedOrg } from "~/utils/hooks"; +import ProjectBreadcrumbContents from "~/components/nav/ProjectBreadcrumbContents"; export default function Settings() { const utils = api.useContext(); @@ -29,21 +31,11 @@ export default function Settings() { + + + - setName(e.target.value)} - onBlur={onSaveName} - borderWidth={1} - borderColor="transparent" - fontSize={16} - px={0} - minW={{ base: 100, lg: 300 }} - flex={1} - _hover={{ borderColor: "gray.300" }} - _focus={{ borderColor: "blue.500", outline: "none" }} - /> + Project Settings