ytptube/ui/app/components/Connection.vue
2026-02-20 22:46:30 +03:00

26 lines
857 B
Vue

<template>
<div class="message is-warning" v-if="status !== 'connected'">
<div class="message-body">
<span class="icon"
><i
class="fas"
:class="{
'fa-info-circle': status === 'disconnected',
'fa-spinner fa-pulse': status === 'connecting',
}"
/></span>
<span v-if="status === 'disconnected'">
Websocket connection lost,
<NuxtLink class="is-bold" @click.prevent="() => $emit('reconnect')">Click here </NuxtLink>
to reconnect.
</span>
<span v-else-if="status === 'connecting'"> Connecting to websocket server... </span>
</div>
</div>
</template>
<script setup lang="ts">
import type { connectionStatus } from '~/stores/SocketStore';
defineProps<{ status: connectionStatus }>();
defineEmits<{ (e: 'reconnect'): void }>();
</script>