👋 Next.js Conf 2024: Come build, party, run, and connect with us! See all events

Error in creating a custom tool in Sanity.io Studio

14 replies
Last updated: Aug 10, 2023
Hi
user Q
,
I am back with a small help for the error which I am getting. I am trying to create a custom tool by following this documentations.


https://www.sanity.io/docs/studio-tools
And I am getting this error, I think it is because I am not using the configuration where the studio runs on port 3333, I am running studio on localhost:3000/studio/desk configurations.

current config file


export default defineConfig({

studio: {

components: {

toolMenu: (props) => {

const {tools, renderDefault} = props

return renderDefault({

...props,

tools: [...tools,myCustomTool()],

})

},

},

},

//other items

})
Aug 10, 2023, 3:36 PM
you’re not following the configuration correctly
Aug 10, 2023, 3:44 PM
try doing exactly like they showed you first
Aug 10, 2023, 3:44 PM
so you need to create
myCustomTool()
from the first example and pass it into the
tools
prop. the error im seeing here makes me think you dont have
title: 'My Custom Tool',
name: 'my-custom-tool', // localhost:3333/my-custom-tool
declared in your tool. it needs those props to set the navigation of the tool
Aug 10, 2023, 3:49 PM
Hi
user J
I have that created -

const myCustomTool = () => {
return {
title: 'My Custom Tool',
name: 'my-custom-tool', // localhost:3333/my-custom-tool
icon: Card,
component: (props) => (
<div>
fefef
</div>
),
}
}
Aug 10, 2023, 3:51 PM
Entire file
Aug 10, 2023, 3:51 PM
ok but you are pulling the myCustomTool() into the wrong key. that bit they are talking about is only to order the navigation. and you’re doing it wrong based on the example shown. get this working first before you dive into navigation ordering. https://share.cleanshot.com/fB3X84l8
Aug 10, 2023, 3:54 PM
you dont need
studio: ….
to get the tool working
Aug 10, 2023, 3:55 PM
that bit you’re doing doesn’t make sense anyway because it already orders the navigation in that exact order.
Aug 10, 2023, 3:56 PM
I see what you mean!
Aug 10, 2023, 4:00 PM
Thank you!
Aug 10, 2023, 4:00 PM
just remove
studio:
entirely and use the config shown in the example. you also need to have all that other config to make sanity work like dataset and projectid
Aug 10, 2023, 4:00 PM
it is resolved now!
Aug 10, 2023, 4:00 PM
Yes perfect!
Aug 10, 2023, 4:00 PM
@(Removed Name), great -- looks
user J
got you tuned in on this well -- and, it works, always good 🙂
Cheers to both,
(Removed Name)
Aug 10, 2023, 7:26 PM

Sanity– build remarkable experiences at scale

Sanity is a modern headless CMS that treats content as data to power your digital business. Free to get started, and pay-as-you-go on all plans.

Was this answer helpful?