Multiple lists not possible in a single pane, but grouping list items is. Check out Sanity's documentation.
Yes, absolutely! You can have multiple lists in the desk structure, including separate lists for "Content" and "Settings" or any other grouping you need.
The Structure Builder API provides several ways to organize your lists. Here are the most common approaches:
Using Dividers to Separate Lists
The simplest way is to use S.divider() to create visual separation between different sections. Here's an example that shows content types first, then settings below:
// ./structure/index.ts
import type {StructureResolver} from 'sanity/structure'
export const structure: StructureResolver = (S) =>
S.list()
.title('Content')
.items([
// Content section
S.documentTypeListItem('post').title('Posts'),
S.documentTypeListItem('page').title('Pages'),
S.documentTypeListItem('author').title('Authors'),
// Divider to separate sections
S.divider(),
// Settings section
S.documentTypeListItem('siteSettings').title('Site Settings'),
S.documentTypeListItem('navigationMenu').title('Navigation'),
])You can also filter out certain document types from the default list and manually place them in a separate section:
export const structure: StructureResolver = (S) =>
S.list()
.title('Content')
.items([
// All document types except settings
...S.documentTypeListItems().filter(
(item) => item.getId() !== 'siteSettings'
),
S.divider(),
// Settings placed separately
S.documentTypeListItem('siteSettings').title('Settings'),
])Creating Nested Lists
For more complex organization, you can create nested list items where clicking on a parent item reveals child lists:
export const structure: StructureResolver = (S) =>
S.list()
.title('Content')
.items([
// Content section as a nested list
S.listItem()
.title('Content')
.child(
S.list()
.title('Content')
.items([
S.documentTypeListItem('post').title('Posts'),
S.documentTypeListItem('page').title('Pages'),
])
),
S.divider(),
// Settings section as a nested list
S.listItem()
.title('Settings')
.child(
S.list()
.title('Settings')
.items([
S.documentTypeListItem('siteSettings').title('Site Settings'),
S.documentTypeListItem('redirects').title('Redirects'),
])
),
])The Structure Builder cheat sheet has great examples of all these patterns, and you can learn more about the full capabilities in the Structure Builder introduction guide.
Show original thread2 replies
Sanity – Build the way you think, not the way your CMS thinks
Sanity is the developer-first content operating system that gives you complete control. Schema-as-code, GROQ queries, and real-time APIs mean no more workarounds or waiting for deployments. Free to start, scale as you grow.