diff --git a/packages/types/src/instance/base.d.ts b/packages/types/src/instance/base.d.ts index 41198b27c9c..33d0734ad34 100644 --- a/packages/types/src/instance/base.d.ts +++ b/packages/types/src/instance/base.d.ts @@ -57,6 +57,7 @@ export interface IInstanceConfig { // intercom is_intercom_enabled: boolean; intercom_app_id: string | undefined; + instance_changelog_url?: string; } export interface IInstanceAdmin { diff --git a/web/core/components/common/logo.tsx b/web/core/components/common/logo.tsx index 02b26a10be9..0638b8410ae 100644 --- a/web/core/components/common/logo.tsx +++ b/web/core/components/common/logo.tsx @@ -1,14 +1,14 @@ "use client"; import { FC } from "react"; -// emoji-picker-react import { Emoji } from "emoji-picker-react"; +import useFontFaceObserver from "use-font-face-observer"; +// types import { TLogoProps } from "@plane/types"; -// helpers +// ui import { LUCIDE_ICONS_LIST } from "@plane/ui"; +// helpers import { emojiCodeToUnicode } from "@/helpers/emoji.helper"; -// import { icons } from "lucide-react"; -import useFontFaceObserver from "use-font-face-observer"; type Props = { logo: TLogoProps; diff --git a/web/core/components/global/product-updates/modal.tsx b/web/core/components/global/product-updates/modal.tsx index 6bdacc94704..4288d68ee35 100644 --- a/web/core/components/global/product-updates/modal.tsx +++ b/web/core/components/global/product-updates/modal.tsx @@ -1,19 +1,13 @@ -import { FC, useRef } from "react"; +import { FC } from "react"; import { observer } from "mobx-react-lite"; -import useSWR from "swr"; -// editor -import { DocumentReadOnlyEditorWithRef, EditorRefApi } from "@plane/editor"; // ui import { EModalPosition, EModalWidth, ModalCore } from "@plane/ui"; -// helpers -import { LogoSpinner } from "@/components/common"; +// components import { ProductUpdatesFooter } from "@/components/global"; +// hooks +import { useInstance } from "@/hooks/store"; // plane web components import { ProductUpdatesHeader } from "@/plane-web/components/global"; -// services -import { InstanceService } from "@/services/instance.service"; - -const instanceService = new InstanceService(); export type ProductUpdatesModalProps = { isOpen: boolean; @@ -22,20 +16,16 @@ export type ProductUpdatesModalProps = { export const ProductUpdatesModal: FC = observer((props) => { const { isOpen, handleClose } = props; - // refs - const editorRef = useRef(null); - // swr - const { data, isLoading, error } = useSWR(`INSTANCE_CHANGELOG`, () => instanceService.getInstanceChangeLog(), { - shouldRetryOnError: false, - revalidateIfStale: false, - revalidateOnFocus: false, - }); + + const { config } = useInstance(); return (
- {!isLoading && !!error ? ( + {config?.instance_changelog_url && config?.instance_changelog_url !== "" ? ( +