feat: web app support some feature (#1753)

This commit is contained in:
zxhlyh
2023-12-13 20:21:11 +08:00
committed by GitHub
parent b5b20234e9
commit eede84eb9e
6 changed files with 29 additions and 13 deletions

View File

@@ -70,17 +70,18 @@ const Main: FC<IMainProps> = ({
const [promptConfig, setPromptConfig] = useState<PromptConfig | null>(null)
const [inited, setInited] = useState<boolean>(false)
const [plan, setPlan] = useState<string>('basic') // basic/plus/pro
const [canReplaceLogo, setCanReplaceLogo] = useState<boolean>(false)
// in mobile, show sidebar by click button
const [isShowSidebar, { setTrue: showSidebar, setFalse: hideSidebar }] = useBoolean(false)
// Can Use metadata(https://beta.nextjs.org/docs/api-reference/metadata) to set title. But it only works in server side client.
useEffect(() => {
if (siteInfo?.title) {
if (plan !== 'basic')
if (canReplaceLogo)
document.title = `${siteInfo.title}`
else
document.title = `${siteInfo.title} - Powered by Dify`
}
}, [siteInfo?.title, plan])
}, [siteInfo?.title, canReplaceLogo])
/*
* conversation info
@@ -363,9 +364,10 @@ const Main: FC<IMainProps> = ({
(async () => {
try {
const [appData, conversationData, appParams]: any = await fetchInitData()
const { app_id: appId, site: siteInfo, plan }: any = appData
const { app_id: appId, site: siteInfo, plan, can_replace_logo }: any = appData
setAppId(appId)
setPlan(plan)
setCanReplaceLogo(can_replace_logo)
const tempIsPublicVersion = siteInfo.prompt_public
setIsPublicVersion(tempIsPublicVersion)
const prompt_template = ''
@@ -733,6 +735,7 @@ const Main: FC<IMainProps> = ({
savedInputs={currInputs as Record<string, any>}
onInputsChange={setCurrInputs}
plan={plan}
canReplaceLogo={canReplaceLogo}
></ConfigSence>
{