[webapp] HomeView more responsive

* change <div v-for> into <template v-for> to avoid empty divs for
  nonexisting channels

* cleanup bootstrap grid / flex classes
This commit is contained in:
Axel Hinrichs 2022-07-05 00:41:23 +02:00
parent c155bf3d01
commit 88d29a9b43
2 changed files with 40 additions and 37 deletions

View File

@ -5,8 +5,9 @@
</div>
<template v-if="waitForData == true">Waiting for data... </template>
<template v-else>
<div class="d-flex align-items-start">
<div class="nav flex-column nav-pills me-3" id="v-pills-tab" role="tablist"
<div class="row gy-3">
<div class="col-sm-3 col-md-2">
<div class="nav nav-pills row-cols-sm-1" id="v-pills-tab" role="tablist"
aria-orientation="vertical">
<button v-for="inverter in inverterData" :key="inverter.serial" class="nav-link"
:id="'v-pills-' + inverter.serial + '-tab'" data-bs-toggle="pill"
@ -15,8 +16,9 @@
{{ inverter.name }}
</button>
</div>
</div>
<div class="tab-content" id="v-pills-tabContent">
<div class="tab-content col-sm-9 col-md-10" id="v-pills-tabContent">
<div v-for="inverter in inverterData" :key="inverter.serial" class="tab-pane fade show"
:id="'v-pills-' + inverter.serial" role="tabpanel"
:aria-labelledby="'v-pills-' + inverter.serial + '-tab'" tabindex="0">
@ -30,11 +32,14 @@
{{ inverter.data_age }} seconds)
</div>
<div class="card-body">
<div class="row row-cols-1 row-cols-md-3 g-4">
<div v-for="channel in 5" :key="channel">
<InverterChannelInfo v-if="inverter[channel - 1]"
:channelData="inverter[channel - 1]" :channelNumber="channel - 1" />
<div class="row g-3">
<template v-for="channel in 5" :key="channel">
<div v-if="inverter[channel - 1]" class="col">
<InverterChannelInfo
:channelData="inverter[channel - 1]"
:channelNumber="channel - 1" />
</div>
</template>
</div>
</div>
</div>

View File

@ -1,5 +1,4 @@
<template>
<div class="col">
<div class="card">
<div v-if="channelNumber >= 1" class="card-header">String {{ channelNumber }}</div>
<div v-if="channelNumber == 0" class="card-header">Phase {{ channelNumber + 1 }}</div>
@ -22,7 +21,6 @@
</table>
</div>
</div>
</div>
</template>
<script lang="ts">