diff --git a/src/componets/FileChooser.tsx b/src/componets/FileChooser.tsx index b2fa6a6..9bb1106 100644 --- a/src/componets/FileChooser.tsx +++ b/src/componets/FileChooser.tsx @@ -60,7 +60,7 @@ export function FileChooser({ onSelected, config }: FileChooserProps) { URL.revokeObjectURL(url); } - const hasConfig = !!config; + const hasConfig = !!config && !config.isEmpty(); return (
diff --git a/src/models/Config.tsx b/src/models/Config.tsx index 1b8ba3a..e17991d 100644 --- a/src/models/Config.tsx +++ b/src/models/Config.tsx @@ -171,4 +171,22 @@ export class Config { cloned.template = this.template; return cloned; } + + /** + * Checks if config is empty (no environments or only DEFAULT with no params and empty template) + */ + public isEmpty(): boolean { + if (this.envs.length === 0) { + return true; + } + + // Check if only DEFAULT exists with no params + if (this.envs.length === 1 && this.envs[0].name === 'DEFAULT') { + const hasParams = this.envs[0].params.length > 0; + const hasTemplate = this.template.content.trim() && this.template.content !== '{}'; + return !hasParams && !hasTemplate; + } + + return false; + } } diff --git a/test-results/.last-run.json b/test-results/.last-run.json index cbcc1fb..9d69b49 100644 --- a/test-results/.last-run.json +++ b/test-results/.last-run.json @@ -1,4 +1,13 @@ { - "status": "passed", - "failedTests": [] + "status": "failed", + "failedTests": [ + "2a84b67ca6571daf27b7-7e9801b0b833c50af541", + "2a84b67ca6571daf27b7-17ce5649ea02e0d09692", + "2a84b67ca6571daf27b7-46f1d47e52a9de8bb54e", + "2a84b67ca6571daf27b7-5ac3b387f0f8104531f1", + "2a84b67ca6571daf27b7-61b44892e9e54397b980", + "2a84b67ca6571daf27b7-e38411b679b6dd8a5f2c", + "2a84b67ca6571daf27b7-ca92b197b6f7ecc9f092", + "2a84b67ca6571daf27b7-0c2a356d8582be760d5f" + ] } \ No newline at end of file