|
|
@ -15,7 +15,15 @@ import CopyIcon from "../icons/copy.svg";
|
|
|
|
import { DEFAULT_MASK_AVATAR, Mask, useMaskStore } from "../store/mask";
|
|
|
|
import { DEFAULT_MASK_AVATAR, Mask, useMaskStore } from "../store/mask";
|
|
|
|
import { ChatMessage, ModelConfig, useAppConfig, useChatStore } from "../store";
|
|
|
|
import { ChatMessage, ModelConfig, useAppConfig, useChatStore } from "../store";
|
|
|
|
import { ROLES } from "../client/api";
|
|
|
|
import { ROLES } from "../client/api";
|
|
|
|
import { Input, List, ListItem, Modal, Popover, Select } from "./ui-lib";
|
|
|
|
import {
|
|
|
|
|
|
|
|
Input,
|
|
|
|
|
|
|
|
List,
|
|
|
|
|
|
|
|
ListItem,
|
|
|
|
|
|
|
|
Modal,
|
|
|
|
|
|
|
|
Popover,
|
|
|
|
|
|
|
|
Select,
|
|
|
|
|
|
|
|
showConfirm,
|
|
|
|
|
|
|
|
} from "./ui-lib";
|
|
|
|
import { Avatar, AvatarPicker } from "./emoji";
|
|
|
|
import { Avatar, AvatarPicker } from "./emoji";
|
|
|
|
import Locale, { AllLangs, ALL_LANG_OPTIONS, Lang } from "../locales";
|
|
|
|
import Locale, { AllLangs, ALL_LANG_OPTIONS, Lang } from "../locales";
|
|
|
|
import { useNavigate } from "react-router-dom";
|
|
|
|
import { useNavigate } from "react-router-dom";
|
|
|
@ -125,10 +133,10 @@ export function MaskConfig(props: {
|
|
|
|
<input
|
|
|
|
<input
|
|
|
|
type="checkbox"
|
|
|
|
type="checkbox"
|
|
|
|
checked={props.mask.syncGlobalConfig}
|
|
|
|
checked={props.mask.syncGlobalConfig}
|
|
|
|
onChange={(e) => {
|
|
|
|
onChange={async (e) => {
|
|
|
|
if (
|
|
|
|
if (
|
|
|
|
e.currentTarget.checked &&
|
|
|
|
e.currentTarget.checked &&
|
|
|
|
confirm(Locale.Mask.Config.Sync.Confirm)
|
|
|
|
(await showConfirm(Locale.Mask.Config.Sync.Confirm))
|
|
|
|
) {
|
|
|
|
) {
|
|
|
|
props.updateMask((mask) => {
|
|
|
|
props.updateMask((mask) => {
|
|
|
|
mask.syncGlobalConfig = e.currentTarget.checked;
|
|
|
|
mask.syncGlobalConfig = e.currentTarget.checked;
|
|
|
@ -439,8 +447,8 @@ export function MaskPage() {
|
|
|
|
<IconButton
|
|
|
|
<IconButton
|
|
|
|
icon={<DeleteIcon />}
|
|
|
|
icon={<DeleteIcon />}
|
|
|
|
text={Locale.Mask.Item.Delete}
|
|
|
|
text={Locale.Mask.Item.Delete}
|
|
|
|
onClick={() => {
|
|
|
|
onClick={async () => {
|
|
|
|
if (confirm(Locale.Mask.Item.DeleteConfirm)) {
|
|
|
|
if (await showConfirm(Locale.Mask.Item.DeleteConfirm)) {
|
|
|
|
maskStore.delete(m.id);
|
|
|
|
maskStore.delete(m.id);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}}
|
|
|
|
}}
|
|
|
|