From 7ed35e549bae1e76dc9c1bc650cb4fca1781b094 Mon Sep 17 00:00:00 2001 From: Prateek Shourya Date: Mon, 2 Dec 2024 16:09:31 +0530 Subject: [PATCH 1/2] chore: community edition product updates link --- web/ce/helpers/dashboard.helper.ts | 2 ++ web/core/components/workspace/sidebar/help-section.tsx | 6 +++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/web/ce/helpers/dashboard.helper.ts b/web/ce/helpers/dashboard.helper.ts index b2fba63adb0..5e7de424ef8 100644 --- a/web/ce/helpers/dashboard.helper.ts +++ b/web/ce/helpers/dashboard.helper.ts @@ -3,3 +3,5 @@ import { TSidebarUserMenuItemKeys } from "@/plane-web/types/dashboard"; // eslint-disable-next-line @typescript-eslint/no-unused-vars export const isUserFeatureEnabled = (featureKey: TSidebarUserMenuItemKeys) => true; + +export const getProductUpdatesLink = () => "https://plane.so/changelog/community"; diff --git a/web/core/components/workspace/sidebar/help-section.tsx b/web/core/components/workspace/sidebar/help-section.tsx index e15c4fb75d1..f79bf861288 100644 --- a/web/core/components/workspace/sidebar/help-section.tsx +++ b/web/core/components/workspace/sidebar/help-section.tsx @@ -16,6 +16,8 @@ import { usePlatformOS } from "@/hooks/use-platform-os"; // plane web components import { PlaneVersionNumber } from "@/plane-web/components/global"; import { WorkspaceEditionBadge } from "@/plane-web/components/workspace"; +// plane web helpers +import { getProductUpdatesLink } from "@/plane-web/helpers/dashboard.helper"; export interface WorkspaceHelpSectionProps { setSidebarActive?: React.Dispatch>; @@ -33,6 +35,8 @@ export const SidebarHelpSection: React.FC = observer( // states const [isNeedHelpOpen, setIsNeedHelpOpen] = useState(false); const [isChangeLogOpen, setIsChangeLogOpen] = useState(false); + // derived values + const productUpdatesLink = getProductUpdatesLink(); const handleCrispWindowShow = () => { toggleIntercom(!isIntercomToggle); @@ -138,7 +142,7 @@ export const SidebarHelpSection: React.FC = observer( What's new From 753f0fd28ed81e994fa04ddb45f228770f75609e Mon Sep 17 00:00:00 2001 From: sriram veeraghanta Date: Tue, 3 Dec 2024 13:27:12 +0530 Subject: [PATCH 2/2] fix: iframe embed for changelog --- packages/types/src/instance/base.d.ts | 1 + web/ce/helpers/dashboard.helper.ts | 2 - web/core/components/common/logo.tsx | 8 +-- .../global/product-updates/modal.tsx | 55 +++---------------- .../workspace/sidebar/help-section.tsx | 20 +++---- 5 files changed, 21 insertions(+), 65 deletions(-) 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/ce/helpers/dashboard.helper.ts b/web/ce/helpers/dashboard.helper.ts index 5e7de424ef8..b2fba63adb0 100644 --- a/web/ce/helpers/dashboard.helper.ts +++ b/web/ce/helpers/dashboard.helper.ts @@ -3,5 +3,3 @@ import { TSidebarUserMenuItemKeys } from "@/plane-web/types/dashboard"; // eslint-disable-next-line @typescript-eslint/no-unused-vars export const isUserFeatureEnabled = (featureKey: TSidebarUserMenuItemKeys) => true; - -export const getProductUpdatesLink = () => "https://plane.so/changelog/community"; 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 !== "" ? ( +