157af4399f
- 恢复 IPC 类型声明 (src/electron-api.d.ts),修复 31 个 TS2339 错误 - 修复构建断裂:vite.config.ts 改回 electron.vite.config.ts - 修复 2 个 verbatimModuleSyntax type-import 报错 - 修正 .gitignore 构建产物路径 (electron-dist/ -> dist-electron/ + release/) - 清理 55+ 处过时路径注释 - 更新 AGENTS.md 架构文档与 IPC 通道表 - 修正 docs/ROADMAP.md 过时引用
52 lines
945 B
Vue
52 lines
945 B
Vue
<script setup lang="ts">
|
|
import { watch } from 'vue'
|
|
import { useKeyStore } from '@renderer/stores/key'
|
|
import { useConnectionStore } from '@renderer/stores/connection'
|
|
import KeyList from './KeyList.vue'
|
|
import KeyDetail from './KeyDetail.vue'
|
|
|
|
const keyStore = useKeyStore()
|
|
const connStore = useConnectionStore()
|
|
|
|
watch(
|
|
() => connStore.activeId,
|
|
async (newId) => {
|
|
if (newId) {
|
|
keyStore.selectedKey = null
|
|
keyStore.keyData = null
|
|
await keyStore.scanKeys(newId, '0', true)
|
|
}
|
|
},
|
|
{ immediate: true }
|
|
)
|
|
</script>
|
|
|
|
<template>
|
|
<div class="key-browser">
|
|
<div class="key-sidebar">
|
|
<KeyList />
|
|
</div>
|
|
<div class="key-main">
|
|
<KeyDetail />
|
|
</div>
|
|
</div>
|
|
</template>
|
|
|
|
<style scoped>
|
|
.key-browser {
|
|
display: flex;
|
|
height: 100%;
|
|
}
|
|
|
|
.key-sidebar {
|
|
width: 260px;
|
|
flex-shrink: 0;
|
|
border-right: 1px solid var(--border-color);
|
|
}
|
|
|
|
.key-main {
|
|
flex: 1;
|
|
overflow: hidden;
|
|
}
|
|
</style>
|