65 lines
1.3 KiB
TypeScript
65 lines
1.3 KiB
TypeScript
/**
|
||
* 模型选择器组件
|
||
*/
|
||
|
||
/**
|
||
* 获取模型选择器的 HTML 内容
|
||
*/
|
||
export function getModelSelectorContent(
|
||
autoIcon: string = "",
|
||
liteIcon: string = "",
|
||
syIcon: string = "",
|
||
maxIcon: string = "",
|
||
): string {
|
||
return `
|
||
<!-- 模型选择 -->
|
||
<div class="tooltip">
|
||
<div class="model-display">
|
||
<img src="${maxIcon || ""}" class="model-icon" alt="Max" style="display: ${maxIcon ? "block" : "none"};">
|
||
<span class="model-label">Max</span>
|
||
</div>
|
||
<span class="tooltiptext">IC Coder自研FPGA专属微调模型</span>
|
||
</div>
|
||
`;
|
||
}
|
||
|
||
/**
|
||
* 获取模型选择器的样式
|
||
*/
|
||
export function getModelSelectorStyles(): string {
|
||
return `
|
||
.model-display {
|
||
display: flex;
|
||
align-items: center;
|
||
gap: 6px;
|
||
padding: 4px 8px;
|
||
background: var(--vscode-input-background);
|
||
color: var(--vscode-foreground);
|
||
border-radius: 4px;
|
||
font-size: 12px;
|
||
cursor: default;
|
||
}
|
||
.model-icon {
|
||
width: 16px;
|
||
height: 16px;
|
||
flex-shrink: 0;
|
||
object-fit: contain;
|
||
}
|
||
.model-label {
|
||
white-space: nowrap;
|
||
}
|
||
`;
|
||
}
|
||
|
||
/**
|
||
* 获取模型选择器的脚本
|
||
*/
|
||
export function getModelSelectorScript(): string {
|
||
return `
|
||
// 获取当前选中的模型(固定为 max)
|
||
function getCurrentModel() {
|
||
return 'max';
|
||
}
|
||
`;
|
||
}
|