Sanity Desk - How to Change the Localization Version of the Document?

5 replies
Last updated: Jul 14, 2022
Hello Everyone,
I have a question related to Sanity desk.

We are showing our home page on the initial page. However, when we try to change the localization version of the document, we get blank page, because URL is changed with the translated document's
_id
How can we prevent this behavior?


https://share.getcloudapp.com/OAu8lGXm
Here the code.


export default () =>
	S.list()
		.title("Content")
		.items([
			S.listItem()
				.title("Home Page")
				.icon(GoHome)
				.child(
					S.document()
						.schemaType("page")
						.documentId("frontpage")
						.views([
							S.view.form(),
							S.view
								.component(Iframe)
								.options({ url: (doc) => resolveProductionUrl(doc) })
								.title("Preview"),
						])
				),
			page,
			press,
			blog,
			customer,
			company,
			navigation,
			dictionary,
		]); 
Jul 14, 2022, 11:28 PM
This is happening because your Studio is looking to display a document whose
_id
is 'frontpage', but since you're using the document-level translations you're switching to a completely different document with a different
_id
when you change the language.
Jul 14, 2022, 11:38 PM
That's correct, but is there a mechanism to prevent this, i.e. to have some function on translation button click or on URL change?
Jul 14, 2022, 11:40 PM
No, unfortunately. The point of a singleton is to show a single document, so that's not going to work with out of the box functionality.
Jul 14, 2022, 11:43 PM
Thank you for support!
Jul 14, 2022, 11:50 PM
Good to now about this limitation
Jul 14, 2022, 11:51 PM

Sanity.io – build remarkable experiences at scale

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