feat(env): add global production context and safety indicators

This commit is contained in:
2026-02-25 20:46:00 +03:00
parent 804e9c7e47
commit b5b87b6b63
11 changed files with 320 additions and 62 deletions

View File

@@ -12,6 +12,11 @@
import type { DashboardMetadata } from '../../types/dashboard';
import { t } from '$lib/i18n';
import { Button, Card, PageHeader, Select } from '$lib/ui';
import {
environmentContextStore,
initializeEnvironmentContext,
setSelectedEnvironment,
} from '$lib/stores/environmentContext.js';
let environments: any[] = [];
let selectedEnvId = "";
@@ -25,10 +30,9 @@
// @POST: `environments` array is populated with data from /api/environments.
async function fetchEnvironments() {
try {
environments = await api.getEnvironmentsList();
if (environments.length > 0) {
selectedEnvId = environments[0].id;
}
await initializeEnvironmentContext();
environments = $environmentContextStore?.environments || [];
selectedEnvId = $environmentContextStore?.selectedEnvId || "";
} catch (e) {
toast(e.message, 'error');
} finally {
@@ -57,9 +61,17 @@
onMount(fetchEnvironments);
$: environments = $environmentContextStore?.environments || [];
$: if (
$environmentContextStore?.selectedEnvId &&
selectedEnvId !== $environmentContextStore.selectedEnvId
) {
selectedEnvId = $environmentContextStore.selectedEnvId;
}
$: if (selectedEnvId) {
fetchDashboards(selectedEnvId);
localStorage.setItem('selected_env_id', selectedEnvId);
setSelectedEnvironment(selectedEnvId);
}
</script>