|  |  |  | @ -1,7 +1,7 @@ | 
		
	
		
			
				|  |  |  |  | // import { ActionIcon } from '@lobehub/ui';
 | 
		
	
		
			
				|  |  |  |  | // import { Compass, FolderClosed, MessageSquare } from 'lucide-react';
 | 
		
	
		
			
				|  |  |  |  | import { ActionIcon } from '@lobehub/ui'; | 
		
	
		
			
				|  |  |  |  | import { Compass, FolderClosed, MessageSquare } from 'lucide-react'; | 
		
	
		
			
				|  |  |  |  | import Link from 'next/link'; | 
		
	
		
			
				|  |  |  |  | import {memo, useState} from 'react'; | 
		
	
		
			
				|  |  |  |  | import {memo, useEffect, useState} from 'react'; | 
		
	
		
			
				|  |  |  |  | import { useTranslation } from 'react-i18next'; | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  | import { useGlobalStore } from '@/store/global'; | 
		
	
	
		
			
				
					|  |  |  | @ -10,20 +10,17 @@ import { featureFlagsSelectors, useServerConfigStore } from '@/store/serverConfi | 
		
	
		
			
				|  |  |  |  | import { useSessionStore } from '@/store/session'; | 
		
	
		
			
				|  |  |  |  | import { useUserStore } from '@/store/user'; | 
		
	
		
			
				|  |  |  |  | import { createStyles } from 'antd-style'; | 
		
	
		
			
				|  |  |  |  | import { Image } from "antd"; | 
		
	
		
			
				|  |  |  |  | import {Button, Image} from "antd"; | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  | const useStyles = createStyles(({ css }) => ({ | 
		
	
		
			
				|  |  |  |  |   iconImg: css` | 
		
	
		
			
				|  |  |  |  |     width: 48px; | 
		
	
		
			
				|  |  |  |  |     height: 48px; | 
		
	
		
			
				|  |  |  |  |   `,
 | 
		
	
		
			
				|  |  |  |  | const useStyles = createStyles(({ css, token }) => ({ | 
		
	
		
			
				|  |  |  |  |   iconText: css` | 
		
	
		
			
				|  |  |  |  |     text-align: center; | 
		
	
		
			
				|  |  |  |  |     color: #fff; | 
		
	
		
			
				|  |  |  |  |   `,
 | 
		
	
		
			
				|  |  |  |  |   iconSelectText: css` | 
		
	
		
			
				|  |  |  |  |     color: #0044FF; | 
		
	
		
			
				|  |  |  |  |   iconImg: css` | 
		
	
		
			
				|  |  |  |  |     width: 48px; | 
		
	
		
			
				|  |  |  |  |     height: 48px; | 
		
	
		
			
				|  |  |  |  |   `,
 | 
		
	
		
			
				|  |  |  |  |   linkUrl: css` | 
		
	
		
			
				|  |  |  |  |     width: 100%; | 
		
	
	
		
			
				
					|  |  |  | @ -32,26 +29,34 @@ const useStyles = createStyles(({ css }) => ({ | 
		
	
		
			
				|  |  |  |  |   linkclic: css` | 
		
	
		
			
				|  |  |  |  |     background-color: #fff; | 
		
	
		
			
				|  |  |  |  |   `,
 | 
		
	
		
			
				|  |  |  |  |   iconSelectText: css` | 
		
	
		
			
				|  |  |  |  |     color: #0044FF; | 
		
	
		
			
				|  |  |  |  |   `,
 | 
		
	
		
			
				|  |  |  |  | })); | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  | export interface TopActionProps { | 
		
	
		
			
				|  |  |  |  |   tab?: SidebarTabKey; | 
		
	
		
			
				|  |  |  |  | } | 
		
	
		
			
				|  |  |  |  | const getUserId = (s) => s.user?.id | 
		
	
		
			
				|  |  |  |  | const TopActions = memo<TopActionProps>(() => { | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  | const TopActions = memo<TopActionProps>(({ tab }) => { | 
		
	
		
			
				|  |  |  |  |   const { t } = useTranslation('common'); | 
		
	
		
			
				|  |  |  |  |   const switchBackToChat = useGlobalStore((s) => s.switchBackToChat); | 
		
	
		
			
				|  |  |  |  |   const { showMarket, enableKnowledgeBase } = useServerConfigStore(featureFlagsSelectors); | 
		
	
		
			
				|  |  |  |  |   const { styles, cx } = useStyles() | 
		
	
		
			
				|  |  |  |  |   const [value, setValue] = useState("chat") | 
		
	
		
			
				|  |  |  |  |   const getUserId = (s: UserStore) => s.user?.id | 
		
	
		
			
				|  |  |  |  |   const userId = getUserId(useUserStore.getState()) | 
		
	
		
			
				|  |  |  |  |   console.log(userId,'3837373266262266') | 
		
	
		
			
				|  |  |  |  |   const testFuc = (s: UserStore) => { | 
		
	
		
			
				|  |  |  |  |     console.log(s,'999999999') | 
		
	
		
			
				|  |  |  |  |   } | 
		
	
		
			
				|  |  |  |  |   testFuc(useUserStore.getState()) | 
		
	
		
			
				|  |  |  |  |   return ( | 
		
	
		
			
				|  |  |  |  |     <div style={{ textAlign: 'center', width: '100%'}}> | 
		
	
		
			
				|  |  |  |  |     <div style={{ width: '100%', textAlign: 'center'}}> | 
		
	
		
			
				|  |  |  |  |       <Link | 
		
	
		
			
				|  |  |  |  |         aria-label={t('tab.chat')} | 
		
	
		
			
				|  |  |  |  |         className={value === '/chat' ? cx(styles.linkUrl, styles.linkclic) : cx(styles.linkUrl)} | 
		
	
		
			
				|  |  |  |  |         href={'/chat'} | 
		
	
		
			
				|  |  |  |  |         className={value == '/chat' ? cx(styles.linkUrl, styles.linkclic) : cx(styles.linkUrl)} | 
		
	
		
			
				|  |  |  |  |         onClick={(e) => { | 
		
	
		
			
				|  |  |  |  |           e.preventDefault(); | 
		
	
		
			
				|  |  |  |  |           setValue("/chat") | 
		
	
	
		
			
				
					|  |  |  | @ -60,48 +65,48 @@ const TopActions = memo<TopActionProps>(() => { | 
		
	
		
			
				|  |  |  |  |         }} | 
		
	
		
			
				|  |  |  |  |       > | 
		
	
		
			
				|  |  |  |  |           <Image alt={"chat"} className={cx(styles.iconImg)} preview={false} src="/images/hh.png" /> | 
		
	
		
			
				|  |  |  |  |           <div className={value === '/chat' ? cx(styles.iconText, styles.iconSelectText) : cx(styles.iconText) }>会话</div> | 
		
	
		
			
				|  |  |  |  |           <div className={value == '/chat' ? cx(styles.iconText, styles.iconSelectText) : cx(styles.iconText) }>会话</div> | 
		
	
		
			
				|  |  |  |  |       </Link> | 
		
	
		
			
				|  |  |  |  |       {enableKnowledgeBase && ( | 
		
	
		
			
				|  |  |  |  |         <Link aria-label={t('tab.files')}  className={value === '/discover/assistants' ? cx(styles.linkUrl, styles.linkclic) : cx(styles.linkUrl)} href={`/discover/assistants?userid=${userId}`} onClick={() => {setValue("/discover/assistants"); window.localStorage.setItem("nowChat", "")}}> | 
		
	
		
			
				|  |  |  |  |         <Link className={value == '/discover/assistants' ? cx(styles.linkUrl, styles.linkclic) : cx(styles.linkUrl)} aria-label={t('tab.files')} href={`/discover/assistants?userid=${userId}`} onClick={() => {setValue("/discover/assistants"); window.localStorage.setItem("nowChat", "")}}> | 
		
	
		
			
				|  |  |  |  |           <Image alt={"files"} className={cx(styles.iconImg)} preview={false} src="/images/zs.png" /> | 
		
	
		
			
				|  |  |  |  |           <div className={value === '/discover/assistants' ? cx(styles.iconText, styles.iconSelectText) : cx(styles.iconText) }>助手</div> | 
		
	
		
			
				|  |  |  |  |           <div className={value == '/discover/assistants' ? cx(styles.iconText, styles.iconSelectText) : cx(styles.iconText) }>助手</div> | 
		
	
		
			
				|  |  |  |  |         </Link> | 
		
	
		
			
				|  |  |  |  |       )} | 
		
	
		
			
				|  |  |  |  |       {showMarket && ( | 
		
	
		
			
				|  |  |  |  |         <Link aria-label={t('tab.discover')} className={value === '/files' ? cx(styles.linkUrl, styles.linkclic) : cx(styles.linkUrl)} href={'/files'} onClick={() => {setValue("/files");  window.localStorage.setItem("nowChat", "")}}> | 
		
	
		
			
				|  |  |  |  |         <Link className={value == '/files' ? cx(styles.linkUrl, styles.linkclic) : cx(styles.linkUrl)} aria-label={t('tab.discover')} href={'/files'} onClick={() => {setValue("/files");  window.localStorage.setItem("nowChat", "")}}> | 
		
	
		
			
				|  |  |  |  |           <Image alt={"discover"} className={cx(styles.iconImg)} preview={false} src="/images/gj.png" /> | 
		
	
		
			
				|  |  |  |  |           <div className={value === '/files' ? cx(styles.iconText, styles.iconSelectText) : cx(styles.iconText) }>工具</div> | 
		
	
		
			
				|  |  |  |  |           <div className={value == '/files' ? cx(styles.iconText, styles.iconSelectText) : cx(styles.iconText) }>工具</div> | 
		
	
		
			
				|  |  |  |  |         </Link> | 
		
	
		
			
				|  |  |  |  |       )} | 
		
	
		
			
				|  |  |  |  |       {showMarket && ( | 
		
	
		
			
				|  |  |  |  |         <Link aria-label={t('tab.Model')} className={value === '/model' ? cx(styles.linkUrl, styles.linkclic) : cx(styles.linkUrl)} href={`/discover/models?userid=${userId}`} onClick={() => {setValue("/model");  window.localStorage.setItem("nowChat", "")}}> | 
		
	
		
			
				|  |  |  |  |         <Link className={value == '/model' ? cx(styles.linkUrl, styles.linkclic) : cx(styles.linkUrl)} aria-label={t('tab.Model')} href={`/discover/models?userid=${userId}`} onClick={() => {setValue("/model");  window.localStorage.setItem("nowChat", "")}}> | 
		
	
		
			
				|  |  |  |  |           <Image alt={"model"} className={cx(styles.iconImg)} preview={false} src="/images/mx.png" /> | 
		
	
		
			
				|  |  |  |  |           <div className={value === '/model' ? cx(styles.iconText, styles.iconSelectText) : cx(styles.iconText) }>模型</div> | 
		
	
		
			
				|  |  |  |  |           <div className={value == '/model' ? cx(styles.iconText, styles.iconSelectText) : cx(styles.iconText) }>模型</div> | 
		
	
		
			
				|  |  |  |  |         </Link> | 
		
	
		
			
				|  |  |  |  |       )} | 
		
	
		
			
				|  |  |  |  |       {showMarket && ( | 
		
	
		
			
				|  |  |  |  |         <Link aria-label={t('tab.robot')} className={value === '/robot' ? cx(styles.linkUrl, styles.linkclic) : cx(styles.linkUrl)} href={'/robot'} onClick={() => {setValue("/robot");  window.localStorage.setItem("nowChat", "")}}> | 
		
	
		
			
				|  |  |  |  |         <Link className={value == '/robot' ? cx(styles.linkUrl, styles.linkclic) : cx(styles.linkUrl)} aria-label={t('tab.robot')} href={'/robot'} onClick={() => {setValue("/robot");  window.localStorage.setItem("nowChat", "")}}> | 
		
	
		
			
				|  |  |  |  |           <Image alt={"robot"} className={cx(styles.iconImg)} preview={false} src="/images/szr.png" /> | 
		
	
		
			
				|  |  |  |  |           <div className={value === '/robot' ? cx(styles.iconText, styles.iconSelectText) : cx(styles.iconText) }>数字人</div> | 
		
	
		
			
				|  |  |  |  |           <div className={value == '/robot' ? cx(styles.iconText, styles.iconSelectText) : cx(styles.iconText) }>数字人</div> | 
		
	
		
			
				|  |  |  |  |         </Link> | 
		
	
		
			
				|  |  |  |  |       )} | 
		
	
		
			
				|  |  |  |  |       {showMarket && ( | 
		
	
		
			
				|  |  |  |  |         <Link aria-label={t('tab.Plugins')} className={value === '/plugins' ? cx(styles.linkUrl, styles.linkclic) : cx(styles.linkUrl)} href={`/discover/plugins?userid=${userId}`} onClick={() => {setValue("/plugins");  window.localStorage.setItem("nowChat", "")}}> | 
		
	
		
			
				|  |  |  |  |         <Link className={value == '/plugins' ? cx(styles.linkUrl, styles.linkclic) : cx(styles.linkUrl)} aria-label={t('tab.Plugins')} href={`/discover/plugins?userid=${userId}`} onClick={() => {setValue("/plugins");  window.localStorage.setItem("nowChat", "")}}> | 
		
	
		
			
				|  |  |  |  |           <Image alt={"plugins"} className={cx(styles.iconImg)} preview={false} src="/images/cj.png" /> | 
		
	
		
			
				|  |  |  |  |           <div className={value === '/plugins' ? cx(styles.iconText, styles.iconSelectText) : cx(styles.iconText) }>插件</div> | 
		
	
		
			
				|  |  |  |  |           <div className={value == '/plugins' ? cx(styles.iconText, styles.iconSelectText) : cx(styles.iconText) }>插件</div> | 
		
	
		
			
				|  |  |  |  |         </Link> | 
		
	
		
			
				|  |  |  |  |       )} | 
		
	
		
			
				|  |  |  |  |       {showMarket && ( | 
		
	
		
			
				|  |  |  |  |         <Link aria-label={t('tab.Power')} className={value === '/power' ? cx(styles.linkUrl, styles.linkclic) : cx(styles.linkUrl)} href={'/power'} onClick={() => {setValue("/power");  window.localStorage.setItem("nowChat", "")}}> | 
		
	
		
			
				|  |  |  |  |         <Link className={value == '/power' ? cx(styles.linkUrl, styles.linkclic) : cx(styles.linkUrl)} aria-label={t('tab.Power')} href={'/power'} onClick={() => {setValue("/power");  window.localStorage.setItem("nowChat", "")}}> | 
		
	
		
			
				|  |  |  |  |           <Image alt={"power"} className={cx(styles.iconImg)} preview={false} src="/images/sl.png" /> | 
		
	
		
			
				|  |  |  |  |           <div className={value === '/power' ? cx(styles.iconText, styles.iconSelectText) : cx(styles.iconText) }>算力</div> | 
		
	
		
			
				|  |  |  |  |           <div className={value == '/power' ? cx(styles.iconText, styles.iconSelectText) : cx(styles.iconText) }>算力</div> | 
		
	
		
			
				|  |  |  |  |         </Link> | 
		
	
		
			
				|  |  |  |  |       )} | 
		
	
		
			
				|  |  |  |  |       {showMarket && ( | 
		
	
		
			
				|  |  |  |  |         <Link aria-label={t('tab.knowledge')} className={value === '/knowledge' ? cx(styles.linkUrl, styles.linkclic) : cx(styles.linkUrl)} href={'/knowledge'} onClick={() => {setValue("/knowledge")}}> | 
		
	
		
			
				|  |  |  |  |         <Link className={value == '/knowledge' ? cx(styles.linkUrl, styles.linkclic) : cx(styles.linkUrl)} aria-label={t('tab.knowledge')} href={'/knowledge'} onClick={() => {setValue("/knowledge")}}> | 
		
	
		
			
				|  |  |  |  |           <Image className={cx(styles.iconImg)} preview={false} src="/images/zsk.png" /> | 
		
	
		
			
				|  |  |  |  |           <div className={value === '/knowledge' ? cx(styles.iconText, styles.iconSelectText) : cx(styles.iconText) }>知识库</div> | 
		
	
		
			
				|  |  |  |  |           <div className={value == '/knowledge' ? cx(styles.iconText, styles.iconSelectText) : cx(styles.iconText) }>知识库</div> | 
		
	
		
			
				|  |  |  |  |         </Link> | 
		
	
		
			
				|  |  |  |  |       )} | 
		
	
		
			
				|  |  |  |  |     </div> | 
		
	
	
		
			
				
					|  |  |  | 
 |