diff options
| author | ivarlovlie <git@ivarlovlie.no> | 2023-02-11 23:37:12 +0100 |
|---|---|---|
| committer | ivarlovlie <git@ivarlovlie.no> | 2023-02-11 23:37:12 +0100 |
| commit | 9b2c63d92ff77ebce0f90a7be05437504422bf45 (patch) | |
| tree | 682447cde9d3eed555973ff1aff369b4443da07f /sanity/schemas | |
| parent | 23ab0a24ba82004fa449491b4e08698a1de9e6a0 (diff) | |
| download | auroraklinikken.no-9b2c63d92ff77ebce0f90a7be05437504422bf45.tar.xz auroraklinikken.no-9b2c63d92ff77ebce0f90a7be05437504422bf45.zip | |
feat: Render localized content from sanity
Diffstat (limited to 'sanity/schemas')
| -rw-r--r-- | sanity/schemas/_locales.ts | 5 | ||||
| -rw-r--r-- | sanity/schemas/contact.ts | 35 | ||||
| -rw-r--r-- | sanity/schemas/index.ts | 4 | ||||
| -rw-r--r-- | sanity/schemas/localized-string.ts | 20 |
4 files changed, 64 insertions, 0 deletions
diff --git a/sanity/schemas/_locales.ts b/sanity/schemas/_locales.ts new file mode 100644 index 0000000..5f19303 --- /dev/null +++ b/sanity/schemas/_locales.ts @@ -0,0 +1,5 @@ +export const supportedLanguages = [ + { id: 'en', title: 'English' }, + { id: 'nb', 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/contact.ts b/sanity/schemas/contact.ts new file mode 100644 index 0000000..33bda69 --- /dev/null +++ b/sanity/schemas/contact.ts @@ -0,0 +1,35 @@ +import { baseLanguage } from "./_locales"; + +export default { + name: 'contact', + type: 'document', + title: 'Contact section', + preview: { + select: { + title: `title.${baseLanguage.id}` + } + }, + fields: [ + { + title: "Address lines", + name: 'addressLines', + type: 'array', + of: [{ type: 'localizedString' }] + }, + { + title: "Email", + name: "email", + type: "string", + }, + { + title: "Phone", + name: "phone", + type: "string" + }, + { + title: "Phone hours", + name: "phoneHours", + type: "localizedString" + } + ] +}
\ No newline at end of file diff --git a/sanity/schemas/index.ts b/sanity/schemas/index.ts new file mode 100644 index 0000000..8b37e85 --- /dev/null +++ b/sanity/schemas/index.ts @@ -0,0 +1,4 @@ +import contact from "./contact"; +import localizedString from "./localized-string"; + +export const schemaTypes = [contact, localizedString]
\ No newline at end of file diff --git a/sanity/schemas/localized-string.ts b/sanity/schemas/localized-string.ts new file mode 100644 index 0000000..6ff7424 --- /dev/null +++ b/sanity/schemas/localized-string.ts @@ -0,0 +1,20 @@ +import { supportedLanguages } from "./_locales"; + +export default { + title: 'Localized string', + name: 'localizedString', + type: 'object', + fieldsets: [ + { + title: 'Translations', + name: 'translations', + options: { collapsible: true } + } + ], + fields: supportedLanguages.map(lang => ({ + title: lang.title, + name: lang.id, + type: 'string', + fieldset: lang.isDefault ? null : 'translations' + })) +} |
