diff options
Diffstat (limited to 'sanity')
| -rw-r--r-- | sanity/package.json | 1 | ||||
| -rw-r--r-- | sanity/pnpm-lock.yaml | 236 | ||||
| -rw-r--r-- | sanity/sanity.config.ts | 8 | ||||
| -rw-r--r-- | sanity/schemas/_locales.ts | 4 | ||||
| -rw-r--r-- | sanity/schemas/description.ts | 21 | ||||
| -rw-r--r-- | sanity/schemas/hero.ts | 28 | ||||
| -rw-r--r-- | sanity/schemas/index.ts | 4 |
7 files changed, 274 insertions, 28 deletions
diff --git a/sanity/package.json b/sanity/package.json index 29ab464..1782223 100644 --- a/sanity/package.json +++ b/sanity/package.json @@ -20,6 +20,7 @@ "react-dom": "^18.2.0", "react-is": "^18.2.0", "sanity": "^3.3.1", + "@sanity/document-internationalization": "^1.0.5", "styled-components": "^5.3.6" }, "devDependencies": { diff --git a/sanity/pnpm-lock.yaml b/sanity/pnpm-lock.yaml index c6c9f5a..579e260 100644 --- a/sanity/pnpm-lock.yaml +++ b/sanity/pnpm-lock.yaml @@ -1,6 +1,7 @@ lockfileVersion: 5.4 specifiers: + '@sanity/document-internationalization': ^1.0.5 '@sanity/eslint-config-studio': ^2.0.1 '@sanity/vision': ^3.3.1 eslint: ^8.34.0 @@ -13,6 +14,7 @@ specifiers: typescript: ^4.9.5 dependencies: + '@sanity/document-internationalization': 1.0.5_gmcntwjzf76fcof7rftbafwbaa '@sanity/vision': 3.3.1_23mhwjhnzfjwvdn7ol54k26zom react: 18.2.0 react-dom: 18.2.0_react@18.2.0 @@ -1356,6 +1358,11 @@ packages: w3c-keyname: 2.2.6 dev: false + /@cprecioso/country-flag-emoji/1.0.0: + resolution: {integrity: sha512-AFpV9SxC9O+3Dw8Bj/aDDCO6KtqGXQ0FEd02gbpV1Vb2IohG5CVvMQgpiZdjMURVozOIgiAbZ5BUI+0sGPDnvA==} + engines: {node: '>=14'} + dev: false + /@dnd-kit/accessibility/3.0.1_react@18.2.0: resolution: {integrity: sha512-HXRrwS9YUYQO9lFRc/49uO/VICbM+O+ZRpFDe9Pd1rwVv2PCNkRiTZRdxrDgng/UkvdC3Re9r2vwPpXXrWeFzg==} peerDependencies: @@ -1951,6 +1958,41 @@ packages: diff-match-patch: 1.0.5 dev: false + /@sanity/document-internationalization/1.0.5_gmcntwjzf76fcof7rftbafwbaa: + resolution: {integrity: sha512-Qt+Snos86KZCY/BeWbhqC/2Rd2f7U56ZZTsU9H6jxtIzSnLweUoH25l6glmPDEgkE2ajomgEAbX+Om7GijdBbw==} + engines: {node: '>=14'} + peerDependencies: + lodash: ^4.0.0 + react: ^18 + react-dom: ^18 + react-router: ^5.0.0 + react-router-dom: ^5.0.0 + rxjs: ^6.0.0 + sanity: ^3.0.0 + styled-components: ^5.0.0 + dependencies: + '@cprecioso/country-flag-emoji': 1.0.0 + '@sanity/color': 2.2.2 + '@sanity/icons': 2.2.2_react@18.2.0 + '@sanity/incompatible-plugin': 1.0.4_biqbaboplfbrettd7655fr4n2y + '@sanity/ui': 1.2.2_23mhwjhnzfjwvdn7ol54k26zom + '@sanity/uuid': 3.0.1 + html-react-parser: 1.4.14_react@18.2.0 + just-omit: 2.2.0 + just-safe-get: 4.2.0 + just-split: 3.2.0 + pinst: 2.1.6 + react: 18.2.0 + react-dom: 18.2.0_react@18.2.0 + react-fast-compare: 3.2.0 + react-twemoji: 0.5.0_react@18.2.0 + sanity: 3.3.1_2zpt4ilzykmne4yndyzrqd4gdm + styled-components: 5.3.6_7i5myeigehqah43i5u7wbekgba + twemoji: 14.0.2 + transitivePeerDependencies: + - react-is + dev: false + /@sanity/eslint-config-studio/2.0.1_7kw3g6rralp5ps6mg3uyzz6azm: resolution: {integrity: sha512-OcGYX7sZFxmR7Mhnd4w45IYei7atYqHRt1glU9DdnVXqTBjg30m6La1/EyPhjQGBdBqxkBB0TLwr0wuL7JhwuQ==} requiresBuild: true @@ -2006,6 +2048,14 @@ packages: resolution: {integrity: sha512-wtMYcV5GIDIhVyF/jjmdwq1GdlK07dRL40XMns73VbrFI7FteRltxv48bhYVZPcLkRXb0SHjpDS/icj9/yzbVA==} dev: false + /@sanity/icons/1.3.10_react@18.2.0: + resolution: {integrity: sha512-5wVG/vIiGuGrSmq+Bl3PY7XDgQrGv0fyHdJI64FSulnr2wH3NMqZ6C59UFxnrZ93sr7kOt0zQFoNv2lkPBi0Cg==} + peerDependencies: + react: ^16.9 || ^17 || ^18 + dependencies: + react: 18.2.0 + dev: false + /@sanity/icons/2.2.2_react@18.2.0: resolution: {integrity: sha512-+Ks6LeYe44kjZSfcWFWj0zQRP48N3JisrZ9ia44QwG11y6bO9Wk8bfhu5o23FkyYrREu9CzQ0U+slSV7YsvcuQ==} engines: {node: '>=14.0.0'} @@ -2046,6 +2096,18 @@ packages: - supports-color dev: false + /@sanity/incompatible-plugin/1.0.4_biqbaboplfbrettd7655fr4n2y: + resolution: {integrity: sha512-2z39G9PTM8MXOF4fJNx3TG4tH0RrTjtH6dVLW93DSjCPbIS7FgCY5yWjZfQ+HVkwhLsF7ATDAGLA/jp65pFjAg==} + peerDependencies: + react: ^16.9 || ^17 || ^18 + react-dom: ^16.9 || ^17 || ^18 + dependencies: + '@sanity/icons': 1.3.10_react@18.2.0 + react: 18.2.0 + react-copy-to-clipboard: 5.1.0_react@18.2.0 + react-dom: 18.2.0_react@18.2.0 + dev: false + /@sanity/logos/2.1.2_3sdlg264xylsh337olfihoxliu: resolution: {integrity: sha512-nxJUQQzEEG8EqjiOEswQQpBUuFc3iSxTVF9D9Memg/tlOChX76dStNHoa1RWuvSPu895aqJV+9zxijAa0kF9Vg==} engines: {node: '>=14.0.0'} @@ -3279,10 +3341,22 @@ packages: esutils: 2.0.3 dev: true + /dom-serializer/1.4.1: + resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} + dependencies: + domelementtype: 2.3.0 + domhandler: 4.3.1 + entities: 2.2.0 + dev: false + /dom-walk/0.1.2: resolution: {integrity: sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==} dev: false + /domelementtype/2.3.0: + resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} + dev: false + /domexception/4.0.0: resolution: {integrity: sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==} engines: {node: '>=12'} @@ -3290,6 +3364,21 @@ packages: webidl-conversions: 7.0.0 dev: false + /domhandler/4.3.1: + resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} + engines: {node: '>= 4'} + dependencies: + domelementtype: 2.3.0 + dev: false + + /domutils/2.8.0: + resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} + dependencies: + dom-serializer: 1.4.1 + domelementtype: 2.3.0 + domhandler: 4.3.1 + dev: false + /dot-prop/5.3.0: resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} engines: {node: '>=8'} @@ -3332,6 +3421,15 @@ packages: once: 1.4.0 dev: false + /entities/2.2.0: + resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} + dev: false + + /entities/3.0.1: + resolution: {integrity: sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==} + engines: {node: '>=0.12'} + dev: false + /entities/4.4.0: resolution: {integrity: sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==} engines: {node: '>=0.12'} @@ -3886,10 +3984,23 @@ packages: readable-stream: 2.3.7 dev: false + /fromentries/1.3.2: + resolution: {integrity: sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==} + dev: false + /fs-constants/1.0.0: resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} dev: false + /fs-extra/8.1.0: + resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} + engines: {node: '>=6 <7 || >=8'} + dependencies: + graceful-fs: 4.2.10 + jsonfile: 4.0.0 + universalify: 0.1.2 + dev: false + /fs.realpath/1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} @@ -4223,6 +4334,13 @@ packages: resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} dev: false + /html-dom-parser/1.2.0: + resolution: {integrity: sha512-2HIpFMvvffsXHFUFjso0M9LqM+1Lm22BF+Df2ba+7QHJXjk63pWChEnI6YG27eaWqUdfnh5/Vy+OXrNTtepRsg==} + dependencies: + domhandler: 4.3.1 + htmlparser2: 7.2.0 + dev: false + /html-encoding-sniffer/3.0.0: resolution: {integrity: sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==} engines: {node: '>=12'} @@ -4230,6 +4348,27 @@ packages: whatwg-encoding: 2.0.0 dev: false + /html-react-parser/1.4.14_react@18.2.0: + resolution: {integrity: sha512-pxhNWGie8Y+DGDpSh8cTa0k3g8PsDcwlfolA+XxYo1AGDeB6e2rdlyv4ptU9bOTiZ2i3fID+6kyqs86MN0FYZQ==} + peerDependencies: + react: 0.14 || 15 || 16 || 17 || 18 + dependencies: + domhandler: 4.3.1 + html-dom-parser: 1.2.0 + react: 18.2.0 + react-property: 2.0.0 + style-to-js: 1.1.1 + dev: false + + /htmlparser2/7.2.0: + resolution: {integrity: sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==} + dependencies: + domelementtype: 2.3.0 + domhandler: 4.3.1 + domutils: 2.8.0 + entities: 3.0.1 + dev: false + /http-proxy-agent/5.0.0: resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==} engines: {node: '>= 6'} @@ -4294,6 +4433,10 @@ packages: /inherits/2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + /inline-style-parser/0.1.1: + resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==} + dev: false + /internal-slot/1.0.5: resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==} engines: {node: '>= 0.4'} @@ -4677,6 +4820,20 @@ packages: engines: {node: '>=6'} hasBin: true + /jsonfile/4.0.0: + resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + optionalDependencies: + graceful-fs: 4.2.10 + dev: false + + /jsonfile/5.0.0: + resolution: {integrity: sha512-NQRZ5CRo74MhMMC3/3r5g2k4fjodJ/wh8MxjFbCViWKFjxrnudWSY5vomh+23ZaXzAS7J3fBZIR2dV6WbmfM0w==} + dependencies: + universalify: 0.1.2 + optionalDependencies: + graceful-fs: 4.2.10 + dev: false + /jsx-ast-utils/3.3.3: resolution: {integrity: sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==} engines: {node: '>=4.0'} @@ -4685,6 +4842,18 @@ packages: object.assign: 4.1.4 dev: true + /just-omit/2.2.0: + resolution: {integrity: sha512-Js7+HxDOGcB3RhI38Mird/RgyMf3t0DAJFda1QWqqlAKTa36NeSYIufJXxrZUbysFTRcTOFcoMCiFK5FwCoI7Q==} + dev: false + + /just-safe-get/4.2.0: + resolution: {integrity: sha512-+tS4Bvgr/FnmYxOGbwziJ8I2BFk+cP1gQHm6rm7zo61w1SbxBwWGEq/Ryy9Gb6bvnloPq6pz7Bmm4a0rjTNlXA==} + dev: false + + /just-split/3.2.0: + resolution: {integrity: sha512-hh57dN5koTBkmg3T6gBFISVVaW5bgZ6Ct1W5KODD5M7hQJKqGzTKkfMwOil8MBxyztLQEjh/v6UGXE8cP5tnqQ==} + dev: false + /language-subtag-registry/0.3.22: resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==} dev: true @@ -4756,6 +4925,10 @@ packages: resolution: {integrity: sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==} dev: false + /lodash.isequal/4.5.0: + resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} + dev: false + /lodash.isplainobject/4.0.6: resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} dev: false @@ -5241,6 +5414,14 @@ packages: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} + /pinst/2.1.6: + resolution: {integrity: sha512-B4dYmf6nEXg1NpDSB+orYWvKa5Kfmz5KzWC29U59dpVM4S/+xp0ak/JMEsw04UQTNNKps7klu0BUalr343Gt9g==} + engines: {node: '>=10.0.0'} + hasBin: true + dependencies: + fromentries: 1.3.2 + dev: false + /pirates/4.0.5: resolution: {integrity: sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==} engines: {node: '>= 6'} @@ -5449,6 +5630,10 @@ packages: resolution: {integrity: sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==} dev: false + /react-property/2.0.0: + resolution: {integrity: sha512-kzmNjIgU32mO4mmH5+iUyrqlpFQhF8K2k7eZ4fdLSOPFrD1XgEuSBv9LDEgxRXTMBqMd8ppT0x6TIzqE5pdGdw==} + dev: false + /react-refractor/2.1.7_react@18.2.0: resolution: {integrity: sha512-avNxSSsnjYg+BKpO8LVCK14KRn5pLZ+8DInMiUEeZPL6hs0SN0zafl3mJIxavGQPKyihqbXqzq4CYNflJQjaaw==} peerDependencies: @@ -5484,6 +5669,18 @@ packages: prop-types: 15.8.1 dev: false + /react-twemoji/0.5.0_react@18.2.0: + resolution: {integrity: sha512-xz3NLWTFCfWOmPd559jcFX4f976ORIPpL9SwdBQO5BZwIYD1U1vpbY2E6k2vwPCVH78s2m1GbG5jpHKGUPZ+gw==} + engines: {node: '>=5.0'} + peerDependencies: + react: '>=16.4.2' + dependencies: + lodash.isequal: 4.5.0 + prop-types: 15.8.1 + react: 18.2.0 + twemoji: 14.0.1 + dev: false + /react/18.2.0: resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} engines: {node: '>=0.10.0'} @@ -6095,6 +6292,18 @@ packages: resolution: {integrity: sha512-OPhtyEjyyN9x3nhPsu76f52yUGXiZcgvsrFVtvTkyGRQJ0XK+GPc6ov1z+lRpbeabka+MYEQxOYRnt5nF30aMw==} dev: false + /style-to-js/1.1.1: + resolution: {integrity: sha512-RJ18Z9t2B02sYhZtfWKQq5uplVctgvjTfLWT7+Eb1zjUjIrWzX5SdlkwLGQozrqarTmEzJJ/YmdNJCUNI47elg==} + dependencies: + style-to-object: 0.3.0 + dev: false + + /style-to-object/0.3.0: + resolution: {integrity: sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==} + dependencies: + inline-style-parser: 0.1.1 + dev: false + /style-value-types/5.0.0: resolution: {integrity: sha512-08yq36Ikn4kx4YU6RD7jWEv27v4V+PUsOGa4n/as8Et3CuODMJQ00ENeAVXAeydX4Z2j1XHZF1K2sX4mGl18fA==} dependencies: @@ -6256,6 +6465,28 @@ packages: safe-buffer: 5.2.1 dev: false + /twemoji-parser/14.0.0: + resolution: {integrity: sha512-9DUOTGLOWs0pFWnh1p6NF+C3CkQ96PWmEFwhOVmT3WbecRC+68AIqpsnJXygfkFcp4aXbOp8Dwbhh/HQgvoRxA==} + dev: false + + /twemoji/14.0.1: + resolution: {integrity: sha512-eoqhea0sUhmC10iTacksyp1v9O4BP1jKmVqtK+Nztw40/dzawSHkXL3/xCpyh+mukmEvJ0Gw9VLvwZfQ9HKXDw==} + dependencies: + fs-extra: 8.1.0 + jsonfile: 5.0.0 + twemoji-parser: 14.0.0 + universalify: 0.1.2 + dev: false + + /twemoji/14.0.2: + resolution: {integrity: sha512-BzOoXIe1QVdmsUmZ54xbEH+8AgtOKUiG53zO5vVP2iUu6h5u9lN15NcuS6te4OY96qx0H7JK9vjjl9WQbkTRuA==} + dependencies: + fs-extra: 8.1.0 + jsonfile: 5.0.0 + twemoji-parser: 14.0.0 + universalify: 0.1.2 + dev: false + /type-check/0.3.2: resolution: {integrity: sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==} engines: {node: '>= 0.8.0'} @@ -6365,6 +6596,11 @@ packages: unist-util-is: 4.1.0 dev: false + /universalify/0.1.2: + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} + dev: false + /universalify/0.2.0: resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} engines: {node: '>= 4.0.0'} diff --git a/sanity/sanity.config.ts b/sanity/sanity.config.ts index feaf76e..07c650b 100644 --- a/sanity/sanity.config.ts +++ b/sanity/sanity.config.ts @@ -1,14 +1,18 @@ import { defineConfig } from 'sanity' -import { deskTool } from 'sanity/desk' import { visionTool } from '@sanity/vision' import { schemaTypes } from './schemas' +import { withDocumentI18nPlugin } from '@sanity/document-internationalization' +import { baseLanguage, supportedLanguages } from './schemas/_locales' export default defineConfig({ name: 'default', title: 'auroraklinikken.no', projectId: process.env.SANITY_STUDIO_API_PROJECT_ID ?? "", dataset: process.env.SANITY_STUDIO_API_DATASET ?? "", - plugins: [deskTool(), visionTool()], + plugins: withDocumentI18nPlugin([visionTool()], { + languages: supportedLanguages.map(el => el.iso), + fallbackLanguageSelect: supportedLanguages.find(l => l.isDefault)?.iso as any + }), schema: { types: schemaTypes, }, diff --git a/sanity/schemas/_locales.ts b/sanity/schemas/_locales.ts index 5f19303..8baca54 100644 --- a/sanity/schemas/_locales.ts +++ b/sanity/schemas/_locales.ts @@ -1,5 +1,5 @@ export const supportedLanguages = [ - { id: 'en', title: 'English' }, - { id: 'nb', title: 'Norwegian', isDefault: true }, + { id: 'en', iso: "en-GB", title: 'English' }, + { id: 'nb', iso: "nb-NO", title: 'Norwegian', isDefault: true }, ] export const baseLanguage = supportedLanguages.find(l => l.isDefault) as { id: string, title: string };
\ No newline at end of file diff --git a/sanity/schemas/description.ts b/sanity/schemas/description.ts index 211aac3..d5d5ff3 100644 --- a/sanity/schemas/description.ts +++ b/sanity/schemas/description.ts @@ -1,14 +1,10 @@ -import { baseLanguage } from "./_locales"; +import { defineType } from "sanity"; -export default { +export default defineType({ name: 'description', type: 'document', title: 'Description section', - preview: { - select: { - title: `title.${baseLanguage.id}` - } - }, + i18n: true, fields: [ { title: "Title", @@ -16,9 +12,12 @@ export default { type: 'string', }, { - title: "Text", - name: "text", - type: "string", + title: "Content", + name: "content", + type: "array", + of: [ + { type: "block" } + ] } ] -}
\ No newline at end of file +})
\ No newline at end of file diff --git a/sanity/schemas/hero.ts b/sanity/schemas/hero.ts index 48e5c77..8534675 100644 --- a/sanity/schemas/hero.ts +++ b/sanity/schemas/hero.ts @@ -1,14 +1,10 @@ -import { baseLanguage } from "./_locales"; +import { defineType } from "sanity"; -export default { +export default defineType({ name: 'hero', type: 'document', title: 'Hero section', - preview: { - select: { - title: `title.${baseLanguage.id}` - } - }, + i18n: true, fields: [ { title: "Title", @@ -16,14 +12,22 @@ export default { type: 'string', }, { - title: "Subtitle", - name: "subtitle", - type: "string", + title: "Content", + name: "content", + type: "array", + of: [{ type: "block" }] }, { title: "Image", name: "image", - type: "image" + type: "image", + fields: [ + { + title: "Alternative text", + name: 'alt', + type: 'string', + } + ] } ] -}
\ No newline at end of file +})
\ No newline at end of file diff --git a/sanity/schemas/index.ts b/sanity/schemas/index.ts index 8b37e85..9dfc403 100644 --- a/sanity/schemas/index.ts +++ b/sanity/schemas/index.ts @@ -1,4 +1,6 @@ import contact from "./contact"; +import description from "./description"; +import hero from "./hero"; import localizedString from "./localized-string"; -export const schemaTypes = [contact, localizedString]
\ No newline at end of file +export const schemaTypes = [contact, localizedString, description, hero]
\ No newline at end of file |
