<script setup lang="ts">
import NetworkPanel from '@/components/NetworkPanel.vue'
import { useMonitoringData } from '@/composables/useMonitoringData'

const { network, errorMessage, headerStatus } = useMonitoringData()
</script>

<template>
  <div class="page-shell">
    <header class="page-header">
      <div>
        <p class="eyebrow">Network</p>
        <h1>网络状态页面</h1>
      </div>
      <p class="description">
        当前先展示模拟网络遥测数据，后续只需要把后端采集函数替换成真实 C 输出，就能保留同样的渲染界面。
      </p>
    </header>

    <section class="banner" :class="{ error: !!errorMessage }">
      {{ headerStatus }}
    </section>

    <NetworkPanel :network="network" />
  </div>
</template>

<style scoped>
.page-shell {
  display: grid;
  gap: 22px;
}

.page-header {
  display: grid;
  gap: 10px;
}

.eyebrow {
  margin: 0;
  color: #4dd4ac;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 12px;
  font-weight: 700;
}

h1 {
  margin: 0;
  font-size: clamp(28px, 4vw, 48px);
}

.description,
.banner {
  margin: 0;
  color: #d5dbee;
  line-height: 1.75;
}

.banner {
  padding: 14px 16px;
  border-radius: 18px;
  background: rgba(11, 19, 35, 0.84);
  border: 1px solid rgba(133, 147, 169, 0.2);
}

.banner.error {
  color: #ffd0d0;
  border-color: rgba(255, 107, 107, 0.28);
}
</style>

