diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx
index f45154a..6a84b6f 100644
--- a/frontend/src/App.tsx
+++ b/frontend/src/App.tsx
@@ -10,6 +10,8 @@ import { BotDashboardModule } from './modules/dashboard/BotDashboardModule';
import { pickLocale } from './i18n';
import { appZhCn } from './i18n/app.zh-cn';
import { appEn } from './i18n/app.en';
+import { LucentIconButton } from './components/lucent/LucentIconButton';
+import { LucentTooltip } from './components/lucent/LucentTooltip';
import './App.css';
function App() {
@@ -53,41 +55,45 @@ function App() {
@@ -165,4 +166,3 @@ export function useLucentPrompt() {
}
return ctx;
}
-
diff --git a/frontend/src/components/lucent/lucent-tooltip.css b/frontend/src/components/lucent/lucent-tooltip.css
index be8475c..767bf0c 100644
--- a/frontend/src/components/lucent/lucent-tooltip.css
+++ b/frontend/src/components/lucent/lucent-tooltip.css
@@ -21,19 +21,40 @@
visibility: hidden;
transition: opacity 0.14s ease, transform 0.14s ease, visibility 0.14s ease;
z-index: 40;
+ box-shadow: 0 8px 18px rgba(6, 12, 24, 0.24);
+}
+
+.lucent-tooltip-bubble::after {
+ content: '';
+ position: absolute;
+ left: 50%;
+ transform: translateX(-50%) rotate(45deg);
+ width: 7px;
+ height: 7px;
+ border-right: 1px solid color-mix(in oklab, var(--line) 72%, var(--brand) 28%);
+ border-bottom: 1px solid color-mix(in oklab, var(--line) 72%, var(--brand) 28%);
+ background: color-mix(in oklab, var(--panel) 88%, #000 12%);
}
.lucent-tooltip-wrap.side-top .lucent-tooltip-bubble {
bottom: calc(100% + 8px);
}
+.lucent-tooltip-wrap.side-top .lucent-tooltip-bubble::after {
+ bottom: -5px;
+}
+
.lucent-tooltip-wrap.side-bottom .lucent-tooltip-bubble {
top: calc(100% + 8px);
}
+.lucent-tooltip-wrap.side-bottom .lucent-tooltip-bubble::after {
+ top: -5px;
+ transform: translateX(-50%) rotate(225deg);
+}
+
.lucent-tooltip-wrap:hover .lucent-tooltip-bubble,
.lucent-tooltip-wrap:focus-within .lucent-tooltip-bubble {
opacity: 1;
visibility: visible;
}
-
diff --git a/frontend/src/modules/dashboard/BotDashboardModule.css b/frontend/src/modules/dashboard/BotDashboardModule.css
index ce173d3..72360c9 100644
--- a/frontend/src/modules/dashboard/BotDashboardModule.css
+++ b/frontend/src/modules/dashboard/BotDashboardModule.css
@@ -99,19 +99,19 @@
}
.ops-bot-icon-btn {
- width: 31px;
- height: 31px;
+ width: 36px;
+ height: 36px;
padding: 0;
- border-radius: 8px;
+ border-radius: 10px;
display: inline-flex;
align-items: center;
justify-content: center;
}
.ops-bot-icon-btn svg {
- width: 13px;
- height: 13px;
- stroke-width: 2.2;
+ width: 17px;
+ height: 17px;
+ stroke-width: 2.1;
}
.ops-bot-actions .ops-bot-action-monitor {
diff --git a/frontend/src/modules/dashboard/BotDashboardModule.tsx b/frontend/src/modules/dashboard/BotDashboardModule.tsx
index fd9f9c9..efd3acf 100644
--- a/frontend/src/modules/dashboard/BotDashboardModule.tsx
+++ b/frontend/src/modules/dashboard/BotDashboardModule.tsx
@@ -17,7 +17,7 @@ import { pickLocale } from '../../i18n';
import { dashboardZhCn } from '../../i18n/dashboard.zh-cn';
import { dashboardEn } from '../../i18n/dashboard.en';
import { useLucentPrompt } from '../../components/lucent/LucentPromptProvider';
-import { LucentTooltip } from '../../components/lucent/LucentTooltip';
+import { LucentIconButton } from '../../components/lucent/LucentIconButton';
interface BotDashboardModuleProps {
onOpenCreateWizard?: () => void;
@@ -905,7 +905,7 @@ export function BotDashboardModule({
{formatClock(item.ts)}
{collapsible ? (
-
+
) : null}
@@ -1994,22 +1994,22 @@ export function BotDashboardModule({