<template> <h3>Basic infos</h3> <div v-if="zipFile" v-bind="$attrs" > <ul class="align"> <li><strong> File name </strong> {{ zipFile.name }}</li> <li><strong> File size </strong> {{ zipFile.size }} Bytes</li> <li> <strong> File last modified date </strong> {{ zipFile.lastModifiedDate }} </li> </ul> </div> <div v-if="payload && payload.metadata" v-bind="$attrs" > <ul class="align"> <li v-for="formatter in MetadataFormat" :key="formatter.name" > <strong> {{ formatter.name }} </strong> <p class="wrap"> {{ String(payload[formatter.key]) }} </p> </li> </ul> </div> <div v-if="payload && payload.manifest"> <ul class="align"> <li> <strong> Incremental </strong> <!-- Check if the first partition is incremental or not --> <span v-if="payload.preBuild"> ✅ </span> <span v-else> ❌ </span> </li> <li> <strong> Partial </strong> <span v-if="payload.manifest.partialUpdate"> ✅ </span> <span v-else> ❌ </span> </li> <li> <strong> A/B update </strong> <span v-if="!payload.manifest.nonAB"> ✅ </span> <span v-else> ❌ </span> </li> <li> <strong> VAB </strong> <span v-if="payload.manifest.dynamicPartitionMetadata.snapshotEnabled"> ✅ </span> <span v-else> ❌ </span> </li> <li> <strong> VABC </strong> <span v-if="payload.manifest.dynamicPartitionMetadata.vabcEnabled"> ✅ </span> <span v-else> ❌ </span> </li> </ul> </div> </template> <script> import { Payload, MetadataFormat } from '@/services/payload.js' export default { props: { zipFile: { type: File, required: true, }, payload: { type: Payload, required: true, }, }, data() { return { MetadataFormat } } } </script> <style scoped> .align strong { display: inline-block; width: 50%; position: relative; padding-right: 10px; /* Ensures colon does not overlay the text */ text-align: right; } .align strong::after { content: ':'; } li { list-style-type: none; } .wrap { width: 50%; display: inline-block; white-space: pre-wrap; word-wrap: break-word; font-family: inherit; } </style>