mirror of
https://github.com/amir20/dozzle.git
synced 2025-12-21 21:33:18 +01:00
* WIP vue3 * WIP vue3 * WIP vue3 * Migrates to vitejs * Fixes js tests and removes not needed modules * Fixes unmount * Updates to use css instead for space * Fixes tests and rebases one more time * Uses orgua * Fixes migrations bugs with oruga and fixes scroll * Fixes v-deep * Fixes icons to prod * Fixes icons to prod * Adds favicon back * Transitions some to composition api * Updates another component to comp api * Cleans defineProps * Updates log messages * Moves more to compose api * Cleans up styles and rewrites event source * Tries to fix DOMPurify * Removes postcss * WIP typescript * Improves importing * Converts all to ts * Converts main to ts * Makes changes for tsconfig * Moves more to ts * Adds typing to store * More typing * Updates to ts * Updates the rest to ts * Fixes computes * Fixes unmount * Adds cypress with custom base fixed * Fixes jest tests * Fixes golang tests * Adds gitignore for cypress * Removes int in favor of e2e with cypress * Tries to fix int tests again * Adds title * Updates e2e tests * Uses vue for isMobile * Removes app spec * Cleans up docker * Adds drop down for settings * Fixes bug with restart * Fixes scroll up bug * Adds tests for light mode
42 lines
1.1 KiB
Vue
42 lines
1.1 KiB
Vue
<template>
|
|
<div class="is-size-7 is-uppercase columns is-marginless is-mobile">
|
|
<div class="column is-narrow has-text-weight-bold">
|
|
{{ state }}
|
|
</div>
|
|
<div class="column is-narrow" v-if="stat.memoryUsage !== null">
|
|
<span class="has-text-weight-light has-spacer">mem</span>
|
|
<span class="has-text-weight-bold">
|
|
{{ formatBytes(stat.memoryUsage) }}
|
|
</span>
|
|
</div>
|
|
|
|
<div class="column is-narrow" v-if="stat.cpu !== null">
|
|
<span class="has-text-weight-light has-spacer">load</span>
|
|
<span class="has-text-weight-bold"> {{ stat.cpu }}% </span>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
|
|
<script lang="ts" setup>
|
|
defineProps({
|
|
stat: Object,
|
|
state: String,
|
|
});
|
|
function formatBytes(bytes: number, decimals = 2) {
|
|
if (bytes === 0) return "0 Bytes";
|
|
const k = 1024;
|
|
const dm = decimals < 0 ? 0 : decimals;
|
|
const sizes = ["Bytes", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"];
|
|
const i = Math.floor(Math.log(bytes) / Math.log(k));
|
|
return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + " " + sizes[i];
|
|
}
|
|
</script>
|
|
|
|
<style lang="scss" scoped>
|
|
.has-spacer {
|
|
&::after {
|
|
content: " ";
|
|
}
|
|
}
|
|
</style>
|