forked from focusreactive/Demo-VisualEditing-Sanity
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsanity.config.ts
67 lines (58 loc) · 1.78 KB
/
sanity.config.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
import { defineConfig } from 'sanity';
import { deskTool } from 'sanity/desk';
import { presentationTool } from 'sanity/presentation';
import { visionTool } from '@sanity/vision';
import { colorInput } from '@sanity/color-input';
import { media } from 'sanity-plugin-media';
import { DatabaseIcon, EarthGlobeIcon, CodeBlockIcon } from '@sanity/icons';
import { locate } from '@/sanity/utils/locate';
import { schemaTypes } from '@/sanity/schemas';
import { structureDB } from '@/sanity/schemas/DB/structure';
import config from '@/sanity/config';
import { defaultDocumentNode, deskStructure } from '@/sanity/deskStructure';
import { client } from '@/sanity/client';
import { createQueryStore } from '@sanity/react-loader';
const SANITY_STUDIO_PREVIEW_URL = process.env.SANITY_STUDIO_PREVIEW_URL || 'http://localhost:3000';
export default defineConfig({
name: 'default',
title: 'Next.js + Sanity MVP',
basePath: '/admin',
...config,
plugins: [
deskTool({
name: 'content',
title: 'Content',
icon: EarthGlobeIcon,
structure: deskStructure,
defaultDocumentNode,
}),
deskTool({
name: 'database',
title: 'Database',
icon: DatabaseIcon,
structure: structureDB,
defaultDocumentNode,
}),
presentationTool({
name: 'preview',
title: 'Visual Editing',
previewUrl: {
origin: typeof location === 'undefined' ? 'http://localhost:3000' : location.origin,
draftMode: {
enable: '/api/draft',
},
},
locate,
}),
media(),
visionTool({ name: 'playground', title: 'GROQ', icon: CodeBlockIcon }),
colorInput(),
],
schema: {
// @ts-ignore
types: schemaTypes,
},
});
export const { loadQuery, useQuery, useLiveMode } = createQueryStore({
client,
});