feat: Add BetaTag to Copilot resume chat label in SettingsOther component
This commit is contained in:
		
							parent
							
								
									3104409558
								
							
						
					
					
						commit
						014565a14e
					
				| @ -10,7 +10,6 @@ import { useTranslation } from "react-i18next" | |||||||
| import { Link, useLocation } from "react-router-dom" | import { Link, useLocation } from "react-router-dom" | ||||||
| import { OllamaIcon } from "../Icons/Ollama" | import { OllamaIcon } from "../Icons/Ollama" | ||||||
| import { Tag } from "antd" | import { Tag } from "antd" | ||||||
| import { BetaTag } from "../Common/Beta" |  | ||||||
| 
 | 
 | ||||||
| function classNames(...classes: string[]) { | function classNames(...classes: string[]) { | ||||||
|   return classes.filter(Boolean).join(" ") |   return classes.filter(Boolean).join(" ") | ||||||
| @ -82,7 +81,6 @@ export const SettingsLayout = ({ children }: { children: React.ReactNode }) => { | |||||||
|                 name={ |                 name={ | ||||||
|                   <div className="inline-flex items-center gap-2"> |                   <div className="inline-flex items-center gap-2"> | ||||||
|                     {t("manageKnowledge.title")} |                     {t("manageKnowledge.title")} | ||||||
|                     <BetaTag /> |  | ||||||
|                   </div> |                   </div> | ||||||
|                 } |                 } | ||||||
|                 icon={BlocksIcon} |                 icon={BlocksIcon} | ||||||
|  | |||||||
| @ -91,125 +91,123 @@ export const ModelsBody = () => { | |||||||
|         {status === "pending" && <Skeleton paragraph={{ rows: 8 }} />} |         {status === "pending" && <Skeleton paragraph={{ rows: 8 }} />} | ||||||
| 
 | 
 | ||||||
|         {status === "success" && ( |         {status === "success" && ( | ||||||
|           <div |           <div className="overflow-x-auto"> | ||||||
|           className="overflow-x-auto" |  | ||||||
|           > |  | ||||||
|             <Table |             <Table | ||||||
|             columns={[ |               columns={[ | ||||||
|               { |                 { | ||||||
|                 title: t("manageModels.columns.name"), |                   title: t("manageModels.columns.name"), | ||||||
|                 dataIndex: "name", |                   dataIndex: "name", | ||||||
|                 key: "name" |                   key: "name" | ||||||
|               }, |                 }, | ||||||
|               { |                 { | ||||||
|                 title: t("manageModels.columns.digest"), |                   title: t("manageModels.columns.digest"), | ||||||
|                 dataIndex: "digest", |                   dataIndex: "digest", | ||||||
|                 key: "digest", |                   key: "digest", | ||||||
|                 render: (text: string) => ( |                   render: (text: string) => ( | ||||||
|                   <Tooltip title={text}> |                     <Tooltip title={text}> | ||||||
|                     <Tag |                       <Tag | ||||||
|                       className="cursor-pointer" |                         className="cursor-pointer" | ||||||
|                       color="blue">{`${text?.slice(0, 5)}...${text?.slice(-4)}`}</Tag> |                         color="blue">{`${text?.slice(0, 5)}...${text?.slice(-4)}`}</Tag> | ||||||
|                   </Tooltip> |                     </Tooltip> | ||||||
|                 ) |                   ) | ||||||
|               }, |                 }, | ||||||
|               { |                 { | ||||||
|                 title: t("manageModels.columns.modifiedAt"), |                   title: t("manageModels.columns.modifiedAt"), | ||||||
|                 dataIndex: "modified_at", |                   dataIndex: "modified_at", | ||||||
|                 key: "modified_at", |                   key: "modified_at", | ||||||
|                 render: (text: string) => dayjs(text).fromNow(true) |                   render: (text: string) => dayjs(text).fromNow(true) | ||||||
|               }, |                 }, | ||||||
|               { |                 { | ||||||
|                 title: t("manageModels.columns.size"), |                   title: t("manageModels.columns.size"), | ||||||
|                 dataIndex: "size", |                   dataIndex: "size", | ||||||
|                 key: "size", |                   key: "size", | ||||||
|                 render: (text: number) => bytePerSecondFormatter(text) |                   render: (text: number) => bytePerSecondFormatter(text) | ||||||
|               }, |                 }, | ||||||
|               { |                 { | ||||||
|                 title: t("manageModels.columns.actions"), |                   title: t("manageModels.columns.actions"), | ||||||
|                 render: (_, record) => ( |                   render: (_, record) => ( | ||||||
|                   <div className="flex gap-4"> |                     <div className="flex gap-4"> | ||||||
|                     <Tooltip title={t("manageModels.tooltip.delete")}> |                       <Tooltip title={t("manageModels.tooltip.delete")}> | ||||||
|                       <button |                         <button | ||||||
|                         onClick={() => { |                           onClick={() => { | ||||||
|                           if ( |  | ||||||
|                             window.confirm(t("manageModels.confirm.delete")) |  | ||||||
|                           ) { |  | ||||||
|                             deleteOllamaModel(record.model) |  | ||||||
|                             if ( |                             if ( | ||||||
|                               selectedModel && |                               window.confirm(t("manageModels.confirm.delete")) | ||||||
|                               selectedModel === record.model |  | ||||||
|                             ) { |                             ) { | ||||||
|                               setSelectedModel(null) |                               deleteOllamaModel(record.model) | ||||||
|  |                               if ( | ||||||
|  |                                 selectedModel && | ||||||
|  |                                 selectedModel === record.model | ||||||
|  |                               ) { | ||||||
|  |                                 setSelectedModel(null) | ||||||
|  |                               } | ||||||
|                             } |                             } | ||||||
|                           } |                           }} | ||||||
|                         }} |                           className="text-red-500 dark:text-red-400"> | ||||||
|                         className="text-red-500 dark:text-red-400"> |                           <Trash2 className="w-5 h-5" /> | ||||||
|                         <Trash2 className="w-5 h-5" /> |                         </button> | ||||||
|                       </button> |                       </Tooltip> | ||||||
|                     </Tooltip> |                       <Tooltip title={t("manageModels.tooltip.repull")}> | ||||||
|                     <Tooltip title={t("manageModels.tooltip.repull")}> |                         <button | ||||||
|                       <button |                           onClick={() => { | ||||||
|                         onClick={() => { |                             if ( | ||||||
|                           if ( |                               window.confirm(t("manageModels.confirm.repull")) | ||||||
|                             window.confirm(t("manageModels.confirm.repull")) |                             ) { | ||||||
|                           ) { |                               pullOllamaModel(record.model) | ||||||
|                             pullOllamaModel(record.model) |                             } | ||||||
|                           } |                           }} | ||||||
|                         }} |                           className="text-gray-500 dark:text-gray-400"> | ||||||
|                         className="text-gray-500 dark:text-gray-400"> |                           <RotateCcw className="w-5 h-5" /> | ||||||
|                         <RotateCcw className="w-5 h-5" /> |                         </button> | ||||||
|                       </button> |                       </Tooltip> | ||||||
|                     </Tooltip> |                     </div> | ||||||
|                   </div> |                   ) | ||||||
|                 ) |                 } | ||||||
|               } |               ]} | ||||||
|             ]} |               expandable={{ | ||||||
|             expandable={{ |                 expandedRowRender: (record) => ( | ||||||
|               expandedRowRender: (record) => ( |                   <Table | ||||||
|                 <Table |                     pagination={false} | ||||||
|                   pagination={false} |                     columns={[ | ||||||
|                   columns={[ |                       { | ||||||
|                     { |                         title: t("manageModels.expandedColumns.parentModel"), | ||||||
|                       title: t("manageModels.expandedColumns.parentModel"), |                         key: "parent_model", | ||||||
|                       key: "parent_model", |                         dataIndex: "parent_model" | ||||||
|                       dataIndex: "parent_model" |                       }, | ||||||
|                     }, |                       { | ||||||
|                     { |                         title: t("manageModels.expandedColumns.format"), | ||||||
|                       title: t("manageModels.expandedColumns.format"), |                         key: "format", | ||||||
|                       key: "format", |                         dataIndex: "format" | ||||||
|                       dataIndex: "format" |                       }, | ||||||
|                     }, |                       { | ||||||
|                     { |                         title: t("manageModels.expandedColumns.family"), | ||||||
|                       title: t("manageModels.expandedColumns.family"), |                         key: "family", | ||||||
|                       key: "family", |                         dataIndex: "family" | ||||||
|                       dataIndex: "family" |                       }, | ||||||
|                     }, |                       { | ||||||
|                     { |                         title: t("manageModels.expandedColumns.parameterSize"), | ||||||
|                       title: t("manageModels.expandedColumns.parameterSize"), |                         key: "parameter_size", | ||||||
|                       key: "parameter_size", |                         dataIndex: "parameter_size" | ||||||
|                       dataIndex: "parameter_size" |                       }, | ||||||
|                     }, |                       { | ||||||
|                     { |                         title: t( | ||||||
|                       title: t( |                           "manageModels.expandedColumns.quantizationLevel" | ||||||
|                         "manageModels.expandedColumns.quantizationLevel" |                         ), | ||||||
|                       ), |                         key: "quantization_level", | ||||||
|                       key: "quantization_level", |                         dataIndex: "quantization_level" | ||||||
|                       dataIndex: "quantization_level" |                       } | ||||||
|                     } |                     ]} | ||||||
|                   ]} |                     dataSource={[record.details]} | ||||||
|                   dataSource={[record.details]} |                     locale={{ | ||||||
|                   locale={{ |                       emptyText: t("common:noData") | ||||||
|                     emptyText: t("common:noData") |                     }} | ||||||
|                   }} |                   /> | ||||||
|                 /> |                 ), | ||||||
|               ), |                 defaultExpandAllRows: false | ||||||
|               defaultExpandAllRows: false |               }} | ||||||
|             }} |               bordered | ||||||
|             bordered |               dataSource={data} | ||||||
|             dataSource={data} |               rowKey={(record) => `${record.model}-${record.digest}`} | ||||||
|             rowKey={(record) => `${record.model}-${record.digest}`} |             /> | ||||||
|           /> |  | ||||||
|           </div> |           </div> | ||||||
|         )} |         )} | ||||||
|       </div> |       </div> | ||||||
| @ -223,6 +221,7 @@ export const ModelsBody = () => { | |||||||
|           onSubmit={form.onSubmit((values) => pullOllamaModel(values.model))}> |           onSubmit={form.onSubmit((values) => pullOllamaModel(values.model))}> | ||||||
|           <Input |           <Input | ||||||
|             {...form.getInputProps("model")} |             {...form.getInputProps("model")} | ||||||
|  |             required | ||||||
|             placeholder={t("manageModels.modal.placeholder")} |             placeholder={t("manageModels.modal.placeholder")} | ||||||
|             size="large" |             size="large" | ||||||
|           /> |           /> | ||||||
|  | |||||||
| @ -86,10 +86,12 @@ export const SettingOther = () => { | |||||||
|         /> |         /> | ||||||
|       </div> |       </div> | ||||||
|       <div className="flex flex-row justify-between"> |       <div className="flex flex-row justify-between"> | ||||||
|         <span className="text-gray-500   dark:text-neutral-50"> |         <div className="inline-flex items-center gap-2"> | ||||||
|           {t("generalSettings.settings.copilotResumeLastChat.label")} |           <BetaTag /> | ||||||
|         </span> |           <span className="text-gray-500   dark:text-neutral-50"> | ||||||
| 
 |             {t("generalSettings.settings.copilotResumeLastChat.label")} | ||||||
|  |           </span> | ||||||
|  |         </div> | ||||||
|         <Switch |         <Switch | ||||||
|           checked={copilotResumeLastChat} |           checked={copilotResumeLastChat} | ||||||
|           onChange={(checked) => setCopilotResumeLastChat(checked)} |           onChange={(checked) => setCopilotResumeLastChat(checked)} | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user