From 98083e82fab38552425de77b90b67b362824b8c5 Mon Sep 17 00:00:00 2001 From: cakeinpanic Date: Mon, 10 Feb 2025 16:40:45 +0400 Subject: [PATCH] feat: add emergency banner entity --- .../emergencyBanner/emergencyBanner.ts | 32 +++++++++++++++++++ .../emergencyBanner/files/emergencyBanner.ts | 25 +++++++++++++++ features/cms/initialize/collections/index.ts | 1 + features/cms/initialize/initialize.ts | 2 ++ 4 files changed, 60 insertions(+) create mode 100644 features/cms/initialize/collections/emergencyBanner/emergencyBanner.ts create mode 100644 features/cms/initialize/collections/emergencyBanner/files/emergencyBanner.ts diff --git a/features/cms/initialize/collections/emergencyBanner/emergencyBanner.ts b/features/cms/initialize/collections/emergencyBanner/emergencyBanner.ts new file mode 100644 index 0000000..6d0c73a --- /dev/null +++ b/features/cms/initialize/collections/emergencyBanner/emergencyBanner.ts @@ -0,0 +1,32 @@ +import type { CmsCollection, CmsField } from "netlify-cms-core"; + +export const emergencyBanner: CmsCollection = { + name: "emergency-banner", + label: "Emergency Banner", + files: [ + { + name: "emergencyBanner", + label: "Emergency Banner", + label_singular: "Emergency Banner", + file: "lido-landing/emergencyBanner.md", + + fields: [ + { + name: "id", + label: "identifier", + widget: "uuid", + } as unknown as CmsField, + { label: "Title", name: "title", widget: "string" }, + { label: "Description", name: "description", widget: "string" }, + { label: "Link", name: "link", widget: "string" }, + { label: "Link Text", name: "linkText", widget: "string" }, + { + label: "Is shown", + name: "isShown", + widget: "boolean", + default: false, + }, + ], + }, + ], +}; diff --git a/features/cms/initialize/collections/emergencyBanner/files/emergencyBanner.ts b/features/cms/initialize/collections/emergencyBanner/files/emergencyBanner.ts new file mode 100644 index 0000000..1affc32 --- /dev/null +++ b/features/cms/initialize/collections/emergencyBanner/files/emergencyBanner.ts @@ -0,0 +1,25 @@ +import type { CmsCollectionFile, CmsField } from "netlify-cms-core"; + +export const emergencyBannerPage: CmsCollectionFile = { + name: "emergencyBanner", + label: "Emergency Banner", + label_singular: "Emergency Banner", + file: "lido-landing/emergencyBanner.md", + fields: [ + { + label: "Is shown", + name: "isShown", + widget: "boolean", + default: false, + }, + { + name: "id", + label: "identifier", + widget: "uuid", + } as unknown as CmsField, + { label: "Title", name: "title", widget: "string" }, + { label: "Description", name: "description", widget: "string" }, + { label: "Link", name: "link", widget: "string" }, + { label: "Link Text", name: "linkText", widget: "string" }, + ], +}; diff --git a/features/cms/initialize/collections/index.ts b/features/cms/initialize/collections/index.ts index 9923910..ce09f6e 100644 --- a/features/cms/initialize/collections/index.ts +++ b/features/cms/initialize/collections/index.ts @@ -5,6 +5,7 @@ export * from "./ethereumStakingWidget/ethereumStakingWidget"; export * from "./validatorsProjects/validatorsProjects"; export * from "./frontendTemplate/frontendTemplate"; export * from "./banners/banners"; +export * from "./emergencyBanner/emergencyBanner"; export * from "./stethInDefiConfig/stethInDefiConfig"; export * from "./stethInDefiProject/stethInDefiProject"; export * from "./multichainProjects/multichainProjects"; diff --git a/features/cms/initialize/initialize.ts b/features/cms/initialize/initialize.ts index 180c3f5..0cc03cc 100644 --- a/features/cms/initialize/initialize.ts +++ b/features/cms/initialize/initialize.ts @@ -8,6 +8,7 @@ import { frontendTemplate, ethereumStakingWidget, banners, + emergencyBanner, stethInDefiProject, stethInDefiConfig, multichainProjects, @@ -41,6 +42,7 @@ export const initializeCMS = () => { stethInDefiConfig, multichainProjects, teaserVideo, + emergencyBanner, ], }, });