-
Notifications
You must be signed in to change notification settings - Fork 27
/
deskStructure.ts
93 lines (81 loc) · 2.62 KB
/
deskStructure.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
// TODO: Add missing icons
import { DesktopIcon, HelpCircleIcon, HomeIcon } from "@sanity/icons";
import { StructureBuilder } from "sanity/desk";
import aboutPage from "schemas/pages/about-page";
import accessibilityDeclarationPage from "schemas/pages/accessibility-declaration-page";
import collaboratePage from "schemas/pages/collaborate-page";
import faqPage from "schemas/pages/faq-page";
import homePage from "schemas/pages/home-page";
import layout from "schemas/pages/layout";
// List of 'documents/schemas' to ignore from Sanity's Desk list.
export const pages = [
aboutPage.name,
accessibilityDeclarationPage.name,
collaboratePage.name,
faqPage.name,
homePage.name,
layout.name,
];
const deskStructure = (S: StructureBuilder) => {
return (
// Sanity Desk view
S.list()
.title("Contenido")
// Documents listed inside 'Contenido'
.items([
// layout schema
S.listItem()
.title(layout.title || "Layout")
.icon(DesktopIcon)
.child(S.document().schemaType(layout.name).documentId(layout.name)),
// home-page schema
S.listItem()
.title(homePage.title || "Home Page")
.icon(HomeIcon)
.child(
S.document().schemaType(homePage.name).documentId(homePage.name)
),
// accessibility-declaration schema
S.listItem()
.title(
accessibilityDeclarationPage.title ||
"Accessibility Declaration Page"
)
.child(
S.document()
.schemaType(accessibilityDeclarationPage.name)
.documentId(accessibilityDeclarationPage.name)
),
// faq schema
S.listItem()
.title(faqPage.title || "FAQ Page")
.icon(HelpCircleIcon)
.child(
S.document().schemaType(faqPage.name).documentId(faqPage.name)
),
// about schema
S.listItem()
.title(aboutPage.title || "About Page")
.child(
S.document().schemaType(aboutPage.name).documentId(aboutPage.name)
),
// collaborate schema
S.listItem()
.title(
collaboratePage.title ? collaboratePage.title : "Collaborate Page"
)
.child(
S.document()
.schemaType(collaboratePage.name)
.documentId(collaboratePage.name)
),
S.divider(),
// Rest of documents
...S.documentTypeListItems().filter(
(item) => !pages.includes(item.getId() as (typeof pages)[number])
//
),
])
);
};
export default deskStructure;