Advertisement
Guest User

Untitled

a guest
Oct 14th, 2019
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.39 KB | None | 0 0
  1. import S from '@sanity/desk-tool/structure-builder'
  2. import { MdWork, MdAccountBalance, MdCached, MdDashboard, MdSettings, MdMail, MdPerson, MdAssignment, MdDescription, MdShoppingCart, MdLightbulb, MdLocalOffer, MdChatBubble } from 'react-icons/lib/md'
  3.  
  4. // We filter document types defined in structure to prevent
  5. // them from being listed twice
  6. const hiddenDocTypes = listItem =>
  7. !['redirects', 'page', 'newsroom', 'caseStudy', 'product', 'solution', 'site-config', 'contactInfo', 'resource', 'author', 'blog', 'category', 'testimonial'].includes(listItem.getId())
  8.  
  9. export default () =>
  10. S.list()
  11. .title('Site')
  12. .items([
  13. S.listItem()
  14. .title('Admin')
  15. .icon(MdAccountBalance)
  16. .child(
  17. S.list()
  18. .title('Site settings')
  19. .items([
  20. S.listItem()
  21. .title('Site details')
  22. .icon(MdSettings)
  23. .child(
  24. S.editor()
  25. .id('config')
  26. .schemaType('site-config')
  27. .documentId('global-config')
  28. ),
  29. S.listItem()
  30. .title('Redirects')
  31. .icon(MdCached)
  32. .child(
  33. S.editor()
  34. .id('redirects')
  35. .schemaType('redirects')
  36. .documentId('global-redirects')
  37. ),
  38. S.listItem()
  39. .title('Contact info')
  40. .icon(MdMail)
  41. .child(
  42. S.editor()
  43. .id('contact')
  44. .schemaType('contactInfo')
  45. .documentId('contact')
  46. ),
  47. ])
  48. ),
  49. S.listItem()
  50. .title('Pages')
  51. .icon(MdDashboard)
  52. .schemaType('page')
  53. .child(S.documentTypeList('page').title('Pages')),
  54. S.listItem()
  55. .title('Products')
  56. .icon(MdShoppingCart)
  57. .schemaType('product')
  58. .child(S.documentTypeList('product').title('Products')),
  59. S.listItem()
  60. .title('Solutions')
  61. .icon(MdLightbulb)
  62. .schemaType('solution')
  63. .child(S.documentTypeList('solution').title('Solutions')),
  64. S.listItem()
  65. .title('Blog')
  66. .icon(MdDescription)
  67. .schemaType('blog')
  68. .child(S.documentTypeList('blog').title('Blog')),
  69. S.listItem()
  70. .title('Case Studies')
  71. .icon(MdAssignment)
  72. .schemaType('caseStudy')
  73. .child(S.documentTypeList('caseStudy').title('Case Study')),
  74. S.listItem()
  75. .title('Resources')
  76. .icon(MdWork)
  77. .schemaType('resource')
  78. .child(S.documentTypeList('resource').title('Resources')),
  79. S.listItem()
  80. .title('Newsroom')
  81. .icon()
  82. .schemaType('newsroom')
  83. .child(S.documentTypeList('newsroom').title('Newsroom')),
  84. S.listItem()
  85. .title('Categories')
  86. .icon(MdLocalOffer)
  87. .schemaType('category')
  88. .child(S.documentTypeList('category').title('Category')),
  89. S.listItem()
  90. .title('Authors')
  91. .icon(MdPerson)
  92. .schemaType('author')
  93. .child(S.documentTypeList('author').title('Authors')),
  94. S.listItem()
  95. .title('Testimonials')
  96. .icon(MdChatBubble)
  97. .schemaType('testimonial')
  98. .child(S.documentTypeList('testimonial').title('Testimonials')),
  99. ...S.documentTypeListItems().filter(hiddenDocTypes)
  100. ])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement