add clean button

This commit is contained in:
Zhang Minghan 2023-10-26 23:21:57 +08:00
parent 741e7c4d1b
commit 0b282dff85
4 changed files with 53 additions and 8 deletions

32
app/pnpm-lock.yaml generated
View File

@ -20,6 +20,9 @@ dependencies:
'@radix-ui/react-label': '@radix-ui/react-label':
specifier: ^2.0.2 specifier: ^2.0.2
version: 2.0.2(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0) version: 2.0.2(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0)
'@radix-ui/react-scroll-area':
specifier: ^1.0.5
version: 1.0.5(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0)
'@radix-ui/react-select': '@radix-ui/react-select':
specifier: ^2.0.0 specifier: ^2.0.0
version: 2.0.0(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0) version: 2.0.0(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0)
@ -2168,6 +2171,35 @@ packages:
react-dom: 18.2.0(react@18.2.0) react-dom: 18.2.0(react@18.2.0)
dev: false dev: false
/@radix-ui/react-scroll-area@1.0.5(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-b6PAgH4GQf9QEn8zbT2XUHpW5z8BzqEc7Kl11TwDrvuTrxlkcjTD5qa/bxgKr+nmuXKu4L/W5UZ4mlP/VG/5Gw==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
react: ^16.8 || ^17.0 || ^18.0
react-dom: ^16.8 || ^17.0 || ^18.0
peerDependenciesMeta:
'@types/react':
optional: true
'@types/react-dom':
optional: true
dependencies:
'@babel/runtime': 7.23.2
'@radix-ui/number': 1.0.1
'@radix-ui/primitive': 1.0.1
'@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.33)(react@18.2.0)
'@radix-ui/react-context': 1.0.1(@types/react@18.2.33)(react@18.2.0)
'@radix-ui/react-direction': 1.0.1(@types/react@18.2.33)(react@18.2.0)
'@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0)
'@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0)
'@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.33)(react@18.2.0)
'@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.33)(react@18.2.0)
'@types/react': 18.2.33
'@types/react-dom': 18.2.14
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
dev: false
/@radix-ui/react-select@2.0.0(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0): /@radix-ui/react-select@2.0.0(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-RH5b7af4oHtkcHS7pG6Sgv5rk5Wxa7XI8W5gvB1N/yiuDGZxko1ynvOiVhFM7Cis2A8zxF9bTOUVbRDzPepe6w==} resolution: {integrity: sha512-RH5b7af4oHtkcHS7pG6Sgv5rk5Wxa7XI8W5gvB1N/yiuDGZxko1ynvOiVhFM7Cis2A8zxF9bTOUVbRDzPepe6w==}
peerDependencies: peerDependencies:

View File

@ -85,10 +85,15 @@
} }
.editor-toolbar { .editor-toolbar {
display: grid; display: flex;
grid-auto-flow: column; width: 100%;
align-items: flex-end; margin: 8px 0 4px;
gap: 4px;
width: max-content; & > * {
margin: 4px 0 4px auto; margin-right: 4px;
&:last-child {
margin-right: 0;
}
}
} }

View File

@ -6,7 +6,7 @@ import {
DialogTitle, DialogTitle,
DialogTrigger, DialogTrigger,
} from "./ui/dialog.tsx"; } from "./ui/dialog.tsx";
import { Maximize, Image, MenuSquare, PanelRight } from "lucide-react"; import {Maximize, Image, MenuSquare, PanelRight, XSquare} from "lucide-react";
import { useTranslation } from "react-i18next"; import { useTranslation } from "react-i18next";
import "../assets/editor.less"; import "../assets/editor.less";
import { Textarea } from "./ui/textarea.tsx"; import { Textarea } from "./ui/textarea.tsx";
@ -14,6 +14,7 @@ import Markdown from "./Markdown.tsx";
import { useEffect, useRef, useState } from "react"; import { useEffect, useRef, useState } from "react";
import { Toggle } from "./ui/toggle.tsx"; import { Toggle } from "./ui/toggle.tsx";
import { mobile } from "../utils.ts"; import { mobile } from "../utils.ts";
import {Button} from "./ui/button.tsx";
type RichEditorProps = { type RichEditorProps = {
value: string; value: string;
@ -64,6 +65,13 @@ function RichEditor({
return ( return (
<div className={`editor-container`}> <div className={`editor-container`}>
<div className={`editor-toolbar`}> <div className={`editor-toolbar`}>
<Button
variant={`outline`}
className={`h-8 w-8 p-0`}
onClick={() => value && onChange("")}
>
<XSquare className={`h-3.5 w-3.5`} />
</Button>
<div className={`grow`} /> <div className={`grow`} />
<Toggle <Toggle
variant={`outline`} variant={`outline`}

View File

@ -1,7 +1,7 @@
import axios from "axios"; import axios from "axios";
import { Model } from "./conversation/types.ts"; import { Model } from "./conversation/types.ts";
export const version = "3.5.17"; export const version = "3.5.18";
export const dev: boolean = window.location.hostname === "localhost"; export const dev: boolean = window.location.hostname === "localhost";
export const deploy: boolean = true; export const deploy: boolean = true;
export let rest_api: string = "http://localhost:8094"; export let rest_api: string = "http://localhost:8094";