export {}; // import { useState, useEffect, useMemo, HTMLProps, useRef } from "react"; // import styles from "./settings.module.scss"; // import ResetIcon from "../icons/reload.svg"; // import AddIcon from "../icons/add.svg"; // import CloseIcon from "../icons/close.svg"; // import CopyIcon from "../icons/copy.svg"; // import ClearIcon from "../icons/clear.svg"; // import LoadingIcon from "../icons/three-dots.svg"; // import EditIcon from "../icons/edit.svg"; // import EyeIcon from "../icons/eye.svg"; // import { // Input, // List, // ListItem, // Modal, // PasswordInput, // Popover, // Select, // } from "./ui-lib"; // import { ModelConfigList } from "./model-config"; // import { IconButton } from "./button"; // import { // SubmitKey, // useChatStore, // Theme, // useUpdateStore, // useAccessStore, // useAppConfig, // } from "../store"; // import Locale, { // AllLangs, // ALL_LANG_OPTIONS, // changeLang, // getLang, // } from "../locales"; // import { copyToClipboard } from "../utils"; // import Link from "next/link"; // import { Path, UPDATE_URL } from "../constant"; // import { Prompt, SearchService, usePromptStore } from "../store/prompt"; // import { ErrorBoundary } from "./error"; // import { InputRange } from "./input-range"; // import { useNavigate } from "react-router-dom"; // import { Avatar, AvatarPicker } from "./emoji"; // function EditPromptModal(props: { id: number; onClose: () => void }) { // const promptStore = usePromptStore(); // const prompt = promptStore.get(props.id); // return prompt ? ( //
// , // ]} // > //
// // promptStore.update( // props.id, // (prompt) => (prompt.title = e.currentTarget.value), // ) // } // > // // promptStore.update( // props.id, // (prompt) => (prompt.content = e.currentTarget.value), // ) // } // > //
//
//
// ) : null; // } // function UserPromptModal(props: { onClose?: () => void }) { // const promptStore = usePromptStore(); // const userPrompts = promptStore.getUserPrompts(); // const builtinPrompts = SearchService.builtinPrompts; // const allPrompts = userPrompts.concat(builtinPrompts); // const [searchInput, setSearchInput] = useState(""); // const [searchPrompts, setSearchPrompts] = useState([]); // const prompts = searchInput.length > 0 ? searchPrompts : allPrompts; // const [editingPromptId, setEditingPromptId] = useState(); // useEffect(() => { // if (searchInput.length > 0) { // const searchResult = SearchService.search(searchInput); // setSearchPrompts(searchResult); // } else { // setSearchPrompts([]); // } // }, [searchInput]); // return ( //
// props.onClose?.()} // actions={[ // // promptStore.add({ // title: "Empty Prompt", // content: "Empty Prompt Content", // }) // } // icon={} // bordered // text={Locale.Settings.Prompt.Modal.Add} // />, // ]} // > //
// setSearchInput(e.currentTarget.value)} // > //
// {prompts.map((v, _) => ( //
//
//
{v.title}
//
// {v.content} //
//
//
// {v.isUser && ( // } // className={styles["user-prompt-button"]} // onClick={() => promptStore.remove(v.id!)} // /> // )} // {v.isUser ? ( // } // className={styles["user-prompt-button"]} // onClick={() => setEditingPromptId(v.id)} // /> // ) : ( // } // className={styles["user-prompt-button"]} // onClick={() => setEditingPromptId(v.id)} // /> // )} // } // className={styles["user-prompt-button"]} // onClick={() => copyToClipboard(v.content)} // /> //
//
// ))} //
//
//
// {editingPromptId !== undefined && ( // setEditingPromptId(undefined)} // /> // )} //
// ); // } // function formatVersionDate(t: string) { // const d = new Date(+t); // const year = d.getUTCFullYear(); // const month = d.getUTCMonth() + 1; // const day = d.getUTCDate(); // return [ // year.toString(), // month.toString().padStart(2, "0"), // day.toString().padStart(2, "0"), // ].join(""); // } // export function Settings() { // const navigate = useNavigate(); // const [showEmojiPicker, setShowEmojiPicker] = useState(false); // const config = useAppConfig(); // const updateConfig = config.update; // const resetConfig = config.reset; // const chatStore = useChatStore(); // const updateStore = useUpdateStore(); // const [checkingUpdate, setCheckingUpdate] = useState(false); // const currentVersion = formatVersionDate(updateStore.version); // const remoteId = formatVersionDate(updateStore.remoteVersion); // const hasNewVersion = currentVersion !== remoteId; // function checkUpdate(force = false) { // setCheckingUpdate(true); // updateStore.getLatestVersion(force).then(() => { // setCheckingUpdate(false); // }); // console.log( // "[Update] local version ", // new Date(+updateStore.version).toLocaleString(), // ); // console.log( // "[Update] remote version ", // new Date(+updateStore.remoteVersion).toLocaleString(), // ); // } // const usage = { // used: updateStore.used, // subscription: updateStore.subscription, // }; // const [loadingUsage, setLoadingUsage] = useState(false); // function checkUsage(force = false) { // setLoadingUsage(true); // updateStore.updateUsage(force).finally(() => { // setLoadingUsage(false); // }); // } // const accessStore = useAccessStore(); // const enabledAccessControl = useMemo( // () => accessStore.enabledAccessControl(), // // eslint-disable-next-line react-hooks/exhaustive-deps // [], // ); // const promptStore = usePromptStore(); // const builtinCount = SearchService.count.builtin; // const customCount = promptStore.getUserPrompts().length ?? 0; // const [shouldShowPromptModal, setShowPromptModal] = useState(false); // const showUsage = accessStore.isAuthorized(); // useEffect(() => { // // checks per minutes // checkUpdate(); // showUsage && checkUsage(); // // eslint-disable-next-line react-hooks/exhaustive-deps // }, []); // useEffect(() => { // const keydownEvent = (e: KeyboardEvent) => { // if (e.key === "Escape") { // navigate(Path.Home); // } // }; // document.addEventListener("keydown", keydownEvent); // return () => { // document.removeEventListener("keydown", keydownEvent); // }; // // eslint-disable-next-line react-hooks/exhaustive-deps // }, []); // return ( // //
//
//
// {Locale.Settings.Title} //
//
// {Locale.Settings.SubTitle} //
//
//
//
// } // onClick={() => { // if (confirm(Locale.Settings.Actions.ConfirmClearAll)) { // chatStore.clearAllData(); // } // }} // bordered // title={Locale.Settings.Actions.ClearAll} // /> //
//
// } // onClick={() => { // if (confirm(Locale.Settings.Actions.ConfirmResetAll)) { // resetConfig(); // } // }} // bordered // title={Locale.Settings.Actions.ResetAll} // /> //
//
// } // onClick={() => navigate(Path.Home)} // bordered // title={Locale.Settings.Actions.Close} // /> //
//
//
//
// // // setShowEmojiPicker(false)} // content={ // { // updateConfig((config) => (config.avatar = avatar)); // setShowEmojiPicker(false); // }} // /> // } // open={showEmojiPicker} // > //
setShowEmojiPicker(true)} // > // //
//
//
// // {checkingUpdate ? ( // // ) : hasNewVersion ? ( // // {Locale.Settings.Update.GoToUpdate} // // ) : ( // } // text={Locale.Settings.Update.CheckUpdate} // onClick={() => checkUpdate(true)} // /> // )} // // // // // // // // // // // // // updateConfig( // (config) => // (config.fontSize = Number.parseInt(e.currentTarget.value)), // ) // } // > // // // // updateConfig( // (config) => // (config.sendPreviewBubble = e.currentTarget.checked), // ) // } // > // // // // updateConfig( // (config) => // (config.dontShowMaskSplashScreen = // !e.currentTarget.checked), // ) // } // > // //
// // {enabledAccessControl ? ( // // { // accessStore.updateCode(e.currentTarget.value); // }} // /> // // ) : ( // <> // )} // {!accessStore.hideUserApiKey ? ( // // { // accessStore.updateToken(e.currentTarget.value); // }} // /> // // ) : null} // // {!showUsage || loadingUsage ? ( //
// ) : ( // } // text={Locale.Settings.Usage.Check} // onClick={() => checkUsage(true)} // /> // )} // // // // // // updateConfig( // (config) => // (config.disablePromptHint = e.currentTarget.checked), // ) // } // > // // // } // text={Locale.Settings.Prompt.Edit} // onClick={() => setShowPromptModal(true)} // /> // // // // { // const modelConfig = { ...config.modelConfig }; // updater(modelConfig); // config.update((config) => (config.modelConfig = modelConfig)); // }} // /> // // {shouldShowPromptModal && ( // setShowPromptModal(false)} /> // )} //
// // ); // }