From c794ecf10151db59120a767f75c27b6386b3db0c Mon Sep 17 00:00:00 2001 From: NFish Date: Tue, 18 Mar 2025 14:54:18 +0800 Subject: [PATCH] fix: user can edit webapp copyright info only if webapp_copyright_enabled is true --- .../app/overview/settings/index.tsx | 39 ++++++++++--------- web/app/components/billing/type.ts | 1 + web/context/provider-context.tsx | 6 +++ 3 files changed, 27 insertions(+), 19 deletions(-) diff --git a/web/app/components/app/overview/settings/index.tsx b/web/app/components/app/overview/settings/index.tsx index 1615173578..62f3fb5a74 100644 --- a/web/app/components/app/overview/settings/index.tsx +++ b/web/app/components/app/overview/settings/index.tsx @@ -30,7 +30,6 @@ import I18n from '@/context/i18n' import cn from '@/utils/classnames' import { useGlobalPublicStore } from '@/context/global-public-context' import { IS_CE_EDITION } from '@/config' -import { LicenseStatus } from '@/types/feature' export type ISettingsModalProps = { isChat: boolean @@ -113,7 +112,7 @@ const SettingsModal: FC = ({ : { type: 'emoji', icon, background: icon_background! }, ) - const { enableBilling, plan } = useProviderContext() + const { enableBilling, plan, webappCopyrightEnabled } = useProviderContext() const { setShowPricingModal, setShowAccountSettingModal } = useModalContext() const isFreePlan = plan.type === 'sandbox' const handlePlanClick = useCallback(() => { @@ -383,14 +382,14 @@ const SettingsModal: FC = ({ )} {t(`${prefixSettings}.more.copyrightTooltip`)} +
{t(`${prefixSettings}.more.copyrightTooltip`)}
} asChild={false} > setInputInfo({ ...inputInfo, copyrightSwitchValue: v })} /> @@ -442,20 +441,22 @@ const SettingsModal: FC = ({ - {showAppIconPicker && ( - { - setAppIcon(payload) - setShowAppIconPicker(false) - }} - onClose={() => { - setAppIcon(icon_type === 'image' - ? { type: 'image', url: icon_url!, fileId: icon } - : { type: 'emoji', icon, background: icon_background! }) - setShowAppIconPicker(false) - }} - /> - )} + { + showAppIconPicker && ( + { + setAppIcon(payload) + setShowAppIconPicker(false) + }} + onClose={() => { + setAppIcon(icon_type === 'image' + ? { type: 'image', url: icon_url!, fileId: icon } + : { type: 'emoji', icon, background: icon_background! }) + setShowAppIconPicker(false) + }} + /> + ) + } ) diff --git a/web/app/components/billing/type.ts b/web/app/components/billing/type.ts index d78eab2ae3..924aabcdfc 100644 --- a/web/app/components/billing/type.ts +++ b/web/app/components/billing/type.ts @@ -67,6 +67,7 @@ export type CurrentPlanInfoBackend = { can_replace_logo: boolean model_load_balancing_enabled: boolean dataset_operator_enabled: boolean + webapp_copyright_enabled: boolean } export type SubscriptionItem = { diff --git a/web/context/provider-context.tsx b/web/context/provider-context.tsx index 75747ba79c..812d90b777 100644 --- a/web/context/provider-context.tsx +++ b/web/context/provider-context.tsx @@ -35,6 +35,7 @@ type ProviderContextState = { enableReplaceWebAppLogo: boolean modelLoadBalancingEnabled: boolean datasetOperatorEnabled: boolean + webappCopyrightEnabled: boolean } const ProviderContext = createContext({ modelProviders: [], @@ -64,6 +65,7 @@ const ProviderContext = createContext({ enableReplaceWebAppLogo: false, modelLoadBalancingEnabled: false, datasetOperatorEnabled: false, + webappCopyrightEnabled: false, }) export const useProviderContext = () => useContext(ProviderContext) @@ -91,6 +93,7 @@ export const ProviderContextProvider = ({ const [enableReplaceWebAppLogo, setEnableReplaceWebAppLogo] = useState(false) const [modelLoadBalancingEnabled, setModelLoadBalancingEnabled] = useState(false) const [datasetOperatorEnabled, setDatasetOperatorEnabled] = useState(false) + const [webappCopyrightEnabled, setWebappCopyrightEnabled] = useState(false) const fetchPlan = async () => { const data = await fetchCurrentPlanInfo() @@ -105,6 +108,8 @@ export const ProviderContextProvider = ({ setModelLoadBalancingEnabled(true) if (data.dataset_operator_enabled) setDatasetOperatorEnabled(true) + if (data.webapp_copyright_enabled) + setWebappCopyrightEnabled(true) } useEffect(() => { fetchPlan() @@ -123,6 +128,7 @@ export const ProviderContextProvider = ({ enableReplaceWebAppLogo, modelLoadBalancingEnabled, datasetOperatorEnabled, + webappCopyrightEnabled, }}> {children}