mirror of
https://github.com/langbot-app/LangBot.git
synced 2026-07-15 00:46:07 +00:00
f592656680
- Add PanelToolbar/PanelBody primitives so all four settings tabs share the same top-toolbar + scrollable-body rhythm under the unified header. - API panel: drop the heavy gray shadowed TabsList; move the create action into the toolbar next to the tabs, lighten per-tab hints. - Storage panel: reuse PanelToolbar for the generated-at/refresh bar. - Account panel: wrap content in PanelBody for consistent padding. - Models panel: keep the pinned LangBot Models (Space) card at the very top, above the add-custom-provider row (intentional pin), using PanelBody instead of a top toolbar.
53 lines
1.3 KiB
TypeScript
53 lines
1.3 KiB
TypeScript
import { PluginComponent } from '@/app/infra/entities/plugin';
|
|
|
|
export interface IPluginCardVO {
|
|
author: string;
|
|
label: string;
|
|
name: string;
|
|
description: string;
|
|
version: string;
|
|
enabled: boolean;
|
|
priority: number;
|
|
install_source: string;
|
|
install_info: Record<string, any>;
|
|
status: string;
|
|
components: PluginComponent[];
|
|
debug: boolean;
|
|
hasUpdate?: boolean;
|
|
type?: 'plugin' | 'mcp' | 'skill';
|
|
}
|
|
|
|
export class PluginCardVO implements IPluginCardVO {
|
|
author: string;
|
|
label: string;
|
|
name: string;
|
|
description: string;
|
|
version: string;
|
|
enabled: boolean;
|
|
priority: number;
|
|
debug: boolean;
|
|
install_source: string;
|
|
install_info: Record<string, any>;
|
|
status: string;
|
|
components: PluginComponent[];
|
|
hasUpdate?: boolean;
|
|
type?: 'plugin' | 'mcp' | 'skill';
|
|
|
|
constructor(prop: IPluginCardVO) {
|
|
this.author = prop.author;
|
|
this.label = prop.label;
|
|
this.description = prop.description;
|
|
this.enabled = prop.enabled;
|
|
this.components = prop.components;
|
|
this.name = prop.name;
|
|
this.priority = prop.priority;
|
|
this.status = prop.status;
|
|
this.version = prop.version;
|
|
this.debug = prop.debug;
|
|
this.install_source = prop.install_source;
|
|
this.install_info = prop.install_info;
|
|
this.hasUpdate = prop.hasUpdate;
|
|
this.type = prop.type;
|
|
}
|
|
}
|