diff --git a/public/sharedStudioIcon.png b/public/sharedStudioIcon.png new file mode 100644 index 000000000..29d1d513a Binary files /dev/null and b/public/sharedStudioIcon.png differ diff --git a/public/studioIcon.png b/public/studioIcon.png new file mode 100644 index 000000000..cbec85929 Binary files /dev/null and b/public/studioIcon.png differ diff --git a/sanity.config.ts b/sanity.config.ts new file mode 100644 index 000000000..6c498f6b4 --- /dev/null +++ b/sanity.config.ts @@ -0,0 +1,11 @@ +/** + * This configuration is used to for the Sanity Studio that’s mounted on the routes: + * - `/app/studio/[[...index]]/page.tsx` + * - `/app/studioShared/[[...index]]/page.tsx` + */ + +import { defineConfig } from "sanity"; +import sharedStudioConfig from "./studioShared/studioConfig"; +import studioConfig from "./studio/studioConfig"; + +export default defineConfig([studioConfig, sharedStudioConfig]); diff --git a/src/app/shared/[[...index]]/page.tsx b/src/app/shared/[[...index]]/page.tsx index ee9e92b85..a9458fbd8 100644 --- a/src/app/shared/[[...index]]/page.tsx +++ b/src/app/shared/[[...index]]/page.tsx @@ -11,7 +11,7 @@ import { NextStudio } from "next-sanity/studio"; -import config from "../../../../studioShared/sanity.config"; +import config from "sanity.config"; export default function StudioPage() { return ; diff --git a/src/app/studio/[[...index]]/page.tsx b/src/app/studio/[[...index]]/page.tsx index daf6042cd..a9458fbd8 100644 --- a/src/app/studio/[[...index]]/page.tsx +++ b/src/app/studio/[[...index]]/page.tsx @@ -11,7 +11,7 @@ import { NextStudio } from "next-sanity/studio"; -import config from "../../../../studio/sanity.config"; +import config from "sanity.config"; export default function StudioPage() { return ; diff --git a/studio/components/CustomToolMenu.tsx b/studio/components/CustomToolMenu.tsx deleted file mode 100644 index 2110bcba0..000000000 --- a/studio/components/CustomToolMenu.tsx +++ /dev/null @@ -1,17 +0,0 @@ -import { ToolMenuProps } from "sanity"; -import { Inline, Stack } from "@sanity/ui"; -import { ToolMenuLinkButton } from "./toolMenuLinkButton/ToolMenuLinkButton"; - -export default function CustomToolMenu(props: ToolMenuProps) { - const Wrapper = props.context === "topbar" ? Inline : Stack; - return ( - - {props.renderDefault(props)} - - - ); -} diff --git a/studio/components/studioIcon/StudioIcon.tsx b/studio/components/studioIcon/StudioIcon.tsx new file mode 100644 index 000000000..f3db84384 --- /dev/null +++ b/studio/components/studioIcon/StudioIcon.tsx @@ -0,0 +1,16 @@ +import styles from "./studioIcon.module.css"; +import Image from "next/image"; + +const StudioIcon = ({ variant }: { variant: "studio" | "shared" }) => { + return ( + {"Studio + ); +}; + +export default StudioIcon; diff --git a/studio/components/studioIcon/studioIcon.module.css b/studio/components/studioIcon/studioIcon.module.css new file mode 100644 index 000000000..c1f9652f1 --- /dev/null +++ b/studio/components/studioIcon/studioIcon.module.css @@ -0,0 +1,5 @@ +.icon { + width: 100%; + height: 100%; + object-fit: contain; +} diff --git a/studio/sanity.config.ts b/studio/studioConfig.tsx similarity index 71% rename from studio/sanity.config.ts rename to studio/studioConfig.tsx index ef1aa6237..322af8345 100644 --- a/studio/sanity.config.ts +++ b/studio/studioConfig.tsx @@ -1,9 +1,4 @@ -/** - * This configuration is used to for the Sanity Studio that’s mounted on the `/app/studio/[[...index]]/page.tsx` route - */ - import { visionTool } from "@sanity/vision"; -import { defineConfig, StudioToolMenu } from "sanity"; import { presentationTool } from "sanity/presentation"; import { structureTool } from "sanity/structure"; @@ -11,19 +6,19 @@ import { structureTool } from "sanity/structure"; import { apiVersion, dataset, projectId } from "./env"; import { schema } from "./schema"; import deskStructure from "./schemas/deskStructure"; -import CustomToolMenu from "./components/CustomToolMenu"; +import { WorkspaceOptions } from "sanity"; +import StudioIcon from "./components/studioIcon/StudioIcon"; -export default defineConfig({ +const config: WorkspaceOptions = { + name: "studio", + title: "Studio", + subtitle: "Our Own Space", + icon: () => , basePath: "/studio", projectId, dataset, // Add and edit the content schema in the './studio/schema' folder schema, - studio: { - components: { - toolMenu: CustomToolMenu, - }, - }, plugins: [ structureTool({ structure: deskStructure, @@ -39,4 +34,6 @@ export default defineConfig({ }, }), ], -}); +}; + +export default config; diff --git a/studioShared/sanity.config.ts b/studioShared/sanity.config.ts deleted file mode 100644 index 731bb3307..000000000 --- a/studioShared/sanity.config.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { defineConfig } from "sanity"; -import { structureTool } from "sanity/structure"; -import { dataset, projectId } from "./env"; -import { schema } from "./schema"; - -/** - * This configuration is used for the Sanity Studio that’s mounted on the `/app/shared/[[...index]]/page.tsx` route - */ - -export default defineConfig({ - basePath: "/shared", - projectId, - dataset, - schema, - plugins: [structureTool()], -}); diff --git a/studioShared/studioConfig.tsx b/studioShared/studioConfig.tsx new file mode 100644 index 000000000..856fb4947 --- /dev/null +++ b/studioShared/studioConfig.tsx @@ -0,0 +1,19 @@ +import { dataset, projectId } from "./env"; +import { schema } from "./schema"; +import { structureTool } from "sanity/structure"; +import { WorkspaceOptions } from "sanity"; +import StudioIcon from "../studio/components/studioIcon/StudioIcon"; + +const config: WorkspaceOptions = { + name: "sharedStudio", + title: "Shared Studio", + subtitle: "Sharing is Caring!", + icon: () => , + basePath: "/shared", + projectId, + dataset, + schema, + plugins: [structureTool()], +}; + +export default config;