Files
api/web/components/UserProfile/ServerStatus.vue
Eli Bosley 88087d5201 feat: mount vue apps, not web components (#1639)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Standalone web bundle with auto-mount utilities and a self-contained
test page.
* New responsive modal components for consistent mobile/desktop dialogs.
  * Header actions to copy OS/API versions.

* **Improvements**
* Refreshed UI styles (muted borders), accessibility and animation
refinements.
  * Theming updates and Tailwind v4–aligned, component-scoped styles.
  * Runtime GraphQL endpoint override and CSRF header support.

* **Bug Fixes**
* Safer network fetching and improved manifest/asset loading with
duplicate protection.

* **Tests/Chores**
* Parallel plugin tests, new extractor test suite, and updated
build/test scripts.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-09-03 15:42:21 -04:00

24 lines
664 B
Vue

<script setup lang="ts">
import { cn, type ClassValue } from '@unraid/ui';
import UpcUptimeExpire from './UptimeExpire.vue';
import UpcServerState from './ServerState.vue';
</script>
<template>
<div
:class="
cn(
'text-header-text-secondary font-semibold leading-tight',
'flex flex-col items-end gap-y-0.5 justify-end',
'xs:flex-row xs:items-baseline xs:gap-x-2 xs:gap-y-0',
'text-xs',
$attrs.class as ClassValue
)
"
>
<UpcUptimeExpire :as="'span'" :short-text="true" class="text-xs" />
<span class="hidden xs:inline">&bull;</span>
<UpcServerState class="text-xs" />
</div>
</template>