chore: button css

This commit is contained in:
Louis 2025-04-22 23:13:11 +07:00
parent e1995a3ccb
commit 5e80587138
No known key found for this signature in database
GPG Key ID: 44FA9F4D33C37DE2
6 changed files with 22 additions and 11 deletions

View File

@ -2,6 +2,7 @@ import { memo, useCallback, useState } from 'react'
import { Button, Modal, ModalClose } from '@janhq/joi' import { Button, Modal, ModalClose } from '@janhq/joi'
import { useSetAtom } from 'jotai' import { useSetAtom } from 'jotai'
import { approvedThreadToolsAtom } from '@/helpers/atoms/Thread.atom' import { approvedThreadToolsAtom } from '@/helpers/atoms/Thread.atom'
export function useTollCallPromiseModal() { export function useTollCallPromiseModal() {
@ -50,8 +51,7 @@ export function useTollCallPromiseModal() {
open={isOpen} open={isOpen}
onOpenChange={(open) => { onOpenChange={(open) => {
setIsOpen(!isOpen) setIsOpen(!isOpen)
if(!open) if (!open) handleCancel()
handleCancel()
}} }}
content={ content={
<div> <div>
@ -63,7 +63,7 @@ export function useTollCallPromiseModal() {
<div className="mt-4 flex justify-end gap-x-2"> <div className="mt-4 flex justify-end gap-x-2">
<ModalClose asChild> <ModalClose asChild>
<Button <Button
theme="primary" theme="ghost" variant="outline"
onClick={() => { onClick={() => {
setApprovedToolsAtom((prev) => { setApprovedToolsAtom((prev) => {
const newState = { ...prev } const newState = { ...prev }
@ -87,12 +87,12 @@ export function useTollCallPromiseModal() {
</Button> </Button>
</ModalClose> </ModalClose>
<ModalClose asChild> <ModalClose asChild>
<Button theme="primary" onClick={handleConfirm} autoFocus> <Button theme="ghost" variant="outline" onClick={handleConfirm} autoFocus>
Allow once Allow once
</Button> </Button>
</ModalClose> </ModalClose>
<ModalClose asChild onClick={handleCancel}> <ModalClose asChild onClick={handleCancel}>
<Button theme="ghost">Deny</Button> <Button theme="destructive">Deny</Button>
</ModalClose> </ModalClose>
</div> </div>
</div> </div>

View File

@ -1,5 +1,12 @@
/* eslint-disable @typescript-eslint/no-explicit-any */ /* eslint-disable @typescript-eslint/no-explicit-any */
import { useCallback, useEffect, useMemo, useRef, ClipboardEvent, useContext } from 'react' import {
useCallback,
useEffect,
useMemo,
useRef,
ClipboardEvent,
useContext,
} from 'react'
import { MessageStatus } from '@janhq/core' import { MessageStatus } from '@janhq/core'
import { useAtom, useAtomValue } from 'jotai' import { useAtom, useAtomValue } from 'jotai'
@ -21,6 +28,8 @@ import { currentPromptAtom } from '@/containers/Providers/Jotai'
import { useActiveModel } from '@/hooks/useActiveModel' import { useActiveModel } from '@/hooks/useActiveModel'
import useSendChatMessage from '@/hooks/useSendChatMessage' import useSendChatMessage from '@/hooks/useSendChatMessage'
import { ChatContext } from '../../ThreadCenterPanel'
import { getCurrentChatMessagesAtom } from '@/helpers/atoms/ChatMessage.atom' import { getCurrentChatMessagesAtom } from '@/helpers/atoms/ChatMessage.atom'
import { selectedModelAtom } from '@/helpers/atoms/Model.atom' import { selectedModelAtom } from '@/helpers/atoms/Model.atom'
@ -28,7 +37,6 @@ import {
getActiveThreadIdAtom, getActiveThreadIdAtom,
activeSettingInputBoxAtom, activeSettingInputBoxAtom,
} from '@/helpers/atoms/Thread.atom' } from '@/helpers/atoms/Thread.atom'
import { ChatContext } from '../../ThreadCenterPanel'
type CustomElement = { type CustomElement = {
type: 'paragraph' | 'code' | null type: 'paragraph' | 'code' | null

View File

@ -37,6 +37,7 @@ import useSendChatMessage from '@/hooks/useSendChatMessage'
import { uploader } from '@/utils/file' import { uploader } from '@/utils/file'
import { isLocalEngine } from '@/utils/modelEngine' import { isLocalEngine } from '@/utils/modelEngine'
import { ChatContext } from '../../ThreadCenterPanel'
import FileUploadPreview from '../FileUploadPreview' import FileUploadPreview from '../FileUploadPreview'
import ImageUploadPreview from '../ImageUploadPreview' import ImageUploadPreview from '../ImageUploadPreview'
@ -55,7 +56,6 @@ import {
} from '@/helpers/atoms/Thread.atom' } from '@/helpers/atoms/Thread.atom'
import { activeTabThreadRightPanelAtom } from '@/helpers/atoms/ThreadRightPanel.atom' import { activeTabThreadRightPanelAtom } from '@/helpers/atoms/ThreadRightPanel.atom'
import { ModelTool } from '@/types/model' import { ModelTool } from '@/types/model'
import { ChatContext } from '../../ThreadCenterPanel'
const ChatInput = () => { const ChatInput = () => {
const activeThread = useAtomValue(activeThreadAtom) const activeThread = useAtomValue(activeThreadAtom)

View File

@ -19,6 +19,8 @@ import { useActiveModel } from '@/hooks/useActiveModel'
import useSendChatMessage from '@/hooks/useSendChatMessage' import useSendChatMessage from '@/hooks/useSendChatMessage'
import { ChatContext } from '../../ThreadCenterPanel'
import { extensionManager } from '@/extension' import { extensionManager } from '@/extension'
import { import {
@ -31,7 +33,6 @@ import {
activeThreadAtom, activeThreadAtom,
getActiveThreadIdAtom, getActiveThreadIdAtom,
} from '@/helpers/atoms/Thread.atom' } from '@/helpers/atoms/Thread.atom'
import { ChatContext } from '../../ThreadCenterPanel'
type Props = { type Props = {
message: ThreadMessage message: ThreadMessage

View File

@ -22,6 +22,8 @@ import {
import { useClipboard } from '@/hooks/useClipboard' import { useClipboard } from '@/hooks/useClipboard'
import useSendChatMessage from '@/hooks/useSendChatMessage' import useSendChatMessage from '@/hooks/useSendChatMessage'
import { ChatContext } from '../../ThreadCenterPanel'
import { extensionManager } from '@/extension' import { extensionManager } from '@/extension'
import { import {
deleteMessageAtom, deleteMessageAtom,
@ -34,7 +36,6 @@ import {
updateThreadAtom, updateThreadAtom,
updateThreadStateLastMessageAtom, updateThreadStateLastMessageAtom,
} from '@/helpers/atoms/Thread.atom' } from '@/helpers/atoms/Thread.atom'
import { ChatContext } from '../../ThreadCenterPanel'
const MessageToolbar = ({ message }: { message: ThreadMessage }) => { const MessageToolbar = ({ message }: { message: ThreadMessage }) => {
const deleteMessage = useSetAtom(deleteMessageAtom) const deleteMessage = useSetAtom(deleteMessageAtom)

View File

@ -17,6 +17,8 @@ import ModelStart from '@/containers/Loader/ModelStart'
import { fileUploadAtom } from '@/containers/Providers/Jotai' import { fileUploadAtom } from '@/containers/Providers/Jotai'
import { snackbar } from '@/containers/Toast' import { snackbar } from '@/containers/Toast'
import { useTollCallPromiseModal } from '@/containers/ToolCallApprovalModal'
import { activeModelAtom } from '@/hooks/useActiveModel' import { activeModelAtom } from '@/hooks/useActiveModel'
import { reloadModelAtom } from '@/hooks/useSendChatMessage' import { reloadModelAtom } from '@/hooks/useSendChatMessage'
@ -36,7 +38,6 @@ import {
engineParamsUpdateAtom, engineParamsUpdateAtom,
isGeneratingResponseAtom, isGeneratingResponseAtom,
} from '@/helpers/atoms/Thread.atom' } from '@/helpers/atoms/Thread.atom'
import { useTollCallPromiseModal } from '@/containers/ToolCallApprovalModal'
const renderError = (code: string) => { const renderError = (code: string) => {
switch (code) { switch (code) {