<script setup lang="ts">import PageLayout from '../../layouts/PageLayout.vue'; import DashboardLayout from '../../layouts/DashboardLayout.vue'; import StandardScreenBoundary from './StandardScreenBoundary.vue'; import type { StandardScreenProps } from '../../contracts/screenContract'; const props=defineProps<StandardScreenProps>(); defineEmits<{retry:[]}>()</script>
<template><PageLayout :title="props.title" :subtitle="props.subtitle" :status="props.state" :as-of="props.evidence?.asOf" :version="props.evidence?.version"><template #actions><slot name="actions"/></template><template #filters><slot name="filters"/></template><StandardScreenBoundary :state="props.state" :warning="props.warning" @retry="$emit('retry')"><DashboardLayout><template #kpis><slot name="kpis"/></template><template #primary><slot name="primary"/></template><template #secondary><slot name="secondary"/></template><template #alerts><slot name="alerts"/></template></DashboardLayout></StandardScreenBoundary><template v-if="$slots.metricDefinitions" #aside><slot name="metricDefinitions"/></template></PageLayout></template>
