+

+ style={{
+ width: 26,
+ height: 26,
+ borderRadius: 8,
+ boxShadow: '0 10px 24px -16px rgba(47, 109, 246, 0.45)',
+ }}
+ />
-
OpenLess
+
+
OpenLess
+
+ VOICE CONSOLE
+
+
{/* nav — 滑动指示器:active pill 是 absolute 元素,currentTab 改变时 top/height
@@ -226,9 +262,10 @@ function FloatingShellBody({ os, initialTab, initialSettings }: { os: OS; initia
right: 0,
top: pillRect.top,
height: pillRect.height,
- background: 'var(--ol-surface)',
- borderRadius: 8,
- boxShadow: '0 1px 2px rgba(0,0,0,.05), 0 0 0 0.5px rgba(0,0,0,.06)',
+ background: 'linear-gradient(180deg, rgba(255,255,255,0.84), rgba(255,255,255,0.58))',
+ borderRadius: 14,
+ border: '1px solid rgba(255,255,255,0.62)',
+ boxShadow: 'var(--ol-aura-shadow-soft)',
transition: 'top 0.36s var(--ol-motion-spring), height 0.36s var(--ol-motion-spring)',
pointerEvents: 'none',
zIndex: 0,
@@ -245,8 +282,8 @@ function FloatingShellBody({ os, initialTab, initialSettings }: { os: OS; initia
className={active ? 'ol-nav-btn ol-nav-btn-active' : 'ol-nav-btn'}
style={{
display: 'flex', alignItems: 'center', gap: 10,
- padding: '7px 10px',
- borderRadius: 8, border: 0,
+ padding: '8px 12px',
+ borderRadius: 14, border: 0,
background: 'transparent',
fontFamily: 'inherit', fontSize: 13,
cursor: 'default',
@@ -268,17 +305,30 @@ function FloatingShellBody({ os, initialTab, initialSettings }: { os: OS; initia
{/* 底部两行:上行 = 版本 chip(含 BETA 标),下行 = 设置按钮。
单行布局在窄 sidebar 下会把「设置」挤成两行竖字 + 版本糊一起;
翻回两行同时把顺序反过来:设置真正落到最底,版本在它上面。 */}
-
+
{IS_BETA_BUILD && (
@@ -303,10 +353,13 @@ function FloatingShellBody({ os, initialTab, initialSettings }: { os: OS; initia
className={settingsOpen ? 'ol-nav-btn ol-nav-btn-active' : 'ol-nav-btn'}
style={{
display: 'flex', alignItems: 'center', gap: 10,
- padding: '7px 10px',
- borderRadius: 8, border: 0,
- background: settingsOpen ? 'var(--ol-surface)' : 'transparent',
- boxShadow: settingsOpen ? '0 1px 2px rgba(0,0,0,.05), 0 0 0 0.5px rgba(0,0,0,.06)' : 'none',
+ padding: '10px 12px',
+ borderRadius: 16,
+ border: '1px solid rgba(255,255,255,0.5)',
+ background: settingsOpen
+ ? 'linear-gradient(180deg, rgba(255,255,255,0.82), rgba(255,255,255,0.48))'
+ : 'linear-gradient(180deg, rgba(255,255,255,0.48), rgba(255,255,255,0.24))',
+ boxShadow: settingsOpen ? 'var(--ol-aura-shadow-soft)' : 'none',
fontFamily: 'inherit', fontSize: 13,
cursor: 'default',
transition: 'color 0.16s var(--ol-motion-quick), background 0.16s var(--ol-motion-quick)',
@@ -324,16 +377,11 @@ function FloatingShellBody({ os, initialTab, initialSettings }: { os: OS; initia
一起坐在 WindowChrome 的磨砂底板上,整体一块连续玻璃。 */}
e.stopPropagation()}
style={{
- width: '100%', maxWidth: 880, height: '100%', maxHeight: 600,
+ width: '100%',
+ maxWidth: 920,
+ height: '100%',
+ maxHeight: 620,
background: 'var(--ol-surface)',
- borderRadius: 14,
- border: '0.5px solid rgba(0,0,0,.08)',
- boxShadow: '0 30px 80px -20px rgba(15,17,22,.35), 0 0 0 0.5px rgba(0,0,0,.06)',
- display: 'flex', overflow: 'hidden',
+ borderRadius: 'var(--ol-shell-radius)',
+ border: '1px solid rgba(255,255,255,0.62)',
+ boxShadow: 'var(--ol-aura-shadow)',
+ display: 'flex',
+ overflow: 'hidden',
animation: 'ol-modal-card-in 0.24s var(--ol-motion-spring)',
position: 'relative',
}}>
@@ -99,11 +104,14 @@ export function SettingsModal({ os: _os, onClose, initialSettingsSection }: Sett
{/* ─── 单层侧栏 ────────────────────────────────────────────── */}
{/* 外链组 */}
-
+
{LINK_ITEMS.map(it => (