* feat(ui): 完善 UI 布局系统和编辑器可视化工具 * refactor: 移除 ModuleRegistry,统一使用 PluginManager 插件系统 * fix: 修复 CodeQL 警告并提升测试覆盖率 * refactor: 分离运行时入口点,解决 runtime bundle 包含 React 的问题 * fix(ci): 添加 editor-core 和 editor-runtime 到 CI 依赖构建步骤 * docs: 完善 ServiceContainer 文档,新增 Symbol.for 模式和 @InjectProperty 说明 * fix(ci): 修复 type-check 失败问题 * fix(ci): 修复类型检查失败问题 * fix(ci): 修复类型检查失败问题 * fix(ci): behavior-tree 构建添加 @tauri-apps 外部依赖 * fix(ci): behavior-tree 添加 @tauri-apps/plugin-fs 类型依赖 * fix(ci): platform-web 添加缺失的 behavior-tree 依赖 * fix(lint): 移除正则表达式中不必要的转义字符
288 lines
5.3 KiB
CSS
288 lines
5.3 KiB
CSS
.plugin-update-dialog-overlay {
|
|
position: fixed;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
background: rgba(0, 0, 0, 0.5);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
z-index: var(--z-index-modal);
|
|
}
|
|
|
|
.plugin-update-dialog {
|
|
background: var(--color-bg-primary, #1e1e1e);
|
|
border: 1px solid var(--color-border, #333);
|
|
border-radius: 8px;
|
|
width: 90%;
|
|
max-width: 600px;
|
|
max-height: 80vh;
|
|
display: flex;
|
|
flex-direction: column;
|
|
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
|
|
}
|
|
|
|
.update-dialog-header {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
padding: 16px 20px;
|
|
border-bottom: 1px solid var(--color-border, #333);
|
|
}
|
|
|
|
.update-dialog-header h2 {
|
|
margin: 0;
|
|
font-size: 18px;
|
|
font-weight: 600;
|
|
}
|
|
|
|
.update-dialog-close {
|
|
background: none;
|
|
border: none;
|
|
padding: 4px;
|
|
cursor: pointer;
|
|
color: var(--color-text-secondary, #888);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
border-radius: 4px;
|
|
}
|
|
|
|
.update-dialog-close:hover {
|
|
background: var(--color-bg-hover, rgba(255, 255, 255, 0.1));
|
|
color: var(--color-text-primary, #fff);
|
|
}
|
|
|
|
.update-dialog-content {
|
|
flex: 1;
|
|
overflow-y: auto;
|
|
padding: 20px;
|
|
}
|
|
|
|
.update-dialog-step {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 16px;
|
|
}
|
|
|
|
.update-dialog-step h3 {
|
|
margin: 0;
|
|
font-size: 16px;
|
|
font-weight: 600;
|
|
}
|
|
|
|
.step-description {
|
|
color: var(--color-text-secondary, #888);
|
|
margin: 0;
|
|
}
|
|
|
|
.current-plugin-info {
|
|
padding: 12px;
|
|
background: rgba(14, 99, 156, 0.1);
|
|
border: 1px solid rgba(14, 99, 156, 0.3);
|
|
border-radius: 6px;
|
|
}
|
|
|
|
.current-plugin-info h4 {
|
|
margin: 0 0 8px 0;
|
|
font-size: 14px;
|
|
}
|
|
|
|
.current-plugin-info p {
|
|
margin: 0;
|
|
color: var(--color-text-secondary, #888);
|
|
}
|
|
|
|
.selected-folder-info {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
padding: 8px 12px;
|
|
background: var(--color-bg-secondary, #252525);
|
|
border: 1px solid var(--color-border, #333);
|
|
border-radius: 4px;
|
|
font-size: 13px;
|
|
color: var(--color-text-secondary, #888);
|
|
}
|
|
|
|
.form-group {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 8px;
|
|
}
|
|
|
|
.form-group label {
|
|
font-size: 13px;
|
|
font-weight: 500;
|
|
}
|
|
|
|
.form-group input,
|
|
.form-group textarea {
|
|
padding: 8px 12px;
|
|
background: var(--color-bg-secondary, #252525);
|
|
border: 1px solid var(--color-border, #333);
|
|
border-radius: 4px;
|
|
color: var(--color-text-primary, #fff);
|
|
font-size: 13px;
|
|
font-family: inherit;
|
|
}
|
|
|
|
.form-group textarea {
|
|
resize: vertical;
|
|
}
|
|
|
|
.version-input-group {
|
|
display: flex;
|
|
gap: 8px;
|
|
}
|
|
|
|
.version-input-group input {
|
|
flex: 1;
|
|
}
|
|
|
|
.btn-browse,
|
|
.btn-suggest,
|
|
.btn-view-pr,
|
|
.btn-close,
|
|
.btn-back,
|
|
.btn-primary {
|
|
padding: 8px 16px;
|
|
border: none;
|
|
border-radius: 4px;
|
|
cursor: pointer;
|
|
font-size: 13px;
|
|
font-weight: 500;
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 6px;
|
|
transition: all 0.2s;
|
|
}
|
|
|
|
.btn-browse {
|
|
background: var(--color-accent, #0e639c);
|
|
color: white;
|
|
}
|
|
|
|
.btn-browse:hover {
|
|
background: var(--color-accent-hover, #0d5a8c);
|
|
}
|
|
|
|
.btn-suggest {
|
|
background: rgba(14, 99, 156, 0.15);
|
|
color: var(--color-accent, #0e639c);
|
|
border: 1px solid rgba(14, 99, 156, 0.3);
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.btn-suggest:hover {
|
|
background: rgba(14, 99, 156, 0.25);
|
|
}
|
|
|
|
.update-dialog-actions {
|
|
display: flex;
|
|
gap: 8px;
|
|
justify-content: flex-end;
|
|
margin-top: 8px;
|
|
}
|
|
|
|
.btn-back {
|
|
background: var(--color-bg-secondary, #252525);
|
|
color: var(--color-text-primary, #fff);
|
|
border: 1px solid var(--color-border, #333);
|
|
}
|
|
|
|
.btn-back:hover {
|
|
background: var(--color-bg-hover, rgba(255, 255, 255, 0.1));
|
|
}
|
|
|
|
.btn-primary {
|
|
background: var(--color-accent, #0e639c);
|
|
color: white;
|
|
}
|
|
|
|
.btn-primary:hover:not(:disabled) {
|
|
background: var(--color-accent-hover, #0d5a8c);
|
|
}
|
|
|
|
.btn-primary:disabled {
|
|
opacity: 0.5;
|
|
cursor: not-allowed;
|
|
}
|
|
|
|
.progress-container {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 8px;
|
|
}
|
|
|
|
.progress-bar {
|
|
width: 100%;
|
|
height: 8px;
|
|
background: var(--color-bg-secondary, #252525);
|
|
border-radius: 4px;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.progress-fill {
|
|
height: 100%;
|
|
background: var(--color-accent, #0e639c);
|
|
transition: width 0.3s ease;
|
|
}
|
|
|
|
.progress-message {
|
|
margin: 0;
|
|
font-size: 13px;
|
|
color: var(--color-text-secondary, #888);
|
|
}
|
|
|
|
.build-log {
|
|
margin-top: 12px;
|
|
padding: 12px;
|
|
background: var(--color-bg-secondary, #252525);
|
|
border: 1px solid var(--color-border, #333);
|
|
border-radius: 4px;
|
|
max-height: 300px;
|
|
overflow-y: auto;
|
|
font-family: 'Courier New', monospace;
|
|
font-size: 12px;
|
|
}
|
|
|
|
.log-line {
|
|
margin-bottom: 4px;
|
|
color: var(--color-text-secondary, #888);
|
|
}
|
|
|
|
.success-step,
|
|
.error-step {
|
|
align-items: center;
|
|
text-align: center;
|
|
padding: 20px;
|
|
}
|
|
|
|
.success-icon {
|
|
color: var(--color-success, #52c41a);
|
|
}
|
|
|
|
.error-icon {
|
|
color: var(--color-error, #ff4d4f);
|
|
}
|
|
|
|
.success-message,
|
|
.error-message {
|
|
margin: 16px 0;
|
|
color: var(--color-text-secondary, #888);
|
|
}
|
|
|
|
.btn-view-pr,
|
|
.btn-close {
|
|
background: var(--color-accent, #0e639c);
|
|
color: white;
|
|
margin-top: 8px;
|
|
}
|
|
|
|
.btn-view-pr:hover,
|
|
.btn-close:hover {
|
|
background: var(--color-accent-hover, #0d5a8c);
|
|
}
|