| 
					
				 | 
			
			
				@@ -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> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           { 
			 |