feat: 项目卡片统一加框+小字精简 + 图标点击可选(18emoji) + 新建布局与travelatlas唯一互斥
This commit is contained in:
@@ -45,6 +45,8 @@ export type LayoutSpec = {
|
||||
topHeight?: { default: number; min: number; max: number }
|
||||
/** 聊天窗贴边位置:'right'(右列/右下,默认)| 'left'(左列/左下) */
|
||||
chatSide?: 'left' | 'right'
|
||||
/** 布局条目图标(emoji;工作台侧栏展示,点击可换) */
|
||||
icon?: string
|
||||
/** 聊天窗通高(整列):为 true 时聊天占整条右/左列,内容区(含 top 行)全部排在其另一侧 */
|
||||
chatFullHeight?: boolean
|
||||
}
|
||||
@@ -729,6 +731,16 @@ export const splitStore: SplitState = {
|
||||
},
|
||||
}
|
||||
|
||||
/** 兼容桥:travelatlas 分栏浮层(.ta_split)出现 = 其引擎打开 → 本引擎让位。
|
||||
* 不改动 travelatlas 代码,仅在 DOM 层观察其浮层挂载。 */
|
||||
if (typeof document !== 'undefined' && document.body) {
|
||||
const taObserver = new MutationObserver(() => {
|
||||
if (!splitStore.active) return
|
||||
if (document.querySelector('.ta_split')) splitStore.close()
|
||||
})
|
||||
taObserver.observe(document.body, { childList: true, subtree: true })
|
||||
}
|
||||
|
||||
/** 分配各窗宽度(最后一个拿余量) */
|
||||
function allocate(panes: SplitPane[], ws: number[], total: number) {
|
||||
const out: { pane: SplitPane; left: number; width: number }[] = []
|
||||
|
||||
Reference in New Issue
Block a user