feat: Add BetaTag to Copilot resume chat label in SettingsOther component

This commit is contained in:
n4ze3m 2024-05-25 10:16:13 +05:30
parent 3104409558
commit 014565a14e
3 changed files with 120 additions and 121 deletions

View File

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

View File

@ -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"
/> />

View File

@ -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)}