mirror of
https://github.com/johndoe6345789/metabuilder.git
synced 2026-04-24 22:04:56 +00:00
SuperGodPanel (604→~200): CTenantTab, CGodUsersTab, CTransferTab, CSystemTab, CSuperGodDialogs WorkflowEditor (443→325): WorkflowMutations.js + WorkflowDBAL.js pure modules ThemeLivePreview (256→87): ThemePreviewCard, ThemePreviewForm CNodePropertiesPanel (238→143): CNodeParameterList, CNodePortsDisplay MediaTvTab, WorkflowNode, CssPropertyEditor split to ~100 each + mid-size view trims (MediaService, Admin, PackageMgr, Storybook, GodPanel) 113→120+ components, avg component LOC approaching 90. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
68 lines
1.9 KiB
QML
68 lines
1.9 KiB
QML
import QtQuick
|
|
import QtQuick.Controls
|
|
import QtQuick.Layouts
|
|
import QmlComponents 1.0
|
|
|
|
ColumnLayout {
|
|
id: outputConsole
|
|
Layout.fillWidth: true
|
|
Layout.fillHeight: true
|
|
spacing: 8
|
|
|
|
property string testOutput: ""
|
|
property string securityScanResult: ""
|
|
|
|
signal clearOutput()
|
|
|
|
FlexRow {
|
|
Layout.fillWidth: true
|
|
CText { variant: "h4"; text: "Output" }
|
|
Item { Layout.fillWidth: true }
|
|
CButton {
|
|
text: "Clear"
|
|
variant: "ghost"
|
|
onClicked: outputConsole.clearOutput()
|
|
}
|
|
}
|
|
|
|
Rectangle {
|
|
Layout.fillWidth: true
|
|
Layout.fillHeight: true
|
|
color: "#1e1e2e"
|
|
radius: 4
|
|
border.color: "#313244"
|
|
border.width: 1
|
|
|
|
ScrollView {
|
|
anchors.fill: parent
|
|
anchors.margins: 8
|
|
clip: true
|
|
|
|
TextArea {
|
|
readOnly: true
|
|
text: {
|
|
var output = "";
|
|
if (testOutput) output += testOutput;
|
|
if (securityScanResult) {
|
|
if (output) output += "\n\n";
|
|
output += "--- Security Scan ---\n" + securityScanResult;
|
|
}
|
|
if (!output) output = "No output yet. Run a test or security scan.";
|
|
return output;
|
|
}
|
|
font.family: "Consolas, 'Courier New', monospace"
|
|
font.pixelSize: 12
|
|
color: {
|
|
if (securityScanResult && securityScanResult.indexOf("WARN") !== -1)
|
|
return "#f9e2af";
|
|
if (testOutput && testOutput.indexOf("SUCCESS") !== -1)
|
|
return "#a6e3a1";
|
|
return "#a6adc8";
|
|
}
|
|
wrapMode: TextEdit.Wrap
|
|
background: Rectangle { color: "transparent" }
|
|
}
|
|
}
|
|
}
|
|
}
|