fix: #1130 #1131 delete right session

This commit is contained in:
Yidadaa
2023-05-01 23:21:28 +08:00
parent 0209ace221
commit c37885e743
4 changed files with 58 additions and 58 deletions

View File

@@ -67,7 +67,10 @@ export function ChatItem(props: {
</>
)}
<div className={styles["chat-item-delete"]} onClick={props.onDelete}>
<div
className={styles["chat-item-delete"]}
onClickCapture={props.onDelete}
>
<DeleteIcon />
</div>
</div>
@@ -77,14 +80,14 @@ export function ChatItem(props: {
}
export function ChatList(props: { narrow?: boolean }) {
const [sessions, selectedIndex, selectSession, removeSession, moveSession] =
useChatStore((state) => [
const [sessions, selectedIndex, selectSession, moveSession] = useChatStore(
(state) => [
state.sessions,
state.currentSessionIndex,
state.selectSession,
state.removeSession,
state.moveSession,
]);
],
);
const chatStore = useChatStore();
const navigate = useNavigate();

View File

@@ -138,7 +138,11 @@ export function SideBar(props: { className?: string }) {
<div className={styles["sidebar-action"] + " " + styles.mobile}>
<IconButton
icon={<CloseIcon />}
onClick={chatStore.deleteSession}
onClick={() => {
if (confirm(Locale.Home.DeleteChat)) {
chatStore.deleteSession(chatStore.currentSessionIndex);
}
}}
/>
</div>
<div className={styles["sidebar-action"]}>

View File

@@ -158,6 +158,7 @@ export type ToastProps = {
text: string;
onClick: () => void;
};
onClose?: () => void;
};
export function Toast(props: ToastProps) {
@@ -167,7 +168,10 @@ export function Toast(props: ToastProps) {
<span>{props.content}</span>
{props.action && (
<button
onClick={props.action.onClick}
onClick={() => {
props.action?.onClick?.();
props.onClose?.();
}}
className={styles["toast-action"]}
>
{props.action.text}
@@ -201,7 +205,7 @@ export function showToast(
close();
}, delay);
root.render(<Toast content={content} action={action} />);
root.render(<Toast content={content} action={action} onClose={close} />);
}
export type InputProps = React.HTMLProps<HTMLTextAreaElement> & {