refactor(glass): 批次3 - 迁移 AgentChat 页面使用统一毛玻璃配置
迁移以下 10 个 AgentChat 模块文件: - index.js: GLASS_BLUR.lg 替换 blur(20px) - LeftSidebar/index.js: GLASS_BLUR.lg/sm 替换 blur(20px)/blur(10px) - LeftSidebar/SessionCard.js: GLASS_BLUR.md 替换 blur(12px) - RightSidebar/index.js: GLASS_BLUR.lg/sm/md 替换多处硬编码 - RightSidebar/ToolSelector.tsx: GLASS_BLUR.md 替换 blur(12px) - ChatArea/index.js: GLASS_BLUR.lg/sm 替换多处硬编码 - ChatArea/MessageRenderer.js: GLASS_BLUR.md 替换 blur(16px) - ChatArea/WelcomeScreen.js: GLASS_BLUR.md 替换 blur(12px) - ChatArea/ExecutionStepsDisplay.js: GLASS_BLUR.sm 替换 blur(10px) - MeetingRoom/index.js: GLASS_BLUR.lg 替换 blur(20px) 保留 saturate(180%) 组合效果 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -24,6 +24,7 @@ import {
|
|||||||
} from '@chakra-ui/react';
|
} from '@chakra-ui/react';
|
||||||
import { Activity, ChevronDown, ChevronRight, Copy, Check, Database, FileJson } from 'lucide-react';
|
import { Activity, ChevronDown, ChevronRight, Copy, Check, Database, FileJson } from 'lucide-react';
|
||||||
import { MarkdownWithCharts } from '@components/ChatBot/MarkdownWithCharts';
|
import { MarkdownWithCharts } from '@components/ChatBot/MarkdownWithCharts';
|
||||||
|
import { GLASS_BLUR } from '@/constants/glassConfig';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 格式化结果数据用于显示
|
* 格式化结果数据用于显示
|
||||||
@@ -248,7 +249,7 @@ ${JSON.stringify(echartsConfig)}
|
|||||||
>
|
>
|
||||||
<Card
|
<Card
|
||||||
bg="rgba(255, 255, 255, 0.03)"
|
bg="rgba(255, 255, 255, 0.03)"
|
||||||
backdropFilter="blur(10px)"
|
backdropFilter={GLASS_BLUR.sm}
|
||||||
border="1px solid"
|
border="1px solid"
|
||||||
borderColor={isExpanded ? 'rgba(192, 132, 252, 0.3)' : 'rgba(255, 255, 255, 0.1)'}
|
borderColor={isExpanded ? 'rgba(192, 132, 252, 0.3)' : 'rgba(255, 255, 255, 0.1)'}
|
||||||
transition="all 0.2s"
|
transition="all 0.2s"
|
||||||
@@ -355,7 +356,7 @@ const ExecutionStepsDisplay = ({ steps, plan }) => {
|
|||||||
borderColor="rgba(255, 255, 255, 0.1)"
|
borderColor="rgba(255, 255, 255, 0.1)"
|
||||||
borderRadius="lg"
|
borderRadius="lg"
|
||||||
bg="rgba(255, 255, 255, 0.03)"
|
bg="rgba(255, 255, 255, 0.03)"
|
||||||
backdropFilter="blur(10px)"
|
backdropFilter={GLASS_BLUR.sm}
|
||||||
_hover={{
|
_hover={{
|
||||||
bg: 'rgba(255, 255, 255, 0.05)',
|
bg: 'rgba(255, 255, 255, 0.05)',
|
||||||
borderColor: 'rgba(255, 255, 255, 0.2)',
|
borderColor: 'rgba(255, 255, 255, 0.2)',
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ import { Cpu, User, Copy, ThumbsUp, ThumbsDown, File, ListChecks, Play, CheckCir
|
|||||||
import { MessageTypes } from '../../constants/messageTypes';
|
import { MessageTypes } from '../../constants/messageTypes';
|
||||||
import ExecutionStepsDisplay from './ExecutionStepsDisplay';
|
import ExecutionStepsDisplay from './ExecutionStepsDisplay';
|
||||||
import { MarkdownWithCharts } from '@components/ChatBot/MarkdownWithCharts';
|
import { MarkdownWithCharts } from '@components/ChatBot/MarkdownWithCharts';
|
||||||
|
import { GLASS_BLUR } from '@/constants/glassConfig';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* MessageRenderer - 消息渲染器组件
|
* MessageRenderer - 消息渲染器组件
|
||||||
@@ -95,7 +96,7 @@ const MessageRenderer = ({ message, userAvatar }) => {
|
|||||||
<motion.div initial={{ opacity: 0, x: -20 }} animate={{ opacity: 1, x: 0 }}>
|
<motion.div initial={{ opacity: 0, x: -20 }} animate={{ opacity: 1, x: 0 }}>
|
||||||
<Card
|
<Card
|
||||||
bg="rgba(255, 255, 255, 0.05)"
|
bg="rgba(255, 255, 255, 0.05)"
|
||||||
backdropFilter="blur(16px) saturate(180%)"
|
backdropFilter={`${GLASS_BLUR.md} saturate(180%)`}
|
||||||
border="1px solid"
|
border="1px solid"
|
||||||
borderColor="rgba(255, 255, 255, 0.1)"
|
borderColor="rgba(255, 255, 255, 0.1)"
|
||||||
boxShadow="0 8px 32px 0 rgba(31, 38, 135, 0.37)"
|
boxShadow="0 8px 32px 0 rgba(31, 38, 135, 0.37)"
|
||||||
@@ -140,7 +141,7 @@ const MessageRenderer = ({ message, userAvatar }) => {
|
|||||||
>
|
>
|
||||||
<Card
|
<Card
|
||||||
bg="rgba(255, 255, 255, 0.05)"
|
bg="rgba(255, 255, 255, 0.05)"
|
||||||
backdropFilter="blur(16px) saturate(180%)"
|
backdropFilter={`${GLASS_BLUR.md} saturate(180%)`}
|
||||||
border="1px solid"
|
border="1px solid"
|
||||||
borderColor="rgba(255, 255, 255, 0.1)"
|
borderColor="rgba(255, 255, 255, 0.1)"
|
||||||
boxShadow="0 8px 32px 0 rgba(31, 38, 135, 0.37)"
|
boxShadow="0 8px 32px 0 rgba(31, 38, 135, 0.37)"
|
||||||
@@ -261,7 +262,7 @@ const MessageRenderer = ({ message, userAvatar }) => {
|
|||||||
>
|
>
|
||||||
<Card
|
<Card
|
||||||
bg="rgba(255, 255, 255, 0.05)"
|
bg="rgba(255, 255, 255, 0.05)"
|
||||||
backdropFilter="blur(16px) saturate(180%)"
|
backdropFilter={`${GLASS_BLUR.md} saturate(180%)`}
|
||||||
border="1px solid"
|
border="1px solid"
|
||||||
borderColor="rgba(139, 92, 246, 0.3)"
|
borderColor="rgba(139, 92, 246, 0.3)"
|
||||||
boxShadow="0 8px 32px 0 rgba(139, 92, 246, 0.2)"
|
boxShadow="0 8px 32px 0 rgba(139, 92, 246, 0.2)"
|
||||||
@@ -355,7 +356,7 @@ const MessageRenderer = ({ message, userAvatar }) => {
|
|||||||
>
|
>
|
||||||
<Card
|
<Card
|
||||||
bg="rgba(255, 255, 255, 0.05)"
|
bg="rgba(255, 255, 255, 0.05)"
|
||||||
backdropFilter="blur(16px) saturate(180%)"
|
backdropFilter={`${GLASS_BLUR.md} saturate(180%)`}
|
||||||
border="1px solid"
|
border="1px solid"
|
||||||
borderColor="rgba(59, 130, 246, 0.3)"
|
borderColor="rgba(59, 130, 246, 0.3)"
|
||||||
boxShadow="0 8px 32px 0 rgba(59, 130, 246, 0.2)"
|
boxShadow="0 8px 32px 0 rgba(59, 130, 246, 0.2)"
|
||||||
@@ -513,7 +514,7 @@ const MessageRenderer = ({ message, userAvatar }) => {
|
|||||||
<motion.div initial={{ opacity: 0, scale: 0.9 }} animate={{ opacity: 1, scale: 1 }}>
|
<motion.div initial={{ opacity: 0, scale: 0.9 }} animate={{ opacity: 1, scale: 1 }}>
|
||||||
<Card
|
<Card
|
||||||
bg="rgba(239, 68, 68, 0.1)"
|
bg="rgba(239, 68, 68, 0.1)"
|
||||||
backdropFilter="blur(16px)"
|
backdropFilter={GLASS_BLUR.md}
|
||||||
border="1px solid"
|
border="1px solid"
|
||||||
borderColor="rgba(239, 68, 68, 0.5)"
|
borderColor="rgba(239, 68, 68, 0.5)"
|
||||||
boxShadow="0 8px 32px 0 rgba(239, 68, 68, 0.37)"
|
boxShadow="0 8px 32px 0 rgba(239, 68, 68, 0.37)"
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ import {
|
|||||||
PieChart,
|
PieChart,
|
||||||
Sparkles,
|
Sparkles,
|
||||||
} from 'lucide-react';
|
} from 'lucide-react';
|
||||||
|
import { GLASS_BLUR } from '@/constants/glassConfig';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 建议任务卡片数据
|
* 建议任务卡片数据
|
||||||
@@ -88,7 +89,7 @@ const SuggestionCard = ({ card, onClick, index }) => {
|
|||||||
w="full"
|
w="full"
|
||||||
p={4}
|
p={4}
|
||||||
bg="rgba(255, 255, 255, 0.03)"
|
bg="rgba(255, 255, 255, 0.03)"
|
||||||
backdropFilter="blur(12px)"
|
backdropFilter={GLASS_BLUR.md}
|
||||||
border="1px solid"
|
border="1px solid"
|
||||||
borderColor="rgba(255, 255, 255, 0.08)"
|
borderColor="rgba(255, 255, 255, 0.08)"
|
||||||
borderRadius="xl"
|
borderRadius="xl"
|
||||||
|
|||||||
@@ -31,6 +31,7 @@ import {
|
|||||||
} from 'lucide-react';
|
} from 'lucide-react';
|
||||||
import { AVAILABLE_MODELS } from '../../constants/models';
|
import { AVAILABLE_MODELS } from '../../constants/models';
|
||||||
import { animations } from '../../constants/animations';
|
import { animations } from '../../constants/animations';
|
||||||
|
import { GLASS_BLUR } from '@/constants/glassConfig';
|
||||||
import MessageRenderer from './MessageRenderer';
|
import MessageRenderer from './MessageRenderer';
|
||||||
import WelcomeScreen from './WelcomeScreen';
|
import WelcomeScreen from './WelcomeScreen';
|
||||||
|
|
||||||
@@ -89,7 +90,7 @@ const ChatArea = ({
|
|||||||
{/* 顶部标题栏 - 深色毛玻璃 */}
|
{/* 顶部标题栏 - 深色毛玻璃 */}
|
||||||
<Box
|
<Box
|
||||||
bg="rgba(17, 24, 39, 0.8)"
|
bg="rgba(17, 24, 39, 0.8)"
|
||||||
backdropFilter="blur(20px) saturate(180%)"
|
backdropFilter={`${GLASS_BLUR.lg} saturate(180%)`}
|
||||||
borderBottom="1px solid"
|
borderBottom="1px solid"
|
||||||
borderColor="rgba(255, 255, 255, 0.1)"
|
borderColor="rgba(255, 255, 255, 0.1)"
|
||||||
px={4}
|
px={4}
|
||||||
@@ -108,7 +109,7 @@ const ChatArea = ({
|
|||||||
onClick={onToggleLeftSidebar}
|
onClick={onToggleLeftSidebar}
|
||||||
bg="rgba(255, 255, 255, 0.05)"
|
bg="rgba(255, 255, 255, 0.05)"
|
||||||
color="gray.400"
|
color="gray.400"
|
||||||
backdropFilter="blur(10px)"
|
backdropFilter={GLASS_BLUR.sm}
|
||||||
border="1px solid"
|
border="1px solid"
|
||||||
borderColor="rgba(255, 255, 255, 0.1)"
|
borderColor="rgba(255, 255, 255, 0.1)"
|
||||||
_hover={{
|
_hover={{
|
||||||
@@ -179,7 +180,7 @@ const ChatArea = ({
|
|||||||
onClick={onNewSession}
|
onClick={onNewSession}
|
||||||
bg="rgba(255, 255, 255, 0.05)"
|
bg="rgba(255, 255, 255, 0.05)"
|
||||||
color="gray.400"
|
color="gray.400"
|
||||||
backdropFilter="blur(10px)"
|
backdropFilter={GLASS_BLUR.sm}
|
||||||
border="1px solid"
|
border="1px solid"
|
||||||
borderColor="rgba(255, 255, 255, 0.1)"
|
borderColor="rgba(255, 255, 255, 0.1)"
|
||||||
_hover={{
|
_hover={{
|
||||||
@@ -200,7 +201,7 @@ const ChatArea = ({
|
|||||||
onClick={onToggleRightSidebar}
|
onClick={onToggleRightSidebar}
|
||||||
bg="rgba(255, 255, 255, 0.05)"
|
bg="rgba(255, 255, 255, 0.05)"
|
||||||
color="gray.400"
|
color="gray.400"
|
||||||
backdropFilter="blur(10px)"
|
backdropFilter={GLASS_BLUR.sm}
|
||||||
border="1px solid"
|
border="1px solid"
|
||||||
borderColor="rgba(255, 255, 255, 0.1)"
|
borderColor="rgba(255, 255, 255, 0.1)"
|
||||||
_hover={{
|
_hover={{
|
||||||
@@ -262,7 +263,7 @@ const ChatArea = ({
|
|||||||
{/* 输入栏 - 深色毛玻璃 */}
|
{/* 输入栏 - 深色毛玻璃 */}
|
||||||
<Box
|
<Box
|
||||||
bg="rgba(17, 24, 39, 0.8)"
|
bg="rgba(17, 24, 39, 0.8)"
|
||||||
backdropFilter="blur(20px) saturate(180%)"
|
backdropFilter={`${GLASS_BLUR.lg} saturate(180%)`}
|
||||||
borderTop="1px solid"
|
borderTop="1px solid"
|
||||||
borderColor="rgba(255, 255, 255, 0.1)"
|
borderColor="rgba(255, 255, 255, 0.1)"
|
||||||
px={4}
|
px={4}
|
||||||
@@ -285,7 +286,7 @@ const ChatArea = ({
|
|||||||
size="md"
|
size="md"
|
||||||
variant="subtle"
|
variant="subtle"
|
||||||
bg="rgba(255, 255, 255, 0.05)"
|
bg="rgba(255, 255, 255, 0.05)"
|
||||||
backdropFilter="blur(10px)"
|
backdropFilter={GLASS_BLUR.sm}
|
||||||
borderColor="rgba(255, 255, 255, 0.1)"
|
borderColor="rgba(255, 255, 255, 0.1)"
|
||||||
borderWidth={1}
|
borderWidth={1}
|
||||||
>
|
>
|
||||||
@@ -316,7 +317,7 @@ const ChatArea = ({
|
|||||||
onClick={() => fileInputRef.current?.click()}
|
onClick={() => fileInputRef.current?.click()}
|
||||||
bg="rgba(255, 255, 255, 0.05)"
|
bg="rgba(255, 255, 255, 0.05)"
|
||||||
color="gray.300"
|
color="gray.300"
|
||||||
backdropFilter="blur(10px)"
|
backdropFilter={GLASS_BLUR.sm}
|
||||||
border="1px solid"
|
border="1px solid"
|
||||||
borderColor="rgba(255, 255, 255, 0.1)"
|
borderColor="rgba(255, 255, 255, 0.1)"
|
||||||
_hover={{
|
_hover={{
|
||||||
@@ -341,7 +342,7 @@ const ChatArea = ({
|
|||||||
}}
|
}}
|
||||||
bg="rgba(255, 255, 255, 0.05)"
|
bg="rgba(255, 255, 255, 0.05)"
|
||||||
color="gray.300"
|
color="gray.300"
|
||||||
backdropFilter="blur(10px)"
|
backdropFilter={GLASS_BLUR.sm}
|
||||||
border="1px solid"
|
border="1px solid"
|
||||||
borderColor="rgba(255, 255, 255, 0.1)"
|
borderColor="rgba(255, 255, 255, 0.1)"
|
||||||
_hover={{
|
_hover={{
|
||||||
@@ -365,7 +366,7 @@ const ChatArea = ({
|
|||||||
variant="outline"
|
variant="outline"
|
||||||
borderWidth={2}
|
borderWidth={2}
|
||||||
bg="rgba(255, 255, 255, 0.05)"
|
bg="rgba(255, 255, 255, 0.05)"
|
||||||
backdropFilter="blur(10px)"
|
backdropFilter={GLASS_BLUR.sm}
|
||||||
border="1px solid"
|
border="1px solid"
|
||||||
borderColor="rgba(255, 255, 255, 0.1)"
|
borderColor="rgba(255, 255, 255, 0.1)"
|
||||||
color="white"
|
color="white"
|
||||||
|
|||||||
@@ -4,6 +4,7 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { motion } from 'framer-motion';
|
import { motion } from 'framer-motion';
|
||||||
import { Card, CardBody, Flex, Box, Text, Badge } from '@chakra-ui/react';
|
import { Card, CardBody, Flex, Box, Text, Badge } from '@chakra-ui/react';
|
||||||
|
import { GLASS_BLUR } from '@/constants/glassConfig';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* SessionCard - 会话卡片组件
|
* SessionCard - 会话卡片组件
|
||||||
@@ -25,7 +26,7 @@ const SessionCard = ({ session, isActive, onPress }) => {
|
|||||||
cursor="pointer"
|
cursor="pointer"
|
||||||
onClick={onPress}
|
onClick={onPress}
|
||||||
bg={isActive ? 'rgba(139, 92, 246, 0.15)' : 'rgba(255, 255, 255, 0.05)'}
|
bg={isActive ? 'rgba(139, 92, 246, 0.15)' : 'rgba(255, 255, 255, 0.05)'}
|
||||||
backdropFilter="blur(12px)"
|
backdropFilter={GLASS_BLUR.md}
|
||||||
borderWidth={1}
|
borderWidth={1}
|
||||||
borderColor={isActive ? 'purple.400' : 'rgba(255, 255, 255, 0.1)'}
|
borderColor={isActive ? 'purple.400' : 'rgba(255, 255, 255, 0.1)'}
|
||||||
_hover={{
|
_hover={{
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ import { MessageSquare, Plus, Search, ChevronLeft, ChevronDown, MoreHorizontal }
|
|||||||
import { animations } from '../../constants/animations';
|
import { animations } from '../../constants/animations';
|
||||||
import { groupSessionsByDate } from '../../utils/sessionUtils';
|
import { groupSessionsByDate } from '../../utils/sessionUtils';
|
||||||
import DateGroup from './DateGroup';
|
import DateGroup from './DateGroup';
|
||||||
|
import { GLASS_BLUR } from '@/constants/glassConfig';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* LeftSidebar - 左侧栏组件
|
* LeftSidebar - 左侧栏组件
|
||||||
@@ -94,7 +95,7 @@ const LeftSidebar = ({
|
|||||||
display="flex"
|
display="flex"
|
||||||
flexDirection="column"
|
flexDirection="column"
|
||||||
bg="rgba(17, 24, 39, 0.8)"
|
bg="rgba(17, 24, 39, 0.8)"
|
||||||
backdropFilter="blur(20px) saturate(180%)"
|
backdropFilter={`${GLASS_BLUR.lg} saturate(180%)`}
|
||||||
borderRight="1px solid"
|
borderRight="1px solid"
|
||||||
borderColor="rgba(255, 255, 255, 0.1)"
|
borderColor="rgba(255, 255, 255, 0.1)"
|
||||||
boxShadow="4px 0 24px rgba(0, 0, 0, 0.3)"
|
boxShadow="4px 0 24px rgba(0, 0, 0, 0.3)"
|
||||||
@@ -123,7 +124,7 @@ const LeftSidebar = ({
|
|||||||
onClick={onNewSession}
|
onClick={onNewSession}
|
||||||
bg="rgba(255, 255, 255, 0.05)"
|
bg="rgba(255, 255, 255, 0.05)"
|
||||||
color="gray.300"
|
color="gray.300"
|
||||||
backdropFilter="blur(10px)"
|
backdropFilter={GLASS_BLUR.sm}
|
||||||
border="1px solid"
|
border="1px solid"
|
||||||
borderColor="rgba(255, 255, 255, 0.1)"
|
borderColor="rgba(255, 255, 255, 0.1)"
|
||||||
_hover={{
|
_hover={{
|
||||||
@@ -144,7 +145,7 @@ const LeftSidebar = ({
|
|||||||
onClick={onClose}
|
onClick={onClose}
|
||||||
bg="rgba(255, 255, 255, 0.05)"
|
bg="rgba(255, 255, 255, 0.05)"
|
||||||
color="gray.300"
|
color="gray.300"
|
||||||
backdropFilter="blur(10px)"
|
backdropFilter={GLASS_BLUR.sm}
|
||||||
border="1px solid"
|
border="1px solid"
|
||||||
borderColor="rgba(255, 255, 255, 0.1)"
|
borderColor="rgba(255, 255, 255, 0.1)"
|
||||||
_hover={{
|
_hover={{
|
||||||
@@ -171,7 +172,7 @@ const LeftSidebar = ({
|
|||||||
variant="outline"
|
variant="outline"
|
||||||
pl={10}
|
pl={10}
|
||||||
bg="rgba(255, 255, 255, 0.05)"
|
bg="rgba(255, 255, 255, 0.05)"
|
||||||
backdropFilter="blur(10px)"
|
backdropFilter={GLASS_BLUR.sm}
|
||||||
border="1px solid"
|
border="1px solid"
|
||||||
borderColor="rgba(255, 255, 255, 0.1)"
|
borderColor="rgba(255, 255, 255, 0.1)"
|
||||||
color="white"
|
color="white"
|
||||||
|
|||||||
@@ -35,6 +35,7 @@ import { useInvestmentMeeting } from '../../hooks/useInvestmentMeeting';
|
|||||||
import MeetingMessageBubble from './MeetingMessageBubble';
|
import MeetingMessageBubble from './MeetingMessageBubble';
|
||||||
import MeetingRolePanel from './MeetingRolePanel';
|
import MeetingRolePanel from './MeetingRolePanel';
|
||||||
import MeetingWelcome from './MeetingWelcome';
|
import MeetingWelcome from './MeetingWelcome';
|
||||||
|
import { GLASS_BLUR } from '@/constants/glassConfig';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* MeetingRoom - 投研会议室主组件
|
* MeetingRoom - 投研会议室主组件
|
||||||
@@ -151,7 +152,7 @@ const MeetingRoom = ({ user, onToast }) => {
|
|||||||
{/* 顶部标题栏 */}
|
{/* 顶部标题栏 */}
|
||||||
<Box
|
<Box
|
||||||
bg="rgba(17, 24, 39, 0.9)"
|
bg="rgba(17, 24, 39, 0.9)"
|
||||||
backdropFilter="blur(20px)"
|
backdropFilter={GLASS_BLUR.lg}
|
||||||
borderBottom="1px solid"
|
borderBottom="1px solid"
|
||||||
borderColor="rgba(255, 255, 255, 0.1)"
|
borderColor="rgba(255, 255, 255, 0.1)"
|
||||||
px={6}
|
px={6}
|
||||||
@@ -342,7 +343,7 @@ const MeetingRoom = ({ user, onToast }) => {
|
|||||||
{/* 输入栏 */}
|
{/* 输入栏 */}
|
||||||
<Box
|
<Box
|
||||||
bg="rgba(17, 24, 39, 0.9)"
|
bg="rgba(17, 24, 39, 0.9)"
|
||||||
backdropFilter="blur(20px)"
|
backdropFilter={GLASS_BLUR.lg}
|
||||||
borderTop="1px solid"
|
borderTop="1px solid"
|
||||||
borderColor="rgba(255, 255, 255, 0.1)"
|
borderColor="rgba(255, 255, 255, 0.1)"
|
||||||
px={6}
|
px={6}
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ import {
|
|||||||
Text,
|
Text,
|
||||||
} from '@chakra-ui/react';
|
} from '@chakra-ui/react';
|
||||||
import { MCP_TOOLS, TOOL_CATEGORIES } from '../../constants/tools';
|
import { MCP_TOOLS, TOOL_CATEGORIES } from '../../constants/tools';
|
||||||
|
import { GLASS_BLUR } from '@/constants/glassConfig';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ToolSelector 组件的 Props 类型
|
* ToolSelector 组件的 Props 类型
|
||||||
@@ -81,7 +82,7 @@ const ToolSelector: React.FC<ToolSelectorProps> = ({ selectedTools, onToolsChang
|
|||||||
borderRadius="lg"
|
borderRadius="lg"
|
||||||
mb={2}
|
mb={2}
|
||||||
bg="rgba(255, 255, 255, 0.05)"
|
bg="rgba(255, 255, 255, 0.05)"
|
||||||
backdropFilter="blur(12px)"
|
backdropFilter={GLASS_BLUR.md}
|
||||||
_hover={{
|
_hover={{
|
||||||
bg: 'rgba(255, 255, 255, 0.08)',
|
bg: 'rgba(255, 255, 255, 0.08)',
|
||||||
borderColor: 'rgba(255, 255, 255, 0.2)',
|
borderColor: 'rgba(255, 255, 255, 0.2)',
|
||||||
|
|||||||
@@ -41,6 +41,7 @@ import {
|
|||||||
import { animations } from '../../constants/animations';
|
import { animations } from '../../constants/animations';
|
||||||
import { AVAILABLE_MODELS } from '../../constants/models';
|
import { AVAILABLE_MODELS } from '../../constants/models';
|
||||||
import { MCP_TOOLS, TOOL_CATEGORIES } from '../../constants/tools';
|
import { MCP_TOOLS, TOOL_CATEGORIES } from '../../constants/tools';
|
||||||
|
import { GLASS_BLUR } from '@/constants/glassConfig';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* RightSidebar - 右侧栏组件(配置中心)
|
* RightSidebar - 右侧栏组件(配置中心)
|
||||||
@@ -82,7 +83,7 @@ const RightSidebar = ({
|
|||||||
display="flex"
|
display="flex"
|
||||||
flexDirection="column"
|
flexDirection="column"
|
||||||
bg="rgba(17, 24, 39, 0.8)"
|
bg="rgba(17, 24, 39, 0.8)"
|
||||||
backdropFilter="blur(20px) saturate(180%)"
|
backdropFilter={`${GLASS_BLUR.lg} saturate(180%)`}
|
||||||
borderLeft="1px solid"
|
borderLeft="1px solid"
|
||||||
borderColor="rgba(255, 255, 255, 0.1)"
|
borderColor="rgba(255, 255, 255, 0.1)"
|
||||||
boxShadow="-4px 0 24px rgba(0, 0, 0, 0.3)"
|
boxShadow="-4px 0 24px rgba(0, 0, 0, 0.3)"
|
||||||
@@ -110,7 +111,7 @@ const RightSidebar = ({
|
|||||||
onClick={onClose}
|
onClick={onClose}
|
||||||
bg="rgba(255, 255, 255, 0.05)"
|
bg="rgba(255, 255, 255, 0.05)"
|
||||||
color="gray.300"
|
color="gray.300"
|
||||||
backdropFilter="blur(10px)"
|
backdropFilter={GLASS_BLUR.sm}
|
||||||
border="1px solid"
|
border="1px solid"
|
||||||
borderColor="rgba(255, 255, 255, 0.1)"
|
borderColor="rgba(255, 255, 255, 0.1)"
|
||||||
_hover={{
|
_hover={{
|
||||||
@@ -203,7 +204,7 @@ const RightSidebar = ({
|
|||||||
? 'rgba(139, 92, 246, 0.15)'
|
? 'rgba(139, 92, 246, 0.15)'
|
||||||
: 'rgba(255, 255, 255, 0.05)'
|
: 'rgba(255, 255, 255, 0.05)'
|
||||||
}
|
}
|
||||||
backdropFilter="blur(12px)"
|
backdropFilter={GLASS_BLUR.md}
|
||||||
borderWidth={2}
|
borderWidth={2}
|
||||||
borderColor={
|
borderColor={
|
||||||
selectedModel === model.id ? 'purple.400' : 'rgba(255, 255, 255, 0.1)'
|
selectedModel === model.id ? 'purple.400' : 'rgba(255, 255, 255, 0.1)'
|
||||||
@@ -277,7 +278,7 @@ const RightSidebar = ({
|
|||||||
borderRadius="lg"
|
borderRadius="lg"
|
||||||
mb={2}
|
mb={2}
|
||||||
bg="rgba(255, 255, 255, 0.05)"
|
bg="rgba(255, 255, 255, 0.05)"
|
||||||
backdropFilter="blur(12px)"
|
backdropFilter={GLASS_BLUR.md}
|
||||||
_hover={{
|
_hover={{
|
||||||
bg: 'rgba(255, 255, 255, 0.08)',
|
bg: 'rgba(255, 255, 255, 0.08)',
|
||||||
borderColor: 'rgba(255, 255, 255, 0.2)',
|
borderColor: 'rgba(255, 255, 255, 0.2)',
|
||||||
@@ -389,7 +390,7 @@ const RightSidebar = ({
|
|||||||
>
|
>
|
||||||
<Card
|
<Card
|
||||||
bg="rgba(255, 255, 255, 0.05)"
|
bg="rgba(255, 255, 255, 0.05)"
|
||||||
backdropFilter="blur(12px)"
|
backdropFilter={GLASS_BLUR.md}
|
||||||
border="1px solid"
|
border="1px solid"
|
||||||
borderColor="rgba(255, 255, 255, 0.1)"
|
borderColor="rgba(255, 255, 255, 0.1)"
|
||||||
boxShadow="0 8px 32px 0 rgba(31, 38, 135, 0.37)"
|
boxShadow="0 8px 32px 0 rgba(31, 38, 135, 0.37)"
|
||||||
@@ -426,7 +427,7 @@ const RightSidebar = ({
|
|||||||
>
|
>
|
||||||
<Card
|
<Card
|
||||||
bg="rgba(255, 255, 255, 0.05)"
|
bg="rgba(255, 255, 255, 0.05)"
|
||||||
backdropFilter="blur(12px)"
|
backdropFilter={GLASS_BLUR.md}
|
||||||
border="1px solid"
|
border="1px solid"
|
||||||
borderColor="rgba(255, 255, 255, 0.1)"
|
borderColor="rgba(255, 255, 255, 0.1)"
|
||||||
boxShadow="0 8px 32px 0 rgba(31, 38, 135, 0.37)"
|
boxShadow="0 8px 32px 0 rgba(31, 38, 135, 0.37)"
|
||||||
@@ -459,7 +460,7 @@ const RightSidebar = ({
|
|||||||
>
|
>
|
||||||
<Card
|
<Card
|
||||||
bg="rgba(255, 255, 255, 0.05)"
|
bg="rgba(255, 255, 255, 0.05)"
|
||||||
backdropFilter="blur(12px)"
|
backdropFilter={GLASS_BLUR.md}
|
||||||
border="1px solid"
|
border="1px solid"
|
||||||
borderColor="rgba(255, 255, 255, 0.1)"
|
borderColor="rgba(255, 255, 255, 0.1)"
|
||||||
boxShadow="0 8px 32px 0 rgba(31, 38, 135, 0.37)"
|
boxShadow="0 8px 32px 0 rgba(31, 38, 135, 0.37)"
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ import { motion, AnimatePresence } from 'framer-motion';
|
|||||||
import { MessageSquare, Users, Crown, Lock } from 'lucide-react';
|
import { MessageSquare, Users, Crown, Lock } from 'lucide-react';
|
||||||
import { useAuth } from '@contexts/AuthContext';
|
import { useAuth } from '@contexts/AuthContext';
|
||||||
import { useSubscription } from '@hooks/useSubscription';
|
import { useSubscription } from '@hooks/useSubscription';
|
||||||
|
import { GLASS_BLUR } from '@/constants/glassConfig';
|
||||||
|
|
||||||
// 常量配置 - 从 TypeScript 模块导入
|
// 常量配置 - 从 TypeScript 模块导入
|
||||||
import { DEFAULT_MODEL_ID } from './constants/models';
|
import { DEFAULT_MODEL_ID } from './constants/models';
|
||||||
@@ -157,7 +158,7 @@ const AgentChat = () => {
|
|||||||
spacing={6}
|
spacing={6}
|
||||||
p={10}
|
p={10}
|
||||||
bg="rgba(17, 24, 39, 0.8)"
|
bg="rgba(17, 24, 39, 0.8)"
|
||||||
backdropFilter="blur(20px)"
|
backdropFilter={GLASS_BLUR.lg}
|
||||||
borderRadius="2xl"
|
borderRadius="2xl"
|
||||||
border="1px solid"
|
border="1px solid"
|
||||||
borderColor="rgba(255, 255, 255, 0.1)"
|
borderColor="rgba(255, 255, 255, 0.1)"
|
||||||
|
|||||||
Reference in New Issue
Block a user