import { Component, inject, OnInit } from '@angular/core'; import { CommonModule } from '@angular/common'; import { FormsModule } from '@angular/forms'; import { ApiService, Environment } from '../../services/api.service'; @Component({ selector: 'app-environment', standalone: true, imports: [CommonModule, FormsModule], template: `

Environment Configuration

Required for HF Cloud and Cloud modes
@if (message) {
{{ message }}
}
`, styles: [` .environment-container { h2 { margin-bottom: 1.5rem; } } .input-with-button { display: flex; gap: 0.5rem; input { flex: 1; } } .form-actions { display: flex; gap: 0.5rem; margin-top: 1.5rem; } .text-muted { color: #6c757d; font-size: 0.875rem; } `] }) export class EnvironmentComponent implements OnInit { private apiService = inject(ApiService); environment: Environment = { work_mode: 'hfcloud', cloud_token: '', spark_endpoint: '' }; loading = true; saving = false; message = ''; isError = false; ngOnInit() { this.loadEnvironment(); } loadEnvironment() { this.loading = true; this.apiService.getEnvironment().subscribe({ next: (env) => { this.environment = env; this.loading = false; }, error: (err) => { this.showMessage('Failed to load environment configuration', true); this.loading = false; } }); } onWorkModeChange() { if (this.environment.work_mode === 'on-premise') { this.environment.cloud_token = ''; } } save() { this.saving = true; this.message = ''; this.apiService.updateEnvironment(this.environment).subscribe({ next: () => { this.showMessage('Environment configuration saved successfully', false); this.saving = false; }, error: (err) => { this.showMessage(err.error?.detail || 'Failed to save configuration', true); this.saving = false; } }); } testConnection() { // TODO: Implement connection test this.showMessage('Testing connection to Spark endpoint...', false); setTimeout(() => { this.showMessage('Connection successful!', false); }, 1000); } reloadFromSpark() { // TODO: Implement reload from Spark this.showMessage('Reloading configuration from Spark...', false); setTimeout(() => { this.loadEnvironment(); this.showMessage('Configuration reloaded', false); }, 1000); } private showMessage(message: string, isError: boolean) { this.message = message; this.isError = isError; if (!isError) { setTimeout(() => { this.message = ''; }, 5000); } } }